2010-06-29 4 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

글쎄, 당신은 위의 the/path/you/want/to/test 또는 저장소가있는 경우 명령을 알려줍니다

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

를 사용할 수 있습니다. 명령의 종료 코드를보고 성공했는지 확인하십시오.

또한 명령에 의해 인쇄 된 루트를 실제 디렉토리와 비교해야합니다. 상위 레벨에 저장소가 있고 그 다음에 hg root이이를보고 할 수 있습니다.

+0

awesome ... 정보 주셔서 감사합니다 ... – Nitesh

+0

Nitesh : 사용 해 주셔서 감사합니다. 정답으로이 답변을 수락 해주십시오 .-) –

+0

이 답변은 오래되어서는 안 될 수 있습니다. Windows에서 hg 2.6.1을 실행하면 c : \ dev \ tools에는'abort : repository ... not found! '가 표시되지만 c : \ dev에는 정상 출력이됩니다. – Kev

1

.hg 하위 디렉토리가 있는지 간단히 확인할 수 있습니다 (저장소의 루트가 아닌 저장소의 루트를 확인하는 경우에만 작동합니다).

관련 문제