如何在从firefox扩展执行HG命令之前更改目录?

时间:2010-07-01 06:52:17

标签: mercurial firefox-addon

我正在尝试为特定文件执行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);

但问题是第二个过程不会跟踪第一个......

任何建议都将受到高度赞赏....

1 个答案:

答案 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选项,但这不会改变当前的工作目录。