Если обновление SVN испортит мою локальную среду, как откат? - PullRequest
0 голосов
/ 03 апреля 2012

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

Какая норма в этом случае?Надеюсь, мой вопрос достаточно ясен.

Ответы [ 3 ]

1 голос
/ 03 апреля 2012

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

Обычно каждый, кому требуется зафиксировать изменение, должен сначала обновить свою собственную версию и проверить, все ли стабильно, «протестировано» или, по крайней мере, скомпилировано (я предпочитаю, чтобы это было пуленепробиваемым для следующего один, чтобы прийти). А затем совершить его / ее изменения. Поэтому, как только вам понадобится обновление, у вас есть страховка, это обновление сохраняется как минимум в одной среде.

Если другие люди, с которыми вы работаете, не сотрудничают, вы можете создать ветку самостоятельно и выполнять объединения, когда это необходимо. Вы сможете зафиксировать любые изменения, сделанные вами до слияния, в вашей ветке. Таким образом, они будут сохранены в случае хаоса. Другая вещь, которую вы можете попробовать, - это оценить, кто "больше всего" мешает хранилищу (с точки зрения стабильности из предыдущей версии), и предложить их временно разработать в другой ветке.

1 голос
/ 03 апреля 2012

Вы можете заново создать свою рабочую копию:

svn update -r <revision_before_trouble>
  • Клиент SVN выполнит обратное объединение наборов изменений между текущей версией рабочей копии и более старой версией, которую вы обновляете. Для SVN слияние или обратное слияние одинаково - это просто применение различий к файлам.

  • Ваши локальные изменения не затрагиваются. Если существует конфликт между локальным изменением и набором изменений, который подвергается обратному слиянию, применяется обычный процесс слияния SVN, т.е. вы используете svn resolve, чтобы выбрать изменение, которое хотите сохранить. Вы не просто потеряете все свои локальные изменения.

  • Этот процесс вернет вашу рабочую копию в состояние до начала проблемы.

0 голосов
/ 03 апреля 2012

вы всегда можете вернуться к конкретному номеру ревизии.

svn up -r <revision_number>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...