SVN 更新和对过时文件的更改

SVN update and changes on out-of-date file

svn 更新究竟是如何工作的?我知道它将 svn 副本上的所有更改带到您的本地副本中。

我的文件已过期,导致无法提交我的副本,但出现以下错误:

file 'somename' is out of date

SO 上最常见的解决方案是执行 svn update 命令,然后执行 svn commit

但是,这不会让我丢失我对本地副本上的文件所做的更改,包括过时的更改吗?

您可以备份本地文件并获取 svn 更新。稍后使用任何文件比较工具合并回您的更改。 Beyond Compare 通常是我用来合并大文件的。或者,如果您将 eclipse 与 SVN 插件一起使用,它会简单得多。右键单击项目或文件,转到团队 > 与存储库同步。您将看到 Team Sync 视图,因为您应该看到您的文件处于传出更改或冲突状态。双击要合并的文件,然后将svn文件与本地合并。一切都完成后,右键单击文件并单击“标记为已合并”。最后签入文件。

它 "let you" 会丢失您的更改吗?我觉得是的。是否可能 丢失您的更改?一点也不。它会默默地破坏你的改变吗?绝对不是。

执行 svn update 会将存储库更改 合并 到您的工作副本中。假设您正在使用文本文件,这意味着如果您对与存储库更改相同的行进行更改,您将得到一个必须手动解析的 "merge conflict"。因此,如果您丢失了更改,那是因为您在解决冲突时搞砸了,而不是因为 SVN 所做的任何事情。