2012-02-09 59 views
0

我不打算进入如何设置善变的一个Drupal多站点安装的讨论,但我经历了一些运行的真实难以置信我的脑海里。 我有一个Drupal多站点安装,我试图设置版本控制。我所做的是在Drupal Root的hg init中,用忽略drupal_root/sites /的.hgignore。这就是我的.hgignore,这似乎是做工精细:善变忽略Drupal的多站点网站/所有/模块

# Glob syntax 
syntax: glob 
# Everything in sites 
sites/* 

这工作得很好,因为善变发现一切除了站点文件夹。现在,站点文件夹内,该结构是这样的:

sites/ 
    sites/all 
    sites/default 
    sites/domain1.com 
    sites/domain2.com 

我的问题是,当我做网站内汞状态,善变不会找到网站/所有/模块。我试过多个.hgignore排列,因为我想忽略网站/ domain1.com /文件,但似乎没有任何工作。我甚至删除了回购协议,并没有任何.hgignore开始。网站/所有/图书馆和网站/所有/脚本都显示得很好。

父目录中的.hgignore可能与它有关吗?

更新:我刚刚完全删除了子回购(我知道它实际上不是子回购,但我在这里受到限制)删除了drupal根中的回购,并开始将整个安装视为单个回购。同样的事情,mercurial只是找不到root/sites/all/modules。

更新: @ Ry4an - drupal根目录中的行为是正确的。我试图模仿子库,因为我使用Hg 1.3卡住了,它并没有真正实现它们。所以,我的目录结构是这样的:

drupal_root/ 
    .hg/ 
    modules/ 
    includes/ 
    themes/ 
    sites/ 
     .hg/ 
     all/ 
     default/ 
     domain1.com/ 
     domain2.com/ 

所以,我确实希望里面drupal_root库忽略下drupal_root /网站的一切,但我应该有处理一切drupal_root /网站内的第二库。这是没有找到一切的回购。

回答

0

,你看到的是我期望的行为。这水珠规则:

syntax: glob 
# Everything in sites 
sites/* 

忽略一切的网站,其中包括“sites/all”,所以水银会根本不低头内“all”,所以不会看到“sites/all/modules”。

如果您提供了一份文件及其路径的完整列表,其中注明了您要忽略的文件以及您不想忽略的文件,我相信有人可以帮助您提出正确的规则,但并不完全从你的问题清楚。

0
  • 如果你的任务是“不顾一切,除了一个目录”
  • 如果你能写(和测试)的正则表达式

可以,以便通过正则表达式与this questionaccepted answer咨询条件

另一个(稍微不精确)溶液可以是

  • 离开当前的“不顾一切”的格局
  • 添加所有文件sites/all/modules到回购手(hgignore忽略只有未经跟踪对象)
  • 不要忘记所有新文件,后来加入的模块,明确添加到Mercurial(他们将被规则忽略)
0

嗯,我觉得自己像一个白痴。问题在于drupal_root/sites/all/modules中已经有一个存储库。我不记得把它放在那里,但似乎mercurial忽略任何已经包含.hg目录的目录。感谢大家的帮助。