Ответ 1
Try:
svn status --show-updates
или (тот же, но короткий):
svn status -u
Я внес изменения в многочисленные файлы в репозиторий SVN из Eclipse.
Затем я перехожу в каталог веб-сайта в окне Linux, где я хочу обновить эти изменения из репозитория в каталог.
Я хочу сказать "svn update project100", который обновит каталоги под "project100" со всеми моими добавленными и измененными файлами и т.д.
ОДНАКО, я не хочу обязательно обновлять изменения, которые я не делал. Поэтому я думал, что могу сказать "svn status project100", но когда я это сделаю, я получаю совершенно другой список изменений, которые будут сделаны, ни один из моих в списке нечетный.
Следовательно, чтобы быть уверенным, что только мои изменения обновляются в веб-каталоге, я вынужден перейти к каждой директории, где я знаю, что есть изменение, которое я сделал, и явно обновлять только эти файлы, например. "svn update newfile1.php" и т.д., который является утомительным.
Может ли кто-нибудь пролить свет на стандартную рабочую процедуру здесь, а именно, как мне получить точный список всех изменений, которые должны быть сделаны до того, как я исполнил команду "svn update"? Я думал, что это команда "status".
Try:
svn status --show-updates
или (тот же, но короткий):
svn status -u
В зависимости от того, что вы хотите узнать, между вашей рабочей копией и последним svn серверный репозиторий, не обновляя локальную рабочую копию, вот что вы можете do:
если вы хотите узнать, что было изменено в svn-сервере, запустите команда:
$ svn st -u
если вы хотите узнать, был ли тот же файл изменен как в локальном рабочей копии и в репозитории сервера svn, выполните команду:
$ svn st -u | grep -E '^M {7}\*'
если вы хотите получить список файлов, измененных между конкретной версией и HEAD, команда запуска:
$ svn diff -r revisionNumber:HEAD --summarize
если вы хотите получить список файлов, измененных между paticular версиями, запустите команда:
$ svn diff -r revisionNumber:anotherRevisionNumber --summarize
если вы хотите увидеть, что будет обновлено (без фактического обновления), запустите команда:
$ svn merge --dry-run -r BASE:HEAD .
если вы хотите узнать, какой контент определенного файла был изменен в svn сервера по сравнению с вашей рабочей копией, выполните команду:
$ svn diff -r BASE:HEAD ./pathToYour/file
если вы хотите узнать, какое содержимое всех файлов было изменено в svn сервера по сравнению с вашей рабочей копией, выполните команду:
$ svn diff -r BASE:HEAD .
Вы можете увидеть, что будет обновлено (без фактического обновления), выпуская:
svn merge --dry-run -r BASE:HEAD .
Подробнее здесь.
Это то, что я искал. Сначала проверил Google, но svn help
закончил для меня:)
svn diff -r BASE:HEAD .
То же, но короче короче:):
svn st -u
Вы можете использовать 'svn diff', чтобы увидеть разницу между вашей рабочей копией и репозиторием.
В теории вы можете внести все свои изменения в ветку, созданную вами для вашего собственного использования. Тогда вы были бы уверены, что вы были единственным, кто это сделал.
Разработка функции IMHO должна быть выполнена следующим образом.
Затем вы можете обновить этот целевой компьютер из этой ветки, а не из магистрали.