情況背景:
ibank.pdm文件最新版本有問題,版本號為5051。 我想在5050的版本上修改后提交,覆蓋5051版本的修改,也就是經過我修改后的5050版本,覆蓋5051版本的修改,提交成功並成為最新的版本5052。
使用TortoiseSVN軟件實現,版本1.6.10,步驟如下:
1.先將現在的5051版本ibank.pdm更新到我想要的5050版本
2.修改5050版本ibank.pdm,修改完畢后備份到另一個地方。不是放在當前svn目錄下就好,避免等下更新會對現有的5050版本ibank.pdm有影響。
3.備份完畢后,刪除現在5050版本的ibank.pdm,更新最新的5051版本ibank.pdm下來。
4.刪除剛更新下來的5051版本ibank.pdm,將剛備份的修改后的5050版本ibank.pdm復制到當前svn目錄,提交。
成功覆蓋提交!現在最新版本5052是5050版本修改后的一個版本,5051版本的內容成功覆蓋。
這里解釋下為什么有3、4這樣的步驟呢?
因為SVN提交的文件限定是在最新的版本上提交,若是在舊版本上的修改並提交,會錯誤提示你,請更新你的文件到最新版本。但是在我現在的情況下,我若乖乖更新,5051版本的ibank.pdm修改出會影響到我現在的5050版本,並且會有沖突,況且我想最新的版本也就是5052,沒有5051版本的修改,只是5050版本修改后的版本。所以我利用TortoiseSVN文件原理,TortoiseSVN信息會將SVN信息記錄到.svn文件夾中。它能判斷出我的ibank.pdm是5050版本,不是最新的版本5051,也是這個文件夾下記錄的信息的功勞。所以我將計就計,先備份我修改后的5050版本ibank.pdm,然后刪除,為什么刪除?因為最新版本5051版本修改出跟現在有很多的不同處,會提示文件沖突,當然你手動修改沖突出也是可以的,若你不嫌麻煩的話。所以我就先刪除,再更新。這樣更下來的ibank.pdm是5051版本,並且文件沒有沖突提示。這是.svn文件夾記錄的信息就是我的ibank.pdm是5051版本,於是我再把5051版本ibank.pdm刪除,把剛備份的修改后的5050版本復制過來,提交。SVN找出.svn文件夾記錄的ibank.pdm版本信息是5051版本(實際上5050版本),誤認為我現在的ibank.pdm是5051版本后的修改版本,於是我就能躲掉請你更新文件為最新版本的校驗,成功提交了。
自我總結:
這里充分利用了
狡黠的原理,比如說過一條河,直走不能通過,我繞一下路通過唄。所以說,解決問題不能一根筋,要靈活、變通。