Черепаха SVN: Решите конфликт, используя «их».Что это значит? - PullRequest
72 голосов
/ 25 октября 2010

Может кто-нибудь объяснить, пожалуйста, разницу между следующими двумя вариантами Tortoise SVN для конфликтующих файлов:

  • Разрешить конфликт, используя «их».
  • Разрешить конфликт, используя 'mine'.

На боковой ноте.С какой стати никто никогда не сообщал об этом запутанном использовании терминологии как об ошибке?

Ответы [ 6 ]

54 голосов
/ 25 октября 2010

Разрешить конфликт с помощью «их» означает, что при попытке проверить два файла с конфликтующими правками SVN отменит ваши изменения и вместо этого использует изменения других лиц.

Разрешить конфликт с помощью «мои»что вы отмените их изменения и вместо этого будете использовать свою версию файла.

41 голосов
/ 25 октября 2010

Я хотел бы добавить весь список для дальнейшего использования:

(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 голосов
/ 10 декабря 2010

Я согласен.

Мне кажется, что было бы более понятно, если бы он сказал:

  • Разрешить с помощью репозитория (их)
  • Разрешить с помощью рабочей копии(мой)
7 голосов
/ 09 января 2013

BuzzAnn правильно. мое против их неоднозначно, поскольку то, что находится в хранилище, также может быть моим. Однозначное различие: хранилище и локальная копия .

5 голосов
/ 24 апреля 2013

Слияние командной строки SVN сбивает с толку, особенно при объединении ветви обратно в транк.«Мои изменения» - это те, что я сделал в ветке, но , что было бы неправильно в соответствии с SVN .Чтобы действительно усложнить ситуацию, SVN ссылается на пути как SOURCE, TARGET и HEAD в справке командной строки.

Вот простой ответ , если вы запустите оператор слияния из каталога C: \ Project1 \ Trunk

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

«Mine» - это каталог, из которого запускается SVN (C: \ Project1 \ Trunk).

«Theirs» - это каталог, который вы объединяете и указали в командной строке (C: \ Project1 \ branch \ UpdatesToProject1)

Было бы очень хорошо, если бы SVN указывал пути, на которые ссылаются MINE и THEIRS.

1 голос
/ 27 ноября 2018

Если вы согласны с тем, что находящееся в хранилище больше не (исключительно) ваше, оно передается всем, у кого есть доступ, тогда это может быть понятнее.

В этом контексте:

«их» означает «общий код команды в хранилище» «моя» означает (моя) «рабочая копия» (возможно, на локальной машине)

Итак: «использование их» заменяет вашу рабочую копию общей копией, отменяет изменения, существующие на вашем локальном компьютере. «использую мой», решив, что код в вашей рабочей копии - это то, что следует хранить в репозитории, отбрасывая то, что в данный момент находится в репо.

...