我正在尝试使用一系列单元测试进行预提交钩子,我想确保我的工作目录是干净的.编译需要很长时间,所以我希望尽可能利用重用编译的二进制文件.我的脚本遵循我在网上看到的例子:
# Stash changes
git stash -q --keep-index
# Run tests
...
# Restore changes
git stash pop -q
Run Code Online (Sandbox Code Playgroud)
这会导致问题.这是repro:
// Step 1到a.javagit add .// Step 2到a.javagit commit
git stash -q --keep-index #存储更改git stash pop -q #恢复更改此时我遇到了问题.该git stash pop -q显然有冲突,a.java我有
// Step 1
<<<<<<< Updated upstream
=======
// Step 2
>>>>>>> Stashed changes
Run Code Online (Sandbox Code Playgroud)
有没有办法让这个流畅干净?
所以整个Java Date/Calendar/GregorianCalendar事情显然是一个笑话.什么是正确的日期类使用?
编辑:为Android上的第三方构建SDK,应用程序需要提供日期
更多编辑:使这个显然是一个笑话的事情:
我有一类附加属性:
public static class XamlProps
{
#region Attached Properties
private static readonly DependencyProperty FooProperty = DependencyProperty.RegisterAttached(
"Foo",
typeof(string),
typeof(XamlProps),
null);
public static void SetFoo(DependencyObject obj, string action)
{
obj.SetValue(FooProperty, action);
}
}
Run Code Online (Sandbox Code Playgroud)
我在我的XAML中使用这些属性:
<Border me:XamlProps.Foo="Foo to the Bar">
Run Code Online (Sandbox Code Playgroud)
但是现在我想在这个属性中有一个更大的值,所以我想把它用作一个元素:
<Border>
<me:XamlProps.Foo>Foo to the Bar</me:XamlProps.Foo>
</Border>
Run Code Online (Sandbox Code Playgroud)
但是现在Silverlight不再调用SetFoo()了.我如何让它工作?
在Windows Phone 7上,如果重要的话.
我正在尝试编写一个能够读取设备上所有日志的应用程序.我有一个客户端/服务架构,我看到来自客户端和服务进程的日志消息,但我没有看到来自手机上任何其他应用程序的任何消息(我确实看到使用桌面logcat的其他消息).
我需要root吗?
<uses-permission android:name="android.permission.READ_LOGS" />
Run Code Online (Sandbox Code Playgroud)
Runtime.getRuntime().exec("logcat -c").waitFor();
Process process = Runtime.getRuntime().exec("logcat -v long *:*");
BufferedReader reader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
while (true) {
String nextLine = reader.readLine();
if (!nextLine.contains("LogWatcher-D")) {
Log.w("LogWatcher-D", "See: " + nextLine);
}
// Process line
}
Run Code Online (Sandbox Code Playgroud) 我们有一大堆自动生成的代码可以在subversion中保留.有时我正在研发一台发电机,而另一个同事正在研发另一台发电机.我们其中一人办理登机手续,另一人办理最新补 现在我们生成的代码存在冲突.因为它生成后它将在下一次运行生成器后正确,但是subversion已将其标记为冲突.到处走动,发现这些冲突,确认它们确实是由于生成的代码,然后手动"接受我的"以清除冲突,这有点痛苦.
有没有办法让subversion认识到对于给定文件夹中的所有文件我只想自动接受我的?我想远离专用批处理文件,因为大多数办公室使用Tortoise SVN,我正在寻找一个每个人都可以使用的解决方案.
我正在尝试通过布局构建Android UI.我从以下开始:
<TextView
android:id="@+id/..."
android:layout_marginTop="8dip"
android:text="..."
style="?android:attr/listSeparatorTextViewStyle"/>
Run Code Online (Sandbox Code Playgroud)
这看起来不错(所有大写字母,较小的字体,下面的分隔栏).现在我想扩展样式,所以我将其更改为以下内容:
<TextView
android:id="@+id/..."
android:layout_marginTop="8dip"
android:text="..."
style="@style/section_title"/>
Run Code Online (Sandbox Code Playgroud)
具有以下风格:
<style name="section_title" parent="@android:attr/listSeparatorTextViewStyle">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这不起作用(字体是正确的,但分隔线已经消失).
怎么样......那?
我正在尝试使用两个具有点对点WiFi连接的Android设备构建服务器 - 客户端架构.我在客户端和服务器之间有明确的区别,所以我试图删除不必要的代码.使用http://developer.android.com/training/connect-devices-wirelessly/nsd-wifi-direct.html上的说明我已经......
public class PeerToPeerService {
private static final Logger LOG = LoggerFactory.getLogger(PeerToPeerService.class);
private WifiP2pManager mManager;
private WifiP2pManager.Channel mChannel;
private final Context mContext;
private final WifiP2pDnsSdServiceInfo mService;
public PeerToPeerService(Context context, String name) {
mContext = context;
Map<String, String> record = new HashMap<String, String>();
record.put(Constants.SERVICE_PROPERTY_NAME, name);
record.put(Constants.SERVICE_PROPERTY_PORT, "12345");
mService = WifiP2pDnsSdServiceInfo.newInstance(
"_test", "_presence._tcp", record);
}
public void start() {
mManager = (WifiP2pManager) mContext.getSystemService(Context.WIFI_P2P_SERVICE);
mChannel = mManager.initialize(mContext, mContext.getMainLooper(), null);
mManager.addLocalService(mChannel, mService, new ActionListener() {
@Override
public void onSuccess() …Run Code Online (Sandbox Code Playgroud) 在subversion中是否有一种方法可以指定特定路径是不同路径的别名,并且能够在条件发生变化时更新该别名?我可以锁定路径以防止它们发生变化吗?
我正在开发一个存储库结构,我想要做的是有以下路径:
目标是保持主干移动以跟上大多数开发人员的工作地点.在我们发布几次并且1.2上线之后,结构将是:
我知道我可以在自己的机器上执行此操作,但在源代码控制中强制执行此操作会为每个人提供一组共同的措辞.
我们有一个运行的调度应用程序调用WCF服务来运行夜间作业.其中大量包括有关当前营业日期的信息.出于商业原因,调度服务器设置为GMT,但我们的服务在设置为纽约时间的服务器上运行.
这引起了一个问题; 日期将通过显式时区信息传递给我们的.NET服务.因此,当服务告诉应用程序以"2008-11-03 00:00:00 +0:00"的日期运行时,服务会将其解释为"2008-11-02 19:00:00 -5:00" "事情与错误的日期有关.
调度程序行为是第三方和硬编码的,因此我们无法告诉调度程序省略时区偏移.我们不希望总是将日期转换为GMT,因为我们的亚洲办事处很可能会调用相同的服务,我们将回到同样的问题.
有没有办法标记DataContract,甚至控制它在足够低的水平,以确保DateTime种类将是未指定的?或者是否有一种方法使用DateTime来确定用于创建它的原始信息是什么,并在后处理步骤中将其转换回原始值?
如果它有帮助,那么我们现在的合同相当简单.方法采用一个参数,该参数是从下面的类派生的类.
[DataContract]
public class BaseTimeSensitiveParameters
{
[DataMember] public DateTime? BusinessDate;
}
Run Code Online (Sandbox Code Playgroud) 我的应用程序中有一个内部存储层,用于处理Foo对象.在Get操作期间,数据层对群集获取具有显着的好处,但实际上我只有10%的时间会执行多次获取.以下是我考虑过的各种方法:
方法A:
interface FooStorage {
Foo getFoo(String name);
List<Foo> getFoos(List<String> names);
}
Run Code Online (Sandbox Code Playgroud)
方法B:
interface FooStorage {
List<Foo> getFoos(List<String> names);
}
class StorageUtility {
public static <T> T firstOrNull(List<T> data) { ... }
}
Run Code Online (Sandbox Code Playgroud)
方法C:
interface FooStorage {
List<Foo> getFoos(String... names);
}
class StorageUtility {
public static <T> T firstOrNull(List<T> data) { ... }
}
Run Code Online (Sandbox Code Playgroud)
方法A的缺点是需要支持更大的表面.
方法B的缺点是让消费者在90%的时间不需要时建立一个List.方法C的缺点是10%的时间将列表复制到数组的开销.
有没有规范的正确方法来做到这一点?