TortoiseSvn問題研究(一)

2022-05-05 05:00:09 字數 1849 閱讀 5956

今天在工作中遇到乙個svn方面的問題,牽扯出使用svn這一段時間的一系列問題。

具體來說,是這樣的:

到這裡,基本上可以懷疑問題原因了,就是自己merge的方法有問題。

那麼,再看下merge的步驟

那麼,再遲鈍,也可以發現,問題一定存在於有選項的地方了吧。

也就是說,merge的選擇,這裡應該選擇第乙個,merge all versions

其實我能在這個地方犯這麼乙個錯誤,也是挺神奇的。

想之前,在進來選擇的地方更容易出錯

這裡之前,包括今天,都沒有搞清楚過,查了下,引用記錄如下

svn merge 三種方式

**1、merge a range of revisions

2、reintegrate a branch

3、merge two different trees

以下是**自chunanyong的一篇關於svn分支合併型別的文章,出處:

合併的工作是把主幹或者分支上合併範圍內的所有改動列出,並對比當前工作副本的內容,由合併者手工修改衝突,然後提交到伺服器的相應目錄裡。如果當前工作副本是主幹,則合併的範圍是分支上的改動,如果工作副本是分支的,則合併範圍是主幹上的改動,並且一定要注意,合併的起始位置url一定要和當前的工作副本的url是相同的。

一、合併乙個範圍的版本

此型別應用最為廣泛,主要是把分支中的修改合併到主幹上來。在主幹上點選右鍵選擇合併,然後選擇合併型別:合併乙個範圍的版本。

合併的源url填寫的是要合併的分支的url,待合併的版本範圍如果為空,則指的是合併分支上所有的版本,即自從分支建立以來到分支當前最新版本的所有演變。如果只是選擇其中乙個版本,或者幾個版本,那麼就表示只是將制定的n個版本的變化合併到主幹上。如果只是選擇其中乙個版本,那麼表示只是選擇那個版本的修改,之前或之後的修改將不被採納。

二、復興合併

復興合併可以理解為是第一種合併型別的一種特例,在復興合併中,主幹可以理解為是自從開創分支之後沒有任何修改,而分支是經過修改的,而且合併中分支是沒有版本選擇的。經過復興合併,分支中所有的修改都會合併到主幹中,合併的結果將使得分支和主幹一模一樣,從而可以刪除分支。

三、合併兩個不同的樹

此型別與前兩種型別不同,第一種型別可以選擇分支合併的版本,主幹不能選擇版本;第二種型別是主幹和分支都不能選擇合併的版本;而這種型別則是無論是主幹還是分支都可以選擇合併的版本,即可以選擇過去的乙個主幹版本與分支的某個版本進行合併。合併的時候以選擇的分支版本為主,如果選擇的主幹版本與分支版本有不同的地方,合併時主幹部分將被放棄。

起始url:選擇主幹目錄的url(應當和當前工作副本的url一致,這個是所謂的合併點)

結束url:選擇要合併的分支的url。

起始和結束的版本:一般起始版本應當找到最後一次同步時的版本,如果從沒有同步過(第一次合併),則選擇建立分支時的版本,結束版本一般是最新版本,如果你不想將某些內容合併進主幹的話,也可以選擇乙個合併點。

其實,如圖所示,這個merge,from可以是主幹,也可以是branch的。

雖然我沒去查官方文件,不過日常是這麼用的。。

(不得不吐槽,即使英文還可以,碰上太多專業情況,還是懵逼)

另外,一般而言的svn是有三個分支的:trunk,branch,tags

之前對tags一直懵懵懂懂,今天稍微看了下

TortoiseSVN 學習筆記

apache subversion svn 是乙個開源的版本控制系統,subversion管理著隨時間改變的資料。這些資料放置在乙個 資料檔案庫 repository 中。這個檔案庫很像乙個普通的檔案伺服器,不過它會記住每一次檔案的變動。這樣就可以把檔案恢復到舊版本,或是瀏覽檔案的變動歷史。subv...

TortoiseSVN常用配置

在windows下推薦使用烏龜 tortoise svn客戶端。tortoisesvn 是 subversion 版本控制系統的乙個免費開源客戶端,可以超越時間的管理檔案和目錄。檔案儲存在 版本庫 即sae svn倉庫 除了能記住檔案和目錄的每次修改以 外,版本庫非常像普通的檔案伺服器。你可以將檔案...

tortoise svn衝突解決

當檔案被別人修改並提交到svn伺服器後,如果自己本地的檔案沒有被更新為最新的版本,而且已經做了修改,這時候提交將會被成功,系統會提示你的版本已經過期,並要求你先進行更新,再提交,如下圖所示 依照提示進行更新,如果從伺服器更新下來的最新版本和本地的版本都對同乙個地方做了修改,則會提示衝突,提示頁面如下...