2011-04-19 68 views
0

所以我使用mercurial來開發我的項目,我是唯一的開發者。 我通常使用默認分支進行實際開發,我使用一些短期分支來實現新功能,這很好:我創建了它們,編寫了新功能,如果它工作得很好,我將該分支合併到默認分支中,永遠不要再使用它。 但我想寫一個不同的分支文檔,因爲我不想用文檔提交「污染」默認分支。在Mercurial中管理長命名的分支

在我爲默認分支中的東西寫了足夠的文檔後,我合併了主分支中的docs分支。但過了一段時間,我想再次使用docs分支,並且我必須從主分支中提取更改,或者創建另一個新分支。

什麼是處理這個問題的最佳工作流程?我的方法完全錯誤嗎?

回答

1

將文檔放在源代碼控制中有點奇怪。如果文檔是二進制文件(.doc/.docx/.xlsx),則Hg將無法合併它們。如果您要存儲.html,.xml或一些純文本格式,那麼它會做一個稍微好一點的工作。有幾個開源系統,這將允許您使用汞,並提供獨立的文檔管理(Redmine,一)

假設你剛剛合併docsdefault,你可以繼續這樣使用docs分支:

> hg update docs # update to the docs branch 
> hg merge default # merge default into docs branch 
(do some work) 
> hg commit -m "adding new things to docs branch" 
(merge into default when ready) 

通過合併defaultdocs,你確保docs有上default存在的所有更改。在docs上執行後續提交將有效地允許您繼續在該分支上工作。另一種說法是,合併在Hg中是方向性的 - 如果你想讓docsdefault保持同步,你必須明確執行合併。

+0

該文檔是用sphinx編寫的,它使用純文本(rtf),因此二進制文件沒有問題。 – molok 2011-04-19 19:11:22

0

要重新開始使用docs分支從與原始文檔分支合併的子分支,只需將您的工作副本更改爲分支並提交給它。

如果您對docs分支有更改,則需要合併才能提交。