【问题标题】:Check for diff on update检查更新时的差异
【发布时间】:2012-03-19 21:11:00
【问题描述】:

我从 ubuntu 存储库安装了新的 svn 副本。版本是 1.6.12。

现在,例如,假设有两个用户:User1 和 User2。

第 1 天。

  1. 任何用户导入新项目。项目包含 1 个文件:main.cpp。
  2. 两个用户都结帐,现在他们都有工作副本。

第二天。

  1. User1 开始工作,从 main.cpp 中删除所有内容,提交并回家。

  2. User2 在 User1 离开更新后开始工作,他从存储库中获取了空的 main.cpp,没有任何冲突提示。

那么问题是否可以调整 svn 以便在上述情况下提示更新冲突?

【问题讨论】:

    标签: svn


    【解决方案1】:

    实际上没有冲突,除非 User2 在更新之前也进行了更改。

    svn update 仅表示使用存储库中的最新版本更新工作副本。因此,将空文件(文件的最新版本)提取到工作副本中是预期(和预期的)行为。

    【讨论】:

    • 更简洁:“...从 repo(所有和任何)的更改分发到工作副本”
    • 好的。我得到它。谢谢。但是 user2 在更新之前应该如何解决冲突呢?不仅在文件为空时。但是一般什么时候他的版本和服务器版本有几个区别呢?
    • 嗨 Alexander,当svn update 识别出冲突时(即 User2 进行了更改并且 User1 之前提交了更改的文件),它会通知用户(状态标志C)。此外,它将几个文件填充到 User2s 工作副本:存储库中的当前修订版、User2s 编辑文件的基本修订版、User2 更改文件和一个合并的文件,其中包含带有冲突标记的部分以及自动解决的部分。 User2 然后可以diff 这(至少)四个文件,合并它们(即解决冲突)并提交合并的文件。
    【解决方案2】:

    处于上述情况?

    没有冲突,因为user2没有任何本地更改,可能产生冲突,需要手动合并

    【讨论】:

      猜你喜欢
      • 2012-05-28
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多