mercurial忽略Drupal多站点中的站点/所有/模块
我不打算讨论如何为Drupal多站点安装设置mercurial,但我遇到了一些让我难以置信的事情。 我有一个drupal多站点安装,我正在尝试设置版本控制。我所做的是在Drupal根目录中使用忽略Drupal\u Root/sites/的.hgignore来初始化hg。这就是我的.hgignore中的内容,它似乎运行良好:mercurial忽略Drupal多站点中的站点/所有/模块,mercurial,drupal-6,hgignore,Mercurial,Drupal 6,Hgignore,我不打算讨论如何为Drupal多站点安装设置mercurial,但我遇到了一些让我难以置信的事情。 我有一个drupal多站点安装,我正在尝试设置版本控制。我所做的是在Drupal根目录中使用忽略Drupal\u Root/sites/的.hgignore来初始化hg。这就是我的.hgignore中的内容,它似乎运行良好: # Glob syntax syntax: glob # Everything in sites sites/* 这很好,因为mercurial可以找到除了sites文件夹
# Glob syntax
syntax: glob
# Everything in sites
sites/*
这很好,因为mercurial可以找到除了sites文件夹之外的所有内容。现在,在sites文件夹中,结构如下所示:
sites/
sites/all
sites/default
sites/domain1.com
sites/domain2.com
drupal_root/
.hg/
modules/
includes/
themes/
sites/
.hg/
all/
default/
domain1.com/
domain2.com/
我的问题是,当我在站点中查看hg状态时,mercurial将找不到sites/all/modules。我尝试了.hgignore的多种排列,因为我想忽略sites/domain1.com/files,但似乎没有任何效果。我甚至删除了回购协议,重新开始,没有任何.hgignore。sites/all/library和sites/all/scripts都显示得很好
父目录中的.hgignore是否与此有关
更新:我刚刚完全删除了sub-repo(我知道它实际上不是sub-repo,但我在这里受到限制),删除了drupal root中的repo,并开始将整个安装作为单个repo来处理。同样,mercurial也找不到root/sites/all/modules
更新:@Ry4an-drupal根目录中的行为是正确的。我试图模拟子存储库,因为我一直在使用HG1.3,而HG1.3并没有真正实现它们。因此,我的目录结构如下所示:
sites/
sites/all
sites/default
sites/domain1.com
sites/domain2.com
drupal_root/
.hg/
modules/
includes/
themes/
sites/
.hg/
all/
default/
domain1.com/
domain2.com/
因此,我确实希望drupal\u root中的存储库忽略drupal\u root/sites下的所有内容,但我在drupal\u root/sites中有第二个存储库,它应该处理那里的所有内容。这是回购协议,它没有找到一切。你看到的是我预期的行为。这条全球规则:
syntax: glob
# Everything in sites
sites/*
忽略站点中的所有内容,包括“sites/all
”,因此Mercurial根本不会向下查看“all
”,因此它不会看到“sites/all/modules
”
如果您提供一个完整的文件列表及其路径,并注明您希望忽略的文件和不希望忽略的文件,我相信有人可以帮助您制定正确的规则,但您的问题并不完全清楚。- 如果您的任务是“忽略所有目录,除了一个目录”
- 如果您可以编写(并测试)regexp
- 保留当前的“全部忽略”模式
- 手动将
中的所有文件添加到repo中(hgignore仅忽略未跟踪的对象)站点/all/modules
- 不要忘记以后添加到模块中的所有新文件,显式添加到Mercurial中(规则将忽略这些文件)
- 嗯,我觉得自己像个白痴。问题是drupal_root/sites/all/modules中已经有一个存储库。我不记得把它放在那里了,但mercurial似乎忽略了任何已经包含.hg目录的目录。谢谢大家的帮助