我正在尝试为特定文件执行hgtk log命令。但是,只有在存储库目录中才能执行此操作。
像这样......process.initwithpath("cmd.exe");
args = ["CD","c:\\MY_REPO"];
process.run(true,args,args.length);
process.initwithpath("hg.exe");
args= ["hgtk","my_file.txt"];
process.run(true,args,args.length);
但问题是第二个过程不会跟踪第一个......
任何建议都将受到高度赞赏....
答案 0 :(得分:1)
请参阅--repository
命令行选项(简称为-R
)。在执行日志,注释等之前,它将更改hgtk
的当前工作目录。如果在命令行上提供文件名,那么您应该注意它们是相对于-R
的参数理解的。所以这有效:
hgtk -R ~/src/mercurial log README
因为README
文件是相对于~/src/mercurial
找到的。这也有效
hgtk -R ~/src/mercurial log ~/src/mercurial/README
因为我们提供了README
文件的完整路径。从这个意义上讲,它就像Mercurial的--cwd
选项一样。 Mercurial还有一个-R
选项,但这不会改变当前的工作目录。