Как перезаписать содержимое хранилища моей рабочей копией в TortoiseSVN? - PullRequest
5 голосов
/ 11 марта 2009

Допустим, я знаю, что со мной будет конфликт, но я не хочу иметь дело со слиянием или чем-то еще.

Я просто хочу перезаписать версию репозитория своей собственной. Для чего нужна команда tortoisesvn?

Ответы [ 3 ]

9 голосов
/ 11 марта 2009
  1. Сначала вы должны сделать обновление (SVN Update), чтобы конфликт действительно произошел.
  2. Затем вы получите три файла в вашем каталоге: ваше имя файла .mine ваше имя файла .rX ваше имя файла .rY (X и Y - оригинал и новая ревизия цифры)
  3. Переименуйте файл .mine в исходное имя файла.
  4. Пометить конфликтующий файл как разрешенный. (TortoiseSVN -> Resolved) (.r? Файлы будут удалены автоматически)
  5. После этого вы можете зафиксировать файл как обычное изменение. (SVN Commit)
6 голосов
/ 11 марта 2009

Посмотрите на команду svn resolve из красной книги . С клиентом командной строки вы сможете запустить

svn update
svn resolve -R --accept mine-full

Не похоже, что TortoiseSVN делает это доступным, но если у вас есть клиент командной строки в качестве резервной копии, это может быть удобно. В противном случае я бы пошел с хаком, подобным описанному Нейлом (переместить файлы рабочей копии, обновить, заменить файлы рабочей копии).

Большое предупреждение: использование команды Resolved... вместо этого примет версию, содержащую конфликт, после обновления; Вы действительно хотите файл до обновления.

1 голос
/ 11 марта 2009

Другая (ужасная) возможность:

  • Проверьте версию, с которой вы будете конфликтовать, в отдельный каталог из ваших собственных материалов
  • Скопируйте ваши рабочие файлы поверх файлов в отдельном каталоге - будьте осторожны, чтобы не скопировать файлы .svn
  • Фиксация из отдельного каталога
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...