Mercurial 仓库 : ignore all folders which contain their own repo?

标签 mercurial versioning hgignore

我大约 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

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

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

有没有办法告诉 Mercurial 动态忽略其中有存储库的所有文件夹,并跟踪其他所有内容?

最佳答案

它已经可以开箱即用地执行此操作。尝试以下演示:

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

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

关于Mercurial 仓库 : ignore all folders which contain their own repo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3998096/

相关文章:

version-control - Mercurial,有什么方法可以只存储对代码库的更改而不是整个代码库本身?

mercurial - 什么是与 Mercurial 和/或 bitbucket 集成的好的免费错误跟踪系统?

msbuild - 在 MSBuild 中将程序集版本号指定为命令行参数

c++ - 如何处理全局通用框架的不稳定 API

version-control - Mercurial .hgignore 是我处理编译时生成的数百个临时文件的唯一选择吗?

go - 如何通过 SSH 使用 Mercurial 进行导入?

没有历史的 Mercurial 克隆

deployment - 在 Bamboo 中部署分支计划 - 如何为自动部署定义任意发布版本

mercurial - 如何从 .hgignore 中的忽略列表中排除特定文件夹

xml - MySQL Workbench 文件上的 hg diff