2012-03-04 58 views
2

我通常使用git,除了Subversion的基础知识之外,所以请小心。如何修复损坏的本地Subversion工作副本?

我在Windows 7上使用TortoiseSVN。SVN客户端最近宣布它需要升级,所以我这样做了。所有文件都丢失了它们的源代码控制图标,并且资源管理器中出现了一个新的菜单项,提示我将存储库工作副本升级到v1.7。我这样做,并看到附加的错误。

我搜索了它提到的文件,它不存在于我的本地存储库中。由于TortoiseSVN菜单已经简化为基本操作:Repo浏览器(打开一个空对话框),属性,设置,帮助,关于,因为菜单项不存在,所以我似乎无法执行清理。

事情的复杂性是我有本地更改,所以我不能垃圾我本地副本并从存储库更新我的本地。

如何修复我的损坏的本地副本,同时保持我的本地更改?

enter image description here

enter image description here

+0

我已经添加了我的本地副本中可用的TortoiseSVN菜单选项的屏幕截图。 – 2012-03-04 12:23:31

回答

1

您的工作副本需要更新,换言之,只需简单地使用新安装的TortoiseSVN客户端(1.7.x)进行全新结帐,而不是使用旧的工作副本。存储库不需要更新(如果你喜欢,你可以)。 最简单的解决方案是创建一个全新的签出到不同的目录,然后将您的更改复制到新的工作副本并从那里进行提交。为什么在没有事先检查最近的更改的情况下进行更新?

+0

理论上我可以做到这一点,但我没有记录改变的情况,所以合并可能会很痛苦。我讨厌将整个源代码树复制到新签出的版本上 - 不仅仅是因为我必须首先删除所有的snv文件夹。 – 2012-03-04 12:18:12

+2

“你为什么在没有事先检查所有最近的变化的情况下进行更新?”我修理TortoiseSVN不是要彻底摧毁我的本地副本。显然,事后我希望我有。 – 2012-03-04 12:18:47

+0

不是理论上的。你可以这样做。原因是您忽略了工作副本/客户端更新http://subversion.apache.org/docs/release-notes/1.7.html#wc-ng的建议。所以你必须做一次这项工作。没有其他解决方法。抱歉。 – khmarbaise 2012-03-04 12:21:36

1

的消息称:

尝试 '清理'。如果这不起作用,你需要做一个新的结帐。

所以我会做的是尝试清理。如果它不起作用,我会做一个新的结账。

这两个命令位于TortoiseSVN上下文菜单中。还有一个帮助菜单,如果你不明白这些命令是如何工作的。

如果您最终做了全新的结帐,您总是可以使用WinMerge比较旧的,损坏的工作副本和新的工作副本,并将您的本地更改重新应用到新的工作副本。

+1

我在我原来的问题中说没有Clean上下文菜单选项。它不再存在。我很高兴我使用git,这个龟客户端很糟糕。 – 2012-03-04 12:19:29

+0

@OllieC,您可以将这些菜单项从设置中恢复。另外请注意,这些选项仅在您位于SVN本地副本内时才会显示。我的显示25项。 – AaA 2016-10-19 09:41:11

2
  1. 清理存在,但 - 里面只有WC,它们虽然不更新WC,是不是你的情况
  2. 降级TSVN可以清理,之后你可以升级 TSVN 1.7(和更新WC后),但可以不这样做并使用1.6客户端
相关问题