2016-04-04 7 views
1

Отнюдь не эксперт svn, мне интересно, в каких сценариях вы бы не хотите svn update сразу после выполнения svn commit, считая, что * вы совершаете все в своей рабочей копии. Какие-нибудь практические примеры/сценарии?Когда не «svn commit && svn update»?

Другими словами, почему не все пользователи, использующие SVN, имеют псевдоним/функцию, например svn commit && svn update? (Без учета commit «s -m флага)

* Я привожу это предположение, потому что я думаю, что в целом поддерживает быть лучшей практикой при разработке под контролем версий, хотя, конечно, иногда раз срезать углы на это, и я подозреваю, это основной ответ на мой вопрос.

+0

Я думаю, что часть этого связана с тем, что SVN является CVCS, а не DVCS (например, git/hg). – tniles09

+2

Сначала я лично обновляю, а затем фиксирую. Если есть конфликты, совершение первого действия просто потерпит неудачу. – Troncoso

+2

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

ответ

0

Право. Возможно, стоит уточнить, что все обновления (включая , разрешающие любые конфликты), повторное построение и тестирование были выполнены , поэтому теперь вы готовы к фиксации. Это отправная точка для моего вопроса .

Я не могу придумать случай, когда вы не должны или не должны работать svn update после запуска svn commit. Предполагая, что все данные, приведенные выше, были выполнены, почему бы не сделать svn update? В то же время, почему вы хотите запустить svn update?

Запустите svn update при следующем запуске задачи, когда вы в следующий раз увидите, что в ветке функций вы работаете (или в любой другой ветке или туловище, на котором вы работаете в данный момент), и убедитесь, что запустите svn update перед внесением изменений.

Главное правило заключается в том, чтобы часто запускать svn update, чтобы избежать конфликтов с вашей работой и работой других (при условии, что вы изменяете одни и те же файлы).

Read SVNBook:

+0

«В то же время, почему вы хотите запустить обновление svn?» Потому что, пока я это сделаю, я не вижу свою фиксацию в журнале ('svn log'), даже если зафиксированные файлы обновлены.Это также заставляет меня задаться вопросом, что еще, кроме журнала, не синхронизируется с центральным репо. – tniles09

+0

Это работает Cygwin под Windows10 с cygwin svn v1.9.3 – tniles09

+0

@ tniles09 почему бы вам не запустить собственный клиент svn client voe? – bahrep

1

То, что я на самом деле использовать это функция Баш для svn update && svn commit (с добавлением -m, но я думаю, что зависит от ваши предпочтения в отношении того, как отправлять сообщения фиксации).

Это может быть svn update && svn commit && svn update, но если вы работаете с очень большим хранилищем, шансы не в том, что ваше хранилище не будет существенно изменены между первыми и последними обновлениями.