将.gitignore转换为.hgignore,反之亦然

时间:2019-04-30 19:38:35

标签: git mercurial

我正在尝试在这些DVCS格式之间转换忽略文件。我知道这个问题曾经问过,但是已经有一段时间了,报告的答案似乎已经过时了。如回应之一所述,“对于git版本1.8.3.4,它不适用于每个有效的.hgignore”

Mercurial使用语法选择要使用的匹配类型:

syntax: regexp    #Regular expression, Python/Perl 

syntax: glob      #Shell-style glob.

git使用什么语法?我已经读过它使用glob,但是我不是100%确信这是同一回事。如果我为我的尾随忽略文件指定了glob,那么它会与git 100%兼容吗? (忽略语法声明行)

2 个答案:

答案 0 :(得分:1)

如上面的@VonC所述,不可能完全准确地进行转换。

但是我在https://github.com/devzendo/hgignore-to-gitignore

上写了一个非常基本的.hgignore到.gitignore转换器。

它尝试将可转换为正则表达式的元素转换为glob元素,并按原样传递glob元素(由于hg似乎比git更简单,因此我假设git可以处理hg的glob)。

答案 1 :(得分:0)

是的,有人问10 years ago,并强调了以下事实:

您可以convert a glob pattern to a regex(也可以here in ruby,也可以描述为in this article)。
但是您不能将所有正则表达式转换为glob模式。