2010-04-24 58 views
5

我想使用Mercurial來捕獲對我們使用的軟件的香草安裝所做的更改。每次我們升級軟件時,我們都需要手動編輯各種配置文件,並添加我們在當前版本軟件中使用的第三方庫。爲配置文件更改創建補丁很好,但是如何將第三方庫(二進制文件)添加到Mercurial補丁?它甚至有可能嗎?如何將完整的二進制文件添加到Mercurial修補程序?

+0

請記住給予好評有用的答案,並接受你最喜歡的一個。 – 2012-01-13 13:26:15

回答

1

即使有可能,也是不可取的! (用於Mercurial或任何其他VCS)
版本控制系統不會記錄二進制文件(主要是因爲它快速增長不成比例,佔用大量磁盤空間,並且沒有有效的方式存儲在增量中)

您應該記錄每個要標記的版本的配置
例如,可以是文本文件或maven pom。任何允許外部機制(如maven)下載和本地存儲的正確依賴關係。

這意味着您的補丁將包含對該文本文件(例如pom)的更改以及其他代碼修改。

+0

發現它是可能的(使用hg add然後hg qrefresh),但是我將你的觀點記錄在VonC上。我可能會設置一個POM和Nexus來處理我的情況。謝謝你的提示 – 2010-04-25 10:47:07

2

是的,mq擴展可以像處理文本數據一樣處理二進制數據。它將使用Git's extended patch format來保存二進制數據。當您使用修改的二進制文件刷新修補程序時,這是透明地處理的。

這是否是一個好主意是另一個問題 - 當他寫道這不是版本控制系統的正常使用情況時,VonC是正確的。

4

如果你試圖讓補丁第七屆修訂...

hg export --git -r 7 -o 7.patch 
相關問題