小编mst*_*rap的帖子

Mercurial:如何从中断的"qpop -a"中恢复?

我已经在队列中导入了几个修订版并试图将它们全部弹出.不幸的是,根据访问同一存储库的其他一些Mercurial客户端,hg qpop -a未成功完成:

> hg qpop -a
popping 115.diff
popping 114.diff
popping 113.diff
popping 112.diff
popping 111.diff
abort: The process cannot access the file because it is being used by
another process
C:\Program Files (x86)\Mercurial\library.zip\mercurial\dispatch.py:217:
DeprecationWarning: use lock.release instead of del lock
Run Code Online (Sandbox Code Playgroud)

现在我再也无法推回补丁了.Mercurial总是抱怨"未知节点":

> hg qpush -a
mq status file refers to unknown node b6fb614866f1
abort: working directory revision is not qtip
Run Code Online (Sandbox Code Playgroud)

这意味着什么以及如何解决这个问题?

mercurial mercurial-queue

12
推荐指数
1
解决办法
3423
查看次数

如何在SmartGit/Git中撤消提交操作

想在智能git中撤消提交操作.无意中提交了错误的代码,现在无法恢复该代码.

提前致谢.

git smartgit

11
推荐指数
1
解决办法
9814
查看次数

Java:如何确定文件所在的驱动器类型?

Java是否存在与平台无关的方式来检测文件所在的驱动器类型?基本上我有兴趣区分:硬盘,可移动驱动器(如USB棒)和网络共享.JNI/JNA解决方案没有帮助.可以假设Java 7.

java drive

10
推荐指数
2
解决办法
9056
查看次数

Java,Linux:如何检测两个java.io.Files是否引用相同的物理文件

我正在寻找一种有效的方法来检测两个是否java.io.File引用相同的物理文件.根据文档,File.equals() 应该做的工作:

测试此抽象路径名与给定对象的相等性.当且仅当参数不为null并且是表示与此抽象路径名相同的文件或目录的抽象路径名时,返回true.

但是,给定一个安装在/ media/truecrypt1的FAT32分区(实际上是TrueCrypt容器):

new File("/media/truecrypt1/File").equals(new File("/media/truecrypt1/file")) == false
Run Code Online (Sandbox Code Playgroud)

你会说这符合规范吗?在这种情况下,如何解决这个问题?

更新:感谢评论者,对于Java 7,我发现java.io.Files.isSameFile()哪些对我有用.

java unix file equals

9
推荐指数
1
解决办法
8086
查看次数

Mercurial:改变阶段的后果是什么?

在Mercurial中,修订阶段可以任意改变.所有可能的过渡(公共,草案,秘密)x(公共,草案,秘密)的阶段变化会产生什么后果?哪些相变是安全的?哪个可能会引起麻烦和哪种麻烦?哪些是或多或少的无操作?

mercurial phase

9
推荐指数
2
解决办法
3057
查看次数

Java:如何执行未附加到Windows控制台的进程?

两者的Runtime.exec()以及的ProcessBuilder似乎控制台连接到启动的进程.在Windows 7上,可以看到任务管理器中弹出conhost.exe.我的问题是,我正在尝试启动的C进程执行以下测试以确定它是否具有可以发出提示的控制台窗口:

HANDLE cons = CreateFile("CONOUT$", GENERIC_WRITE,
            FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
            FILE_ATTRIBUTE_NORMAL, NULL);

if (cons != INVALID_HANDLE_VALUE) {
   // Prompt user; this makes my application hang
}
Run Code Online (Sandbox Code Playgroud)

是否有可能使用Java以上层测试失败的方式启动C进程以避免提示?

java console process

8
推荐指数
1
解决办法
1447
查看次数

是否有一个与svn:bugtraq属性相对应的Git?

我正在寻找关于Git客户端应如何与错误跟踪系统集成的规范或指南.对于SVN,有bugtraq:-properties.Git有类似的东西吗?

git bug-tracking issue-tracking

7
推荐指数
1
解决办法
1326
查看次数

Java:如何仍然发生不可能的NullPointerException?

我刚收到以下关于我们软件的错误报告:

java.lang.NullPointerException
    at java.util.Arrays.equals(Unknown Source)
    at our.app.OurMain(OurMain.java:13)
Run Code Online (Sandbox Code Playgroud)

这种情况发生在Windows上的JRE 1.7.0_45上,其相应的源代码Arrays.equals是:

public static boolean equals(byte[] a, byte[] a2) {
    if (a==a2)
        return true;
    if (a==null || a2==null)
        return false;

    int length = a.length;
    if (a2.length != length)
        return false;

    for (int i=0; i<length; i++)
        if (a[i] != a2[i])
            return false;

    return true;
}
Run Code Online (Sandbox Code Playgroud)

调用代码是:

final byte[] b1 = ... // populate array
final byte[] b2 = ... // populate array
final boolean equal = Arrays.equals(b1, b2);
Run Code Online (Sandbox Code Playgroud)

显然没有办法NullPointerException在这里成长.它怎么还能发生?错误报告可以被认为是值得信赖的.

java nullpointerexception

7
推荐指数
1
解决办法
528
查看次数

Git:如何接受子模块冲突的“他们的”版本?

如果发生子模块冲突(即,当合并的两个提交包含所引用提交的不同更改)时,如何轻松地将子模块设置为“其”提交?如果是文件,我将执行:

git checkout --theirs <file>
Run Code Online (Sandbox Code Playgroud)

但是,这不适用于子模块。在一个更为技术的层面,我有什么是包含索引submodule的阶段123

$ git ls-files -s module
160000 89b085c4269259fa22632353071e6875f158afde 1       submodule
160000 b9ad3bc8aafdf52a2adf74620afae8934474b82d 2       submodule
160000 1afd42893d18ef5edeeadd67e7c65262505e6004 3       submodule
Run Code Online (Sandbox Code Playgroud)

我想要的是在阶段0获得“他们的”版本:

$ git ls-files -s module
160000 1afd42893d18ef5edeeadd67e7c65262505e6004 0       submodule
Run Code Online (Sandbox Code Playgroud)

更新:删除了有关参考http://fiji.sc/wiki/index.php/Git_submodule_tutorial的错误断言。

更新2:添加了与索引相关的示例。

git conflict git-submodules

6
推荐指数
1
解决办法
2217
查看次数

如何解决 JDK 17 中 Field.setAccessible 的 InaccessibleObjectException?

在 JDK 17 中,不可能再使用反射来访问字段,至少对于java.lang类来说是这样。以下片段:

final Process process = new ProcessBuilder().directory(new File("d:/temp")).command("cmd.exe").start();
final Field handleField = process.getClass().getDeclaredField("handle");
handleField.setAccessible(true);
Run Code Online (Sandbox Code Playgroud)

失败并显示:

Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make field private final long java.lang.ProcessImpl.handle accessible: module java.base does not "opens java.lang" to unnamed module @254989ff
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
    at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
    at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
Run Code Online (Sandbox Code Playgroud)

有办法解决这个问题吗?

java reflection

6
推荐指数
1
解决办法
2万
查看次数