在保留历史记录的同时在SVN中重命名文件时遇到了一些麻烦。
使用了这个线程,但是我敢肯定我只是做了一个新文件,并删除了旧的文件 ...(如何使用svn重命名文件?)
然后,按照注释,我确实创建了一个具有所需新文件名的新文件。
touch newfilename
svn rm newfilename --force
svn mv oldfilename newfilename
Run Code Online (Sandbox Code Playgroud)
这给了我:
A newfilename
D oldfilename
Run Code Online (Sandbox Code Playgroud)
使用svnX 0.9.13
由于您tortoisesvn的问题中有标签,这是使用 TortoiseSVN 1.9.7 的方法:
在您的工作副本文件夹中右键单击要重命名的文件,然后选择“TortoiseSVN > Repo-browser”
在打开的 Repo 浏览器窗口中,右键单击要重命名的文件并选择“复制到...”
出现一个对话框,要求您输入新文件名(文件显示为完整路径),不要更改路径,只需更改文件名,然后单击“确定”。
仍然在 Repo 浏览器窗口中,右键单击旧文件并选择“删除”
完成后,文件被重命名并保留其所有历史记录。
Subversion中的重命名实现为具有历史记录的副本(用于创建新文件)加上删除项(删除原始文件)。
如果您运行svn status,则应该看到状态newfilename为A +,表明newfilename已添加,但是历史记录也随之而来。
如果看到了,那么说明您做对了,您可以提交更改。我建议在目录级别提交,不要提交单个文件-这样,您的重命名操作将在单个修订版中捕获。
小智 5
如果执行此操作,则可以轻松重命名SVN文件并保留其历史记录。
svn move oldfilename newfilename
svn status
D oldfilename
A + newfilename
Run Code Online (Sandbox Code Playgroud)
如果看到此消息,则将保留文件更改历史记录。
| 归档时间: |
|
| 查看次数: |
4648 次 |
| 最近记录: |