これはクレイジーに聞こえるかもしれませんが、2 つのステップで実行できます。最初にprecommit
フックをフックに変更しますpre-commit
-はい、両方が存在し、それらは異なります。ダッシュがない場合、コミットはすでに開始されており、一部のロックが取得されています。ダッシュを使用すると、コミットが開始される前に発生しhg add
、新しいファイルを引き続き使用できます。
そのような UNIX では、合計の変更は次のようになります。
[hooks]
pre-commit.exportDB=exportDB.sh && hg add resulting.sql
おそらくWindowsにも似たようなものがあるかhg add
、バッチファイルの最後の行を作ることができます。
PS 生成されたファイルをコミットしないでください。:)
アップデート:
私はこれをテストしたところ、私が提案したように動作します:
ry4an@four:~$ hg init reinhard
ry4an@four:~$ cd reinhard/
ry4an@four:~/reinhard$ vi .hg/hgrc
ry4an@four:~/reinhard$ cat .hg/hgrc
[hooks]
pre-commit = hg add otherfile
ry4an@four:~/reinhard$ echo text > afile
ry4an@four:~/reinhard$ echo more > otherfile
ry4an@four:~/reinhard$ hg add afile
ry4an@four:~/reinhard$ hg status
A afile
? otherfile
ry4an@four:~/reinhard$ hg commit -m 'message'
ry4an@four:~/reinhard$ hg status --all
C afile
C otherfile
コミット前は「afile」のみが追加され、「otherfile」は不明であり、コミット後は両方のファイルが「C」(「クリーン」を意味する - それらは追加およびコミットされている) であることに注意してください。