だいぶ前に, こういったエントリを書きました:
一方で, こちらのエントリにこういったブクマコメントを頂いていました:
デバッグ用のコードが残っているとGitでコミットできないようにする - Masteriesb.hatena.ne.jp文字列リテラルの中とか関係ないところにDDPという文字列が現れる場合はどうするんだろう?
2017/04/04 09:46
これについては仰るとおりで, 例えばテストなどで意図的にData::Printer(DDP)を使っている場合は引っかかってしまってコミットできなくなってしまいます.
この対策としては, 完全ではないのですが, 自分は「意図的にData::Printerを使っているファイルはチェックの対象外とする」ことで回避しています. 以下の例では, lib/Foo.pm
, lib/Bar.pm
, lib/Baz.pm
に限って DDP
というテキストが含まれていても許容するようになります:
#!/bin/sh if ag --perl DDP $(git rev-parse --show-toplevel)/lib $(git rev-parse --show-toplevel)/t \ | grep -v 'lib/Foo.pm' \ | grep -v 'lib/Bar.pm' \ | grep -v 'lib/Baz.pm' \ ; then echo "some file contains code for debugging: DDP" exit 1; fi
課題としては, チェックの対象外にしたファイルでデバッグ用のコードが残っている場合, 当然ですが気づけません(が, チェックの対象外にするのが数ファイル程度なら, これでも十分に役立つと思います).