Как проверить, существует ли репозиторий или нет? - PullRequest
3 голосов
/ 29 июня 2010

Я хочу проверить, существует ли репозиторий по заданному пути или нет, прежде чем выполнять процесс, описанный ниже .. какие идеи?

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

Ответы [ 2 ]

5 голосов
/ 29 июня 2010

Ну, вы могли бы использовать

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

Эта команда сообщает вам, есть ли хранилище на the/path/you/want/to/test или выше. Посмотрите на код завершения команды, чтобы увидеть, удалось ли это.

Вам также нужно будет сравнить корень, напечатанный командой, с вашим фактическим каталогом - может быть, что существует хранилище на более высоком уровне, и тогда hg root сообщит об этом.

1 голос
/ 29 октября 2016

Вы можете просто проверить, существует ли подкаталог .hg (это работает, только если вы проверяете корень хранилища, а не из папки, которая будет частью вашего хранилища).

...