Я внес изменения в многочисленные файлы в репозиторий SVN из Eclipse.
Затем я перехожу в каталог веб-сайта в окне Linux, где я хочу обновить эти изменения из репозитория в каталог там.
Я хочу сказать «svn update project100», который обновит каталоги в «project100» со всеми моими добавленными и измененными файлами и т. Д.
ОДНАКО, я не хочу обязательно обновлять изменения, которые я не делал. Итак, я подумал, что могу сказать «svn status project100», но когда я это сделаю, я получаю совершенно другой список изменений, которые будут внесены, ни одного из моих нет в списке, что странно.
Следовательно, чтобы быть уверенным, что в веб-каталог обновляются только мои изменения, я вынужден перейти в каждый каталог, где, как я знаю, есть внесенные мной изменения, и явно обновляю только эти файлы, например «svn update newfile1.php» и т. Д. что утомительно.
Может ли кто-нибудь пролить свет на стандартную рабочую процедуру здесь, а именно, как мне получить точный список всех изменений, которые будут сделаны, прежде чем я выполню команду «svn update»? Я думал, что это команда "статус".
svn status -q -u
... Показывает только изменения обновления и локальные изменения, относящиеся к файлам, принадлежащим репозиторию. Вы не получаете вопросительных знаков (?) От файлов, не являющихся репозиториями.В зависимости от того, что вы хотите знать между своей рабочей копией и последним репозиторием svn server, без обновления локальной рабочей копии, вы можете сделать следующее:
если вы хотите узнать, что было изменено в репозитории svn server, выполните команду:
если вы хотите узнать, был ли изменен один и тот же файл как в вашей локальной рабочей копии, так и в репозитории svn server, выполните команду:
если вы хотите получить список файлов, измененных между определенной ревизией и HEAD, выполните команду:
если вы хотите получить список файлов, измененных между отдельными ревизиями, выполните команду:
если вы хотите увидеть, что будет обновлено (без фактического обновления), выполните команду:
если вы хотите узнать, какое содержимое конкретного файла было изменено в репозитории svn server по сравнению с вашей рабочей копией, выполните команду:
если вы хотите узнать, какое содержимое всех файлов было изменено в репозитории svn server по сравнению с вашей рабочей копией, выполните команду:
источник
Вы можете увидеть, что будет обновляться (без фактического обновления), выполнив:
Подробнее здесь .
источник
svn merge --dry-run --revision BASE:HEAD .
how do I ... without doing an update?
a:first, do an update, then ...
:) :) :)Это то, что я искал. Сначала проверил Google, но в
svn help
конце концов зашел за меня :)источник
То же, но короче короче :):
источник
Вы можете использовать svn diff, чтобы увидеть разницу между вашей рабочей копией и репозиторием.
источник
svn update
Теоретически вы можете внести все свои изменения в ветку, которую вы создали для собственного использования. Тогда вы будете достаточно уверены, что вы единственный, кто совершил это.
ИМХО разработка фичи должна происходить так.
Затем вы можете обновить эту целевую машину из этой ветки, а не из магистрали.
источник