Является ли книга SVN несовместимой с «переключением рабочей копии»? - PullRequest
1 голос
/ 29 сентября 2011

В главе SVN Book "Переключение рабочей копии" , похоже, говорится, что выполнение переключения 1) делает вашу рабочую копию идентичной переключенной ветви, на которую (как если бы вы сделали новую проверку) и 2) сохраняет изменения в вашей рабочей копии (чтобы вы могли зафиксировать их в переключенной ветви.) Это звучит для меня непоследовательно, потому что если переключатель делает это как новую проверку, то ваши изменения не могут быть сохранены. Кто-нибудь может объяснить, пожалуйста?

Вот соответствующие цитаты:

После «переключения» на ветку ваша рабочая копия ничем не отличается от той, которую вы получили бы от свежей проверки каталога.

...

Например, предположим, что у вас есть рабочая копия / calc / trunk и внесите в нее ряд изменений. Затем вы вдруг понимаете, что вместо этого хотели внести изменения в ветку. Нет проблем! Когда вы переключите свою рабочую копию в филиал, локальные изменения останутся. Затем вы можете проверить и зафиксировать их в ветке.

ТИА

1 Ответ

3 голосов
/ 29 сентября 2011

Установите флажок на этой странице под названием «Коммутаторы и обновления»:

Заметили ли вы, что выходные данные svn switch и svn update выглядят одинаково?Команда switch на самом деле является расширенным набором команды update.

Когда вы запускаете svn update, вы запрашиваете в хранилище сравнить два дерева.Репозиторий делает это, а затем отправляет описание различий обратно клиенту.Единственное различие между svn switch и svn update в том, что команда update всегда сравнивает два одинаковых пути.

То есть, если ваша рабочая копия является зеркалом / calc / trunk, то svn update автоматически сравнивает вашу работукопия / calc / trunk в / calc / trunk в ревизии HEAD.Если вы переключаете вашу рабочую копию на ветку, то svn switch сравнивает вашу рабочую копию / calc / trunk с другой веткой-каталогом в ревизии HEAD.

Другими словами, обновление перемещает вашурабочая копия во времени.Коммутатор перемещает вашу рабочую копию во времени и пространстве.

По сути, думайте, что команда "switch" говорит SVN: "эй, верните мою рабочую копию по этому новому URL-адресу хранилища, затем обновите мою рабочую копию«Копировать в последнюю версию этого нового URL».

Таким образом, комментарий «switch» делает вашу рабочую копию похожей на свежую проверку нового URL, если у вас нет локальных изменений в вашей рабочей копии.,Это не точно, если у вас есть локальные модификации.В этом случае ваша рабочая копия будет выглядеть как новая проверка нового URL с внесенными изменениями.

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