Tortoise SVN: разрешить конфликт, используя "их". Что это значит?

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

  • Решите конфликт, используя "их".
  • Решите конфликт, используя "мой".

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

Ответ 1

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

Устранение конфликтов с использованием "mine" означает, что вы отбросите их изменения и вместо этого используйте свою версию файла.

Ответ 2

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

(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

Ответ 3

Я согласен.

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

  • Разрешить использование репозитория (их)
  • Разрешить использование рабочей копии (мой)

Ответ 4

BuzzAnn верна. мои против них неоднозначны, поскольку то, что в репозитории может быть моим. Недвусмысленное различие - это репозиторий против локальной копии.

Ответ 5

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

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

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

"Mine" - это каталог, из которого выполняется SVN из (C:\Project1\Trunk).

"Их" - это каталог, в который вы входите и указываете в командной строке (C:\Project1\branches\UpdatesToProject1)

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

Ответ 6

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

В данном контексте:

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

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