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
Если вы соглашаетесь с тем, что находящееся в хранилище больше не (исключительно) ваше, оно передается всем, у кого есть доступ, тогда это может быть более понятным.
В данном контексте:
"их" означает "общий код команды в хранилище" "мой" означает (моя) "рабочая копия" (возможно, на локальной машине)
Итак, "использование их" заменяет вашу рабочую копию общей копией, отменяет изменения, которые существуют на вашем локальном компьютере. "использую мой", решив, что код в вашей рабочей копии - это то, что следует хранить в репозитории, отбрасывая то, что в данный момент находится в репо.