这种方式是错误的,其实TortoiseSVN有“移动”功能。为什么是错误的,一来这种方式移动的文件丢失了版本信息,二来增加的“提交”操作的数据传输量,三来导致中心库的磁盘浪费。TortoiseSVN并非没有“移动”功能,而是隐藏在“改名”操作中。这可能源自UNIX的传统,改名即移动。
下面以一个简单的例子说明TortoiseSVN中的“移动”操作:
1 我希望把工作版本“E:\MyProjects\move\test”中的“test1\a\foo.c”移动到“test2\”下,并改名为“bar.c”

2 使用TortoiseSVN的“改名”功能,输入“../../test2/bar.c”,“..”代表上级目录,目录斜杠采用UNIX风格

3 确定后,原来的目录下,“foo.c”消失了,以“bar.c”为名出现在“test2\”下

4 由于“test1\a\”为空,我不想要这个目录了,所以删去

5 “提交”操作,注意看“变更列表”第三行第三列,“增加(+)”中有加号,这说明这个增加是由“移动”操作导致的,另外写提交日志是好习惯

6 “提交”成功后,看看SVN日志,列表里“/test2/bar.c”那一行的第四列是版本号“1”,说明这个“移动”操作继承了旧的版本信息。

至此,是不是有种满足感,哈哈。