2012-05-09 87 views
5

我在我的repo中有一個名爲some/work/file.py的文件。Mercurial如何在repo中爲一個文件創建補丁

我在回購已經工作(上的其他文件太多,除了file.py),並承諾我的變化和修訂20已經去了30

我將如何創建一個補丁只file.py從修訂20到30,不包括其他文件?

喜歡的東西:

hg export 20:30 file.py > new.patch 

試過的命令,但不起作用。

謝謝

回答

5

hg export出口個別的變更作爲獨立的實體。

如果我理解正確,您需要回答「在修訂版20和修訂版30之間對file.c做了哪些修改?」的問題,即您只需要一個diff文件。

這裏是你如何能做到這一點:

hg diff file.c -r 20:30 > new.diff 

作爲一個更通用的方法,你可以使用-I(包括文件模式)/ -X(排除)。

+0

謝謝,我可以應用diff作爲補丁與hg import? – Neeran

+0

更新到20,是的,你可以。請注意,這隻會更新'file.c',並且更改集歷史記錄(20:30)將會丟失。小心解釋你正在解決的問題是什麼? – Helgi

+0

很好,我只是想將只有file.py的變化作爲補丁導出,而不是對同一提交中其他文件的其他更改。 – Neeran