如何检查存储库是否存在?

Nit*_*esh 3 mercurial firefox-addon

我想在执行以下过程之前检查给定路径上是否存在存储库。

var exe = Components.classes['@mozilla.org/filelocal;1'].
                     createInstance(Components.interfaces.nsILocalFile);

exe.initWithPath("HG.EXE");

var process = Components.classes["@mozilla.org/process/util;1"].
              createInstance(Components.interfaces.nsIProcess);

Process.init(exe);

args = ["init", "D:\\testRepo\\"];
process.run(blocking, args, args.length);
Run Code Online (Sandbox Code Playgroud)

Mar*_*ler 5

好吧,你可以使用

hg --cwd the/path/you/want/to/test root
Run Code Online (Sandbox Code Playgroud)

该命令告诉您是否有一个the/path/you/want/to/test或以上的存储库。查看命令的退出代码,看是否成功。

您还需要将命令打印的根目录与实际目录进行比较-可能是在某个更高级别上有一个存储库,然后hg root将报告该存储库。