目录
- 一、前言
- 二、操作步骤
- 1. 使用SVN重命名(SVN rename)
- 2. 输入新名称
- 3. 确定重命名
- 4. 立刻进行一次提交(commit)
- 5. 补充
- 三、可能遇到的问题
- 1. 情况一
- 2. 情况二
- 3. 情况三
一、前言
如果只是在本地的文件系统中修改SVN中的文件(夹)名称,然后提交,是可以达成目的的,但是该文件(夹)之前所有的修改日志都没了。
SVN中的文件(夹)该如何重命名,并且还能保留之前的修改日志呢?
二、操作步骤
使用SVN的rename功能。
它的原理是:修改文件(夹)名称,相当于,新建一个新文件(夹),并删除以前的旧文件(夹)。
1. 使用SVN重命名(SVN rename)
右击文件(夹),选择TortoiseSVN,再选择SVN重命名(SVN Rename)。
2. 输入新名称
在“新名称(New name)”文本框中输入新的文件(夹)名称,再点击“确定(OK)”。
3. 确定重命名
此时的 V2
文件夹 还不是在版本控制的状态下。
4. 立刻进行一次提交(commit)
不要做其他修改,立刻进行一次提交(commit)。
注意:如果在SVN重命名后,进行了其他修改操作,将会导致之前的修改日志丢失或者不好追踪。
5. 补充
提交(commit)时,需要将包含被修改文件(夹)
的上一级目录整体提交,否则将会报错。
三、可能遇到的问题
1. 情况一
操作:本地存在文件夹A,SVN重命名为文件夹B后,没有执行提交(commit)操作,执行更新(update)。
现象:这时会把服务器上的文件夹B拉下来,且本地文件夹A会产生树冲突。
解决:右键做conflict处理,接受当前文件夹为work copy,并重新提交commit即可。
2. 情况二
操作:本地存在文件夹A,SVN rename修改为文件夹B,再SVN rename修改为文件夹A。
现象:这时,会存在三个不同的主目录记录,导致追踪不到原来的日志。
A——001
B——002——此时提交commit,日志会追踪到文件夹A。
C——003——此时提交commit,日志仅会追踪到002文件夹B,部分日志会丢失。
3. 情况三
注意:一次性修改多个文件(夹)名称,可能会导致报错,尽量不要一次同时修改多个文件(夹)名称。