SVN从命令行“修复移动”

时间:2011-01-21 21:08:45

标签: svn

我的IDE不知道我使用Subversion,每当我重命名一个类(Java)时,它都会重命名该文件而不通知版本控制系统。我当然希望保留文件的历史记录。据我所知,在TortoiseSVN中有一个名为“修复移动”的选项来修复移动,但这不是一个选项,因为我在Ubuntu上。有没有办法从命令行修复移动?

3 个答案:

答案 0 :(得分:14)

如果你还记得文件的旧名称/位置:

mv new-filename old-filename
svn mv old-filename new-filename

当然,您需要安装Subversion命令行客户端,您可能已经安装了该命令行客户端。如果没有,sudo aptitude install subversion subversion-client应该做到这一点。

根据你的评论,不,我不知道有比这更简单的方法。如果你不确定你的旧文件名是什么,svn stat可能会给你一个提示。

答案 1 :(得分:5)

将此添加到.bashrc

svn-repair() { mv -n -- "$2" "$1" && svn mv -- "$1" "$2"; }

然后你可以输入

svn-repair old-filename new-filename

答案 2 :(得分:3)

  

有没有办法从命令行修复移动?

不,这是SVN issue 1802。它自2003年开始营业,所以不要屏住呼吸。