SVN中邪恶的replace
(转载请注明来源于金庆的专栏)
用TSVN客户端删除一个文件, 然后再新建一个同名文件,
可以看到该文件上的图标被打上了TSVN的小红叉.
然后Add, Commit, 就会出现一条replace记录.
replace的操作会有个提示, 就是Add(as replacement)...命令项与普通的Add不同.
意思应该是该文件被替换了.
邪恶之处是以前的更改日志显示不出来了.
用revision graph可以看到所有历史, 只是在replace处是断裂的.
也就是说替换的效果是重新开启一个文件的更改记录, 隐藏之前的记录.
我想不出什么情况下需要这种功能.
更邪恶的是, revert changes from this revision会失败(TSVN 1.4.3).
错误原因是该文件的上个版本不存在.
好像所有的Add操作都是无法revert, 应该算是个缺陷吧?
为了还原该替换,须删除该文件, 然后revert changes from this revision.