2010-09-10 40 views

回答

7

如果不更改修訂版本及其所有後代的修訂版本ID,則無法編輯舊版本的提交消息。

呃......從技術上講,如果你足夠努力,但結果的技術術語是「腐敗庫」。 bzr中的存儲庫是分佈式修訂版數據庫的副本,如果所有副本不同意修訂內容,則會違反完整性。意思是,所有投注都關閉,系統將主動嘗試檢測這種情況並拒絕工作。

要修改分支中最後一個修訂版本的提交消息,可以使用「bzr uncommit」,然後在新提交消息中使用「bzr commit」。

要修改舊版本的提交消息,您將得到一個最後修訂版本要修改的分支,使用「取消提交」,然後「提交」,並使用「bzr rebase」或「bzr」重新附加後續修訂重放「(來自」重寫「插件)。

在每種情況下,這將產生一個分支,它被認爲與您最初的分支「發散」。如果最初的分支已經發布,您的原始修訂可能會回來,導致合併,歷史污染,並且通常會困擾您。

2

不,您不能編輯舊版本的提交消息。 Bazaar的修改是不可改變的。您必須從您必須更改的修訂版重建分支。

+0

*「Bazaar中的修改是不可變的」* - 任何其他源代碼控制系統都不是? – 2010-09-10 08:01:25

+1

在CVS和Subversion中,人們已經看到編輯過去的版本。這仍然是「壞」。但只是在集中式VCS中編輯提交消息不會破壞任何內容(除了可能是DVCS的鏡像)。在市場中,這種變化是嚴格苛刻的,因爲它們會導致分佈式數據庫的完整性違規。在Git和Hg中,它們是不可能的。 – ddaa 2010-09-10 11:37:34

0

如果這是您上次提交的修訂版,您可以在bzr commit --unchanged的某個日誌中添加內容。這不是你想要的,但如果ddaa的警告對你很重要,那麼這可能是次佳。

相關問題