藤原です。
2016年11月18日 19:20 ohira <
shin....@gmail.com>:
最も留意すべき点は、hgignore のデフォルト文法が、正規表現 (re or
regexp) 形式である点でしょう。
.gitignore が受け付けるパターンは、.hgignore の glob 形式と同等の
"shell glob" 形式のみです。
そのため、.hgignore への gibo 出力からの書き出しに先立って、パター
ンの文法形式を指定する "syntax: glob" を書き出す必要があります。
$ (echo "syntax: glob"; gibo ARG_FOR_GIBO ....) > .hgignore
"!" による「無視指定の無効化」に直接相当する機能はありません。です
から、gibo を使う場合、! が含まれているテンプレートの指定は、避け
たほうが良いでしょう。
手動で対応する場合、glob ではなく、正規表現(re)形式であれば、一応
実現できなくはないです。以下のエントリが参考になれば幸いです。
http://d.hatena.ne.jp/flying-foozy/20131027/1382864409
以下、公式仕様をベースに、上記以外で注意すべき差異のある部分につい
て言及します。"PATTERN FORMAT" 節での対応する項目の冒頭を併記して
おきます。
https://git-scm.com/docs/gitignore
なお、以下の言及は全て、.hgignore において "glob" 形式でパターンを
指定することを想定したものです。
- 末尾 "/" の有無による、合致の差異は発生しない
(If the pattern ends with a slash, ...)
例えば "README/" は、 README ディレクトリ配下のファイルにも、
README ファイルにも合致します。
- hgignore でのパターン指定は、パスに対する任意合致の判定
(If the pattern does not contain a slash /, ...
Otherwise, ...)
パターン指定における「合致判定開始位置」について解説した、以下の
エントリ も参照してみてください。
http://d.hatena.ne.jp/flying-foozy/20140107/1389087728
- 冒頭に "/" を置いた場合、基本的にそのパターンは役に立たない
(A leading slash matches ...)
例えば "/README" は、ルート直下の README ファイルにも、任意の
README ディレクトリ配下のファイルにも合致「しません」。
うーん、改めて差異を見てみると、「互換性がない」と思っていた方が良
い様な気が (^ ^ ;;;)
まぁ、gibo の出力、というか引用元の .gitignore template 集からのチョ
イス次第ではあるんですが……
https://github.com/github/gitignore
そうですね。そちらを参照するのがよろしいかと。
glob 形式に関しては、"hg help patterns" でも、一応簡単な解説があり
ますが、文法的な網羅性はあまりありませんからねぇ……
> gibo (結構便利です)
>
https://gist.github.com/nihonzaru/42582bf333d5554b182a
--
----------------------------------------------------------------------
FUJIWARA Katsunori(
flying...@gmail.com)