1
理想情況下,我想回答標題問題。如何判斷Mercurial命令是否通過外部鉤子傳遞了選項?
然而,對於我的具體情況,我有我想從precommit
鉤運行一個Perl腳本,我想知道,如果水銀與傳遞給commit
命令-A
選項調用(如hg commit -A
)和如果不是,那麼有可能在那個時候「通過」它?
理想情況下,我想回答標題問題。如何判斷Mercurial命令是否通過外部鉤子傳遞了選項?
然而,對於我的具體情況,我有我想從precommit
鉤運行一個Perl腳本,我想知道,如果水銀與傳遞給commit
命令-A
選項調用(如hg commit -A
)和如果不是,那麼有可能在那個時候「通過」它?
這會顯得有點傻,但除了precommit
鉤,有一個預XXXX(和post-XXXX)掛鉤的每一個命令,它得到了一些不同的變量:
pre-<command>
之前執行所述相關 命令運行。命令 行的內容作爲$ HG_ARGS傳遞。解析 命令行參數作爲 $ HG_PATS和$ HG_OPTS通過。這些包含數據的 字符串表示 內部傳遞。 $ HG_OPTS是選項 (均設置爲默認 未指定選項)的字典。 $ HG_PATS是一個 參數的列表。如果掛鉤返回 失敗,則該命令不會執行 ,並且Mercurial返回失敗 的代碼。
所以做一個pre-commit
掛鉤代替,並檢查這些變量。
你從那裏得到了什麼'man'頁面或其他文檔? – gvkv 2010-10-04 18:52:20
從'hgrc'手冊頁:http://www.selenic.com/mercurial/hgrc.5.html – 2010-10-04 19:03:51