有人可以解释Tortoise SVN在冲突文件上的以下两个选项之间的区别:
在旁注。为什么到目前为止还没有人将这种令人困惑的术语用作错误?
使用'他们'解决冲突意味着当您尝试签入两个具有冲突编辑的文件时,SVN将丢弃您的更改并使用其他人更改。
使用“我的”解决冲突意味着您将丢弃其更改,并使用您的文件版本。
我想添加整个列表以供进一步参考:
(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
我同意。
在我看来,它是否会更清楚地说:
BuzzAnn是对的。我和他们的是不明确的,因为存储库中的内容也可能是我的。明确的区别是存储库与本地副本。
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引用的路径,那将是非常好的。
如果您接受存储库中的内容不再(仅)您的内容,则会与所有具有访问权限的内容共享,然后它可能会更清晰。
在这方面:
“他们的”意味着“团队在存储库中的共享代码”“我的”意味着(我的)“工作副本”(可能在本地机器上)
因此:“使用他们的”用共享副本替换您的工作副本,丢弃您本地计算机上存在的更改。 “使用我的”决定工作副本中的代码应保存在存储库中,丢弃当前存储库中的内容。