Tortoise SVN:使用'他们'解决冲突。这是什么意思?

时间:2010-10-25 15:00:54

标签: svn version-control tortoisesvn

有人可以解释Tortoise SVN在冲突文件上的以下两个选项之间的区别:

  • 使用'他们'解决冲突。
  • 使用'mine'解决冲突。

旁注。为什么到目前为止还没有人将这种令人困惑的术语用作错误?

6 个答案:

答案 0 :(得分:53)

使用'他们'解决冲突意味着当您尝试签入两个编辑冲突的文件时,SVN将丢弃您的更改并改为使用其他人更改。

使用“我的”解决冲突意味着您将丢弃其更改,并使用您的文件版本。

答案 1 :(得分:40)

我想添加整个列表以供进一步参考:

(e)  edit             - change merged file in an editor
(df) diff-full        - show all changes made to merged file
(r)  resolved         - accept merged version of file

(dc) display-conflict - show all conflicts (ignoring merged version)
(mc) mine-conflict    - accept my version for all conflicts (same)
(tc) theirs-conflict  - accept their version for all conflicts (same)

(mf) mine-full        - accept my version of entire file (even non-conflicts)
(tf) theirs-full      - accept their version of entire file (same)

(p)  postpone         - mark the conflict to be resolved later
(l)  launch           - launch external tool to resolve conflict
(s)  show all         - show this list

答案 2 :(得分:32)

我同意。

在我看来,如果它说的话会更清楚:

  • 使用存储库(他们的)
  • 解决
  • 使用工作副本(我的)解决

答案 3 :(得分:7)

BuzzAnn是对的。 mine vs他们的是不明确的,因为存储库中的内容也可能是我的。明确的区别是存储库与本地副本

答案 4 :(得分:5)

SVN命令行合并尤其令人困惑,特别是在将分支合并回主干时。 “我的更改”是我在分支中创建的,但根据SVN 会出错。为了使事情真正复杂化,SVN在命令行帮助中将路径称为SOURCE,TARGET和HEAD。

如果您从目录C:\ Project1 \ Trunk

运行此合并语句,这是简单答案
svn merge -r 60:68 C:\Project1\branches\UpdatesToProject1

“我的”是运行SVN的目录(C:\ Project1 \ Trunk)。

“他们”是您要合并并在命令行中指定的目录(C:\ Project1 \ branches \ UpdatesToProject1)

如果SVN给出了MINE和THEIRS引用的路径,那真是太好了。

答案 5 :(得分:1)

如果您接受存储库中的内容不再(仅是)您的内容,则将其与所有具有访问权限的用户共享,那么可能会更清楚。

在这种情况下:

“他们的”是指“团队在存储库中的共享代码” “我的”是指(我的)“工作副本”(可能在本地计算机上)

所以: “使用他们的”将您的工作副本替换为共享副本,放弃您在本地计算机上存在的更改。 “使用我的”决定工作副本中的代码是应该存储在存储库中的代码,而丢弃存储库中当前的代码。