这可能听起来很愚蠢,但有时我遇到两个版本的颠覆之间的版本冲突。我用sshfs在开发服务器上安装一个目录,然后用我的本地Vim编辑代码。对于像更新,提交等颠覆的东西我在服务器上ssh并在那里做。但是,有时我混淆了我的shell,并意外地在安装目录的本地shell中执行更新或提交。 Subversion退出时出现错误,这很好。但是,当我尝试在我的ssh会话中在开发服务器上做同样的事情时,subversion说工作目录/ subversion的版本有误。服务器上的Subversion版本比笔记本上的版本旧,所以我想我的(更新的)版本以某种方式升级工作目录,以使它们与开发服务器上的旧版本不兼容。有时删除.svn/lock文件会有所帮助,但前提是我在我的笔记本上执行了subversion命令后立即执行此操作。之后,当我在开发服务器上执行该命令时,锁定文件消失,并且我看不到救援结帐的方法。如果存储库不那么大,这不会那么糟糕。特别是当我做出很多改变并且不能提交时。如何修复“升级”的颠覆工作目录?
我看到目前唯一的解决办法是复制我的地方更改的文件,删除结账,做一个完整的新的结算和文件复制回。
有没有更好的解决办法来拯救一个破碎的检验和/或更改?
UPDATE 常见问题Mikael Sundberg链接包含答案。我把它写在这里,因为他没有明确提及它。还有,可以降级升级库脚本,当它是安全的:
http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py
谢谢,但在版本库升级之后,Subversion不再执行任何*命令,甚至没有`log`或`status`,所以你的解决方案将无法工作。 – jkramer 2008-09-25 20:09:02