2010-06-29 51 views
3

我想檢查存儲庫是否存在於給定的路徑上或之前執行下面的過程..任何想法?如何檢查版本庫是否存在?

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); 

回答

3

嗯,你可以使用

hg --cwd the/path/you/want/to/test root 

該命令會告訴你是否有在the/path/you/want/to/test以上的倉庫。查看命令的退出代碼以查看它是否成功。

您還需要將命令打印的根與實際目錄進行比較 - 可能存在某個較高級別的存儲庫,然後hg root將報告該存儲庫。

+0

真棒...感謝您的信息... – Nitesh 2010-06-30 21:03:12

+0

Nitesh:我很高興你可以使用它,隨時接受這個答案作爲正確的答案:-) – 2010-07-01 08:13:13

+0

這個答案可能會過時。在Windows上的hg 2.6.1上,我得到了c:\ dev \ tools上的'abort:repository ... not found!',但在c:\ dev上有正常輸出。 – Kev 2013-06-11 15:59:44

1

您可以簡單地檢查.hg子目錄是否存在(只有當您檢查存儲庫的根目錄時,才能使用該目錄,而不是在可能成爲存儲庫一部分的文件夾中)。