我正在維護一個最初沒有使用版本控制系統的項目。相反,將會有代碼庫的定期快照保存到備份文件夾中,並且偶爾會創建一個臨時分支。當我拿到這個項目的一抱,我創建了一個Subversion版本庫吧,致力於每個快照到存儲庫(使用的WinMerge更新工作,每次副本),並用樹枝與在此備份文件夾中的「貴」副本分支對應系統。顛覆:追溯合併?
現在,該項目已經顛覆了一段時間,並發展實時做過於軀幹,我一直在考慮從開發人員的機器被拉扯的那幾個舊的分支快照文件夾。我發現樹幹歷史上的正確位置是追溯性的......但是,我現在的問題是:如果我創建了這個分支,那麼我能用它做些什麼嗎?我是否可以追溯性地將此分支合併到主幹歷史記錄中,以便分支中的文件具有額外的文件歷史記錄?從本質上講,我想採取這個舊的「昂貴的副本」分支,從主幹歷史中的適當位置創建分支,複製舊分支,將每個舊備份副本提交到Subversion分支,然後合併所有內容回到適當的位置,如下面粗略的ASCII藝術圖所示:
trunk: ... r107 -> r108 -\-> r109 -> r110 -> .... -> r137 -> .... -> r394
old branch: -> r395 -> r396 -> r397 -/ (r398)
當前存儲庫的修訂是r394。創建分支將是r395。提交一對「昂貴」的副本將是r396和r397。 「在r137代表的時間點之前將其合併到主幹中會使存儲庫達到r398。現在,從r137開始查看文件的歷史記錄還將包括在r396 + r397中提交的更改,隨後在r398中合併。
如果沒有重新提交r137,然後進行合併,然後再次重新提交r394(我不認爲會給我想要的東西),就可能發生這種情況?