2015-07-12 114 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重新将其重命名!天啊!奖励! –

相关问题