代码之家  ›  专栏  ›  技术社区  ›  loneboat

Mercurial repo:忽略包含自己的repo的所有文件夹?

  •  2
  • loneboat  · 技术社区  · 14 年前

    -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
    

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

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

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

    1 回复  |  直到 14 年前
        1
  •  3
  •   Niall C.    14 年前

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

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

    您可能应该考虑设置要使用的主回购协议 subrepositories 用于跟踪已拥有自己的repo的文件夹中的更改。如果不这样做,在主项目中提交时,其中一个项目中的更改不会自动提交。