2015-07-12 49 views
0

我不太清楚,如果我很奇怪或什麼,但似乎我找不到在svn中重命名文件的正確答案。在svn中重命名文件的更好方法是什麼?

官方文檔假設我將(在編碼和維護的所有擔憂之外)使用svn重命名文件,然後再進行更改!

我錯過了什麼或什麼?可以svn接受重命名我沒有強迫我使用文件系統恢復舊文件,並將我使用的新文件移動到另一個文件夾,然後才能使(svn mv old_file new_file),然後只有我可以帶回我工作的新文件然後將其更換回來!

我在Windows上使用SilkSVN版本1.8.13。

回答

3

可以使用svn接受我沒有使用文件系統重命名

號操作系統級別的名稱會產生破歷史記錄(兩個不相關文件的行動 - 「添加文件」和「刪除文件」)在日誌沒有兩個文件之間的關係,正確地移動相反|重命名的文件

>svn log -q -v intefaces.txt --stop-on-copy 
------------------------------------------------------------------------ 
r5 | Badger | 2015-07-12 20:58:23 +0500 (Вс, 12 июл 2015) 
Changed paths: 
    A /trunk/API/intefaces.txt (from /trunk/inteface.txt:4) 
... 
+0

所以唯一的方法是先在svn中重命名,然後在IDE中進行更改,對不對? –

+1

@Ghasan - 是,或者「更換SCM」 –

1

我不知道SilkSVN,和我很肯定的命令行沒有這一點,但TortoiseSVN的有「修復移動」功能可用於修復您所處的情況必須使用SVN重命名文件,並使用操作系統命令(或者,如果您必須使用外部工具升級/重命名文件,我正在看你,Microsoft)。

在TortoiseSVN中,如果你已經重命名了一個文件並且SVN還不知道,你可以使用「檢查修改」來查看「缺失」文件和「未版本化」文件。用CTRL-Click突出顯示,然後上下文菜單包含一個「修復移動」選項,該選項將文件標記爲已重命名而不是未版本化的添加/刪除。

請注意,即使缺少此功能,您不需要還原舊文件,只需暫時重命名/將正在工作的文件重新移回其舊位置,然後使用svn move將其放回到您想要的位置它:SVN "repair move" from the command-line

+0

男人!我無法想象我無法想象它!我的意思是使用OS命令將舊文件重新命名爲新文件,並使用svn重新將其重命名!天啊!獎勵! –

相關問題