svn没有恢复旧版本的直接功能,不过可以使用svn merge命令恢复。
比如说当前HEAD为14,而我要恢复成10版本,怎么做?
用svn merge:
svn update
svn merge --revision 14:10
svn commit -m "restore to revision 10"
可能会很奇怪,因为不理解为什么合并能恢复旧版本。
这
里要理解一个关键点,就是svn merge的原理。merge是比较指定版本的差异,然后把这些差异应用到本地工作副本,而-r后的14:10,是指相
对于版本14来说版本10的变化(注意,这个版本的次序很重要。),也就是相对版本14,我版本10添加了哪些文件或目录,以及哪些文件添加了哪些行删除
了哪些行。又因为本地版本是最新的14,所以把这些差异应用到本地版本时就等于把14改变成10,其效果等于还原到版本10。然后提交,最后的版本号是
15。