我正在使用mercurial,我想知道如何做以下事情。 这是我的存储库架构:
./repo/utils/workers/[...]
./repo/utils/tools/[...]
./repo/proj1/file.py
让我们说在proj1 / file.py中我需要导入一些位于worker和tools中的代码。例如
from utils.workers import foo
from utils.tools import bar
使用所有必需的依赖项(例如,workers /和tools /)检查proj1的最佳方法/工具是什么,而无需在proj1中克隆utils / workers和utils / tools。
另外 - 做sys.path.append(repo/utils/workers)
不是一种选择。
==编辑01/24/11 ==
感谢所有答案。
我一直在想一种能够以不同的方式真正解释我的问题的方法,并且我们应该对hg进行抽象以便更好地理解。
让我们说在/utils/
中还有另外几个模块,它们不属于我的项目,但实际上是需要的。例如:http://code.google.com/p/python-gflags/
签出/repo/proj1/
时,我希望所有的依赖关系,无论它们形成哪个存储库,都要检查出来 - 但是从那时开始只读。
所以,如果我hg clone /proj1/
,我希望此操作也可以从/utils/workers/
克隆所有需要的模块,
/utils/tools/
,
和python-gflags下
/utils/python-gflags
我希望这有助于澄清我想要做的事情。
干杯,
马丁