Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial文件映射排除包括。。。它不符合医生说的吗?_Mercurial_Filemap - Fatal编程技术网

Mercurial文件映射排除包括。。。它不符合医生说的吗?

Mercurial文件映射排除包括。。。它不符合医生说的吗?,mercurial,filemap,Mercurial,Filemap,从subversion转换过来后,我借此机会清理了回购协议,并将其分为三个主要独立的项目。但是我有一个文件映射,上面写着 exclude bot include bot/aobiosbot.py 它应该包括除“bot”子目录之外的所有内容,但仍然包括该目录中的“aobiosbot.py”文件。问题是,转换后的回购协议是空的(我使用“hg克隆”进行测试)。如果我添加一个“include.”作为第1行,我会得到除“bot”目录之外的所有内容。。。包括“bot/aobiosbot.py”。但我告诉它

从subversion转换过来后,我借此机会清理了回购协议,并将其分为三个主要独立的项目。但是我有一个文件映射,上面写着

exclude bot
include bot/aobiosbot.py
它应该包括除“bot”子目录之外的所有内容,但仍然包括该目录中的“aobiosbot.py”文件。问题是,转换后的回购协议是空的(我使用“hg克隆”进行测试)。如果我添加一个“include.”作为第1行,我会得到除“bot”目录之外的所有内容。。。包括“bot/aobiosbot.py”。但我告诉它要包括那个文件


(真的,filemap的文档很糟糕。排除/包括选项必须精确指定。我发现我倾向于同意Joel的规格…至少在这里是这样。谁会这么想…

Hrm,我承认我无法弄清楚为什么你的东西不起作用,但我可以确认它不起作用

但是,我的测试src repo如下所示:

src
|-- bot
|   |-- aobiosbot.py
|   `-- excludeme
`-- dir1
    `-- includeme
include dir1
include bot/aobiosbot.py
和这样的文件映射:

src
|-- bot
|   |-- aobiosbot.py
|   `-- excludeme
`-- dir1
    `-- includeme
include dir1
include bot/aobiosbot.py
我的结论是:

dest
|-- bot
|   `-- aobiosbot.py
`-- dir1
    `-- includeme
通过在repo根目录中执行以下操作,可以快速填充该文件映射:

for thefile in * .* ; do
     echo include $thefile >> ../filemap
done

我确信有一种更好的方法使用exclude,但是如果不阅读转换代码,我就找不到它。

我从dev repo(文件hgext/convert/filemap.py)中获取了一些代码,解决了这个问题。效果好多了D

感谢您的提示,帮助我们解决这个问题。还有踢我去看资料。有趣,非常有趣的代码。幸好这不是一个重要的问题。:-)@Maciek:也许我太晦涩了:我从Mercurial的开发版本中获取了代码。当时。所以,我的“更好用”指的是更新版本的hg。可悲的是,你说得对,我记不起到底有什么不同。我认为区别在于它现在的工作方式和我在OP中预期的一样。