如何撤销TortoiseSVN的更新

4
我试图在更新到新版本之前检索我的工作文件副本。问题在于,某种程度上Tortoise引起的混乱使得一天的工作代码无法编译。
我试图更新到先前的版本,但由于SVn将所有文本都合并在一起,所以出现了很多无法解决的冲突。
Tortoise SVN是否会在更新之前本地版本化文件,我应该在哪里找到这个文件?我尝试在.svn\prestine下查找,但只找到了旧版本的我的代码。
请有人帮忙。

我认为在这种情况下恢复早期内容是不可能的。我也很好奇是否有任何方法可以做到这一点,因为这种情况有时会发生在我身上。 - Anil Soman
@AnilSoman:有一些版本控制系统可以完成这个任务。使用其中一个作为Subversion客户端。 - Jan Hudec
你有任何 .mine 文件吗?当出现合并冲突时,Tortoise SVN 通常会在合并的冲突文件旁边创建一个 .mine 和一个 .theirs 文件。 - Matthew Strawbridge
我怀疑是Tortoise本身损坏了你的文件。更有可能的是,你合并了别人所做的更改(通过更新),这使得整个项目无法编译。正如Matthew Strawbridge指出的那样,也有可能存在未解决的合并冲突。在任何一种情况下,你都应该解决问题(参见此处此处,而不是退回。Tortoise不会在本地保留中间版本。 - alroc
我认为问题出在 SVN 合并上,当我第一次更新时它确实显示了一些冲突,但我编辑了它们并标记了文件为已解决。问题是,某种方式我有段落之后是代码段,而且有重叠的单词。幸运的是,我保持了 SVN 冲突编辑器打开。只需取 (mine) 面板并替换文件即可。我简直不敢相信在发布问题之前没有注意到这个问题。 - Zaid Amir
我认为“无法编译”只是掩盖了我遇到的问题。事实上,当我在更新后查看文件时,它以一种混乱的方式出现,我发誓我的代码段中有混杂的单词。 - Zaid Amir
1个回答

1

很遗憾,没有办法做到。你运气不好。

我解决它的方式是使用git作为版本控制客户端。Git与Subversion有很大的区别,而且Subversion交互还会添加一些限制,但它可以更好地保护您免受合并冲突造成的工作丢失。

此外,它支持单独提交变更并保留本地变更堆栈,如果我在执行某个较大任务期间发现错误并希望将其推送到主干,同时主要工作仍在进行中或者我想要将工作分解为更容易检查的逻辑片段,这非常有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接