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

问题描述 投票:71回答:6

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

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

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

svn version-control tortoisesvn
6个回答
54
投票

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

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


41
投票

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

(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

32
投票

我同意。

在我看来,它是否会更清楚地说:

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

7
投票

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


5
投票

SVN命令行合并尤其在将分支合并回主干时尤其令人困惑。 “我的变化”是我在分支中所做的,但根据SVN的说法,这是错误的。为了使事情真正复杂化,SVN在命令行帮助中将路径称为SOURCE,TARGET和HEAD。

如果从目录C:\ Project1 \ Trunk运行此merge语句,这是一个简单的答案

svn merge -r 60:68 C:\Project1\branches\UpdatesToProject1

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

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

如果SVN给出了MINE和THEIRS引用的路径,那将是非常好的。


1
投票

如果您接受存储库中的内容不再(仅)您的内容,则会与所有具有访问权限的内容共享,然后它可能会更清晰。

在这方面:

“他们的”意味着“团队在存储库中的共享代码”“我的”意味着(我的)“工作副本”(可能在本地机器上)

因此:“使用他们的”用共享副本替换您的工作副本,丢弃您本地计算机上存在的更改。 “使用我的”决定工作副本中的代码应保存在存储库中,丢弃当前存储库中的内容。

© www.soinside.com 2019 - 2024. All rights reserved.