Можно ли всегда (принудительно) перезаписывать локальные изменения при обновлении из SVN? Игнорировать конфликты?
Я знаю, что должен работать над своей собственной веткой, но несколько из нас находятся в одной ветке проекта. Один из разработчиков сделал фиксацию, и я просто хотел обновить свою локальную копию с помощью последней версии SVN. Запуск "svn update" я получаю этот вывод:
Restored 'index.html'
U somescript.php
Conflict discovered in file.xml'.
Select: (p) postpone, (df) diff-full, (e) edit,
(mc) mine-conflict, (tc) theirs-conflict,
(s) show all options:
есть ли вариант / способ перезаписать мои локальные изменения и получить последние файлы из subversion и игнорировать все конфликты?
Я посмотрел на некоторые другие сообщения в стеке, и все они не делают ответить на вопрос. Они говорят, чтобы удалить проект и проверить снова, что я думаю, если это лучший способ, так тому и быть... Но желая получить более подробную информацию о том, почему я не могу заставить обновление. Спасибо
EDIT:
поэтому я выбрал s 'показать все параметры':
(s) показать все параметры: s
(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
Я думаю, я должен пойти с опцией 'tc'?
5 ответов:
Если вы действительно хотите копию HEAD (последняя редакция в репозиториях), то вы должны
svn revert -R <path> // discard all your changes inside path (recursive) svn update // get latest revision of all files (recursive)
вот именно.
будьте осторожны, что вы потеряете все ваши изменения с момента вашего последнего "фиксации".
EDIT: добавил
-R <path>
С Isu_guy ответ для полноты и помощи читателям найти один полный ответ
ответ тато абсолютно правильный и, пожалуйста, обратите внимание на его осторожность. Вы потеряете все свои изменения. Просто уточнение синтаксиса и некоторые нюансы
SVN revert является нерекурсивным по умолчанию и нуждается в пути для работы. Чтобы сделать это рекурсивно добавить "-Р". Если вы находитесь в текущую папку "./ "для" пути "ниже или использовать абсолютный путь, как "/ path_to_your_folder"
svn revert -R <path>
обновление svn является рекурсивным. Если вы находитесь в каталоге вам не нужен путь все
svn update
Извините, я понимаю, что это довольно старый пост, но вместо двух операций, я бы сделал это:
svn up --accept tf
или
svn up --accept theirs-full
что сказал, "svn revert-R", то "svn up" в корне вашей рабочей копии также будет делать трюк. В моем случае у меня есть несколько WCs для различных проектов, поэтому я запускаю сценарий оболочки, который обновляет все их при запуске моего компьютера. Я не использую accept, скорее я использую "--accept p", чтобы отложить разрешение, так как это автоматизированный процесс, то я слияние любых конфликтов, которые SVN не может автоматически объединить самостоятельно (обычно это включает возврат, но это зависит).