SVN文件更新似乎没有更新

时间:2012-06-07 00:20:23

标签: svn

好的,我做了一个

  

svn update

在我的回购中,但是一个特定文件似乎没有更新。我认为问题部分是由于其他人在同一个文件上工作。就像我在处理文件一样,他们显然做了一些重大调整。他们承诺了他们,我告诉自己不用担心我的变化是微不足道的。所以我想我会更新以获得最新的东西,让我的更改被覆盖,因为我可以快速重做我的东西。不幸的是,事实并非如此。

当我进行更新时,SVN将文件显示为已更新,但是当我打开文件时,没有更改。所以我猜SVN很聪明,不让我像我希望的那样覆盖我的文件。有了这个,我认为这是一种重置文件的方法,或强迫它采取改变。我只是不太了解SVN。

2 个答案:

答案 0 :(得分:1)

如果您首先删除您的文件,然后运行svn update,则该文件将替换为存储库中的最新文件。您的更改无法参与,因为您先删除了它们。然而...

通常,Subversion会将存储库中的更改合并到您的工作文件中。如果成功合并且没有冲突,那么您的更改其他更改将在svn update之后出现在工作目录中的文件中。

答案 1 :(得分:-1)

我认为你对SVN如何运作有一些重大误解。查看SVN书籍,了解如果2人同时修改同一文件会发生什么。

在给出答案之前,我会首先指出你问题中的错误:

  1. 您没有在回购中执行svn update,而是在工作副本上执行
  2. 如果您在本地工作副本中更改了文件A,而其他人也更改了A,并已提交。当您更新工作副本时,SVN将尝试合并您的更改,以及在repo中发生的更改(从您之前的更新/结帐开始)。结果似乎是您在最新文件A上修改文件。它将覆盖您的本地更改。
  3. 我不相信您的更新后会有“无变化”。我敢打赌,你仍然可以看到你的变化,因此你认为没有变化,我是对的吗?
  4. 在谈到错误之后,这里是答案: 如果您想放弃对某个文件更改的内容,并使用存储库中的文件,则应使用svn revert

    更新前后的svn revert文件都可以正常工作。