如何修复“升级的”颠覆工作目录?
Posted
技术标签:
【中文标题】如何修复“升级的”颠覆工作目录?【英文标题】:How can I repair "upgraded" subversion working directories? 【发布时间】:2010-09-13 05:27:57 【问题描述】:这听起来可能很愚蠢,但有时我会遇到两个颠覆版本之间的版本冲突。我使用 sshfs 在开发服务器上挂载一个目录,然后使用本地 Vim 编辑代码。对于像更新、提交等颠覆性的东西。我在服务器上 ssh 并在那里做。但是,有时我混淆了我的 shell,不小心在挂载目录中的本地 shell 中进行了更新或提交。 Subversion 退出并出现错误,这很好。但是,当我尝试在我的 ssh 会话中的开发服务器上做同样的事情时,subversion 说工作目录/subversion 有一个错误的版本。服务器上的颠覆版本比我笔记本上的版本旧,所以我猜我的(较新)版本以某种方式升级了工作目录,因此它们与开发服务器上的旧版本不兼容。有时删除 .svn/lock 文件会有所帮助,但前提是我在笔记本上执行 subversion 命令后立即执行此操作。当我之后在开发服务器上执行命令时,锁定文件消失了,我看不到拯救结帐的方法。如果存储库不是那么大,这不会那么糟糕。尤其是当我做了很多更改但无法提交时。
我目前看到的唯一解决方案是将我更改的文件复制到某处,删除结帐,进行全新的结帐并将文件复制回来。
是否有更好的解决方案来挽救损坏的结帐和/或我的更改?
更新 链接的常见问题解答 Mikael Sundberg 包含答案。我在这里写下来,因为他没有明确提及。有一个脚本可以在安全的情况下降级升级的存储库:
http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py
【问题讨论】:
【参考方案1】:也许这个常见问题条目可能会有所帮助: http://subversion.tigris.org/faq.html#working-copy-format-change
【讨论】:
【参考方案2】:我不确定我是否正确理解了您的问题,但这里有一些提示:
第一个提示——你尝试过 SVN Clean 命令吗?
下一个可能对你没用:),但是很多用过CVS的人没有意识到SVN有这样的功能,所以我写下来。
如果您使用 Windows 和 Tortoise SVN client,您可以从上下文菜单(鼠标右键)中选择 显示日志 命令。当签入列表出现时,选择最后一个正确的并从上下文菜单命令中选择revert to this revision。
在其他情况下(不是 Windows 或 Tortoise SVN),请调查 documentation 以获取上述命令的命令行版本。
下一个技巧可以帮助您避免混用 shell。
你已经写过你使用 SSH shell——为了避免混合 shell 会话的问题,我总是为我登录的每个服务器(和帐户)使用不同的背景颜色(即,用于开发的黑底白字,用于开发的黄底白字) navy 在测试服务器上,黄色在生产服务器上绿色)。
这救了我很多次:)。
【讨论】:
谢谢,但遗憾的是,升级存储库后,Subversion 不再执行 any 命令,甚至log
或 status
也不执行,因此您的解决方案不会工作。以上是关于如何修复“升级的”颠覆工作目录?的主要内容,如果未能解决你的问题,请参考以下文章
微软AutoMatePostman Flow低代码编排如何颠覆未来IT服务