2011-10-20 96 views
1

我在我的hg設置中有一個pre-diff鉤子,但當我嘗試提交我的更改時,它不會被執行。如何讓TortoiseHG執行pre-diff動作

我想要做的是在提交之前生成數據庫模式文件,以便它將出現在更改列表中。

我也有一個更新鉤,它工作正常。 TortoiseHG不執行hg diff命令嗎?我可以用哪個鉤子代替?

+0

爲什麼不使用precommit hook? –

+0

預先提交爲時已晚,我想檢查包括數據庫更改在內的所有更改,以便輕鬆找出1個工作項目的完全更改(並且更高效,然後必須緊接着執行2個提交) – sebastiaan

+0

pre-提交,你將在**這個提交中構建架構和提交。請參閱http://lildude.co.uk/mercurial-precommit-isnt-entirely-pre –

回答

1

TortoiseHg(如v2.1.4的)中的至少3種方式,其中沒有使用原始hg diff命令執行進行比較:

  1. 在工作臺的「修訂詳情」窗口,有一個文件顯示級別的統一差異。該差異通過mdiff.unidiff方法在mdiff.py中獲得。這種方法繞過了鉤子機制。
  2. 如果在修訂圖中選擇了變更集(或變更集範圍),用戶可以要求提供「視覺差異」。該方法將文件從選定的修訂版複製到臨時目錄,然後將它們與外部可視化比較工具進行比較。該方法也繞過了鉤子機制。
  3. 在「清單」視圖中,您可以選擇一個文件,右鍵單擊並選擇「比較文件修訂」。這使用了一個自定義的可視化diff工具,它也繞過了鉤子機制。

據我所知,TortoiseHg並沒有爲它的diff機制公開任何鉤子。