2010-11-03 68 views
1

我們試圖找到一種方式來了解一個或多個輸入修訂的整個變更在pretxnchangegroup鉤內Mercurial庫。我們使用版本1.6.3。pretxnchangegroup鉤無法看到整個變更

我們可以用$ HG_NODE得到第一個傳入的更改,但hg tip仍然指向最老的已提交的更改,而不是我們即將要處理的更改。同爲汞log -rNode:

我們甚至不能似乎得到$ HG_NODE的DIFF在這個鉤子,HG日誌只是說:「未知版本」

看起來這是關係到http://groups.google.com/group/mercurial_general/browse_thread/thread/9321b94b08ab04b9

有沒有人有同樣的問題,並以某種方式解決它?

+0

下面我想你的術語是有點過我會去一個答案。你試圖「看到整個變更組」,它由許多變更集組成。 $ HG_NODE指向一個變更集。 – 2010-11-03 13:54:07

回答

1

這絕對應該是既tiplog反映到來後信息的情況。你肯定在你運行這些命令的目錄是庫triggehg克隆hooktest hooktest克隆 環鉤?我可以看到,不是這種情況的唯一方法是如果你使用hg -R,你會知道。

這是一個測試腳本,你應該能夠粘貼到(UNIX或Cygwin的)外殼:

hg init hooktest 
echo this >> hooktest/afile 
echo -e '[hooks]\npretxnchangegroup = hg log && hg tip' >> hooktest/.hg/hgrc 
hg -R hooktest commit -A -m 'initial commit' 
hg clone hooktest hooktest-clone 
echo more >> hooktest-clone/afile 
hg -R hooktest-clone commit -m 'second commit' 
hg -R hooktest-clone push 

當我粘貼,我得到:

[email protected] [~/hg] % hg init hooktest 
[email protected] [~/hg] %  echo this >> hooktest/afile 
[email protected] [~/hg] %  echo -e '[hooks]\npretxnchangegroup = hg log && hg tip' >> hooktest/.hg/hgrc 
[email protected] [~/hg] %  hg -R hooktest commit -A -m 'initial commit' 
adding afile 
[email protected] [~/hg] %  hg clone hooktest hooktest-clone 
updating working directory 
1 files updated, 0 files merged, 0 files removed, 0 files unresolved 
[email protected] [~/hg] %  echo more >> hooktest-clone/afile 
[email protected] [~/hg] %  hg -R hooktest-clone commit -m 'second commit' 
[email protected] [~/hg] %  hg -R hooktest-clone push 
pushing to /home/msi/ry4an/hg/hooktest 
searching for changes 
adding changesets 
adding manifests 
adding file changes 
added 1 changesets with 1 changes to 1 files 
changeset: 1:ab2cec57f878 
tag:   tip 
user:  Ry4an Brase <[email protected]> 
date:  Wed Nov 03 09:10:40 2010 -0500 
summary:  second commit 

changeset: 0:30db2e527437 
user:  Ry4an Brase <[email protected]> 
date:  Wed Nov 03 09:10:39 2010 -0500 
summary:  initial commit 

changeset: 1:ab2cec57f878 
tag:   tip 
user:  Ry4an Brase <[email protected]> 
date:  Wed Nov 03 09:10:40 2010 -0500 
summary:  second commit 

[email protected] [~/hg] % 

在這裏你可以看到,無論是'hg log'和'hg tip'顯示鉤子中的新變更集。

確實爲你試運行?

+0

原來,它必須做一些與回購克隆的路徑。它似乎工作正常,如果我克隆ssh:// someserver // some/absolute/path但ssh:// someserver /// some/absolute/path does not。出於某種原因,我們認爲我們需要樹形斜線。 – zedoo 2010-11-03 16:36:09

+0

哦,順便說一下,我對此非常模糊,這似乎很奇怪...... – zedoo 2010-11-03 16:36:38

+0

是的,三個斜線會是錯誤的,但我也會認爲無害。那麼現在這完全爲你工作?如果不是什麼具體不? – 2010-11-03 19:13:44