2

我大约 6 个月前加入,当我到达时,我的团队没有使用任何形式的版本控制。从那以后,我说服 mgmt 在新项目中使用 Mercurial,所以我们的网络服务器上有以下结构:

-MainFolder (which includes files for the main project)
  +Subfolder A, which contains (old) project A with NO hg repo
  +Subfolder B, which contains (old) project B with NO hg repo
  +Subfolder C, which contains (NEW) project C AND a hg repo
  +Subfolder D, which contains (NEW) project D AND a hg repo

请注意,当前唯一具有 repo 的文件夹是子文件夹 C 和 D,它们代表单独的项目。

我想添加一个存储库来跟踪当前未跟踪的所有内容,但想忽略当前拥有自己存储库的文件夹。我知道使用.hgignore文件,但据我了解,这需要我明确忽略每个包含 repo 的文件夹。在上面的例子中这不是问题(只有两个现有的 repos),但我们的实际设置有比这更多的项目。

有什么方法可以告诉 Mercurial 动态忽略其中包含 repo 的所有文件夹,并跟踪其他所有内容?

4

1 回答 1

3

它已经开箱即用。尝试以下演示:

hg init demo
cd demo
hg init foo
cd foo
echo foo>>foo.txt
hg stat
? foo.txt
cd ..
hg stat
# Nothing!

您可能应该考虑设置主存储库以使用子存储库来跟踪已经拥有自己的存储库的文件夹中的更改。如果您不这样做,那么当您在 main 中提交时,这些项目之一中的更改将不会自动提交。

于 2010-10-22T15:25:06.363 回答