Филиалы TortoiseSVN - программирование
Подтвердить что ты не робот

Филиалы TortoiseSVN

Я использовал svn некоторое время, но недавно в проект добавили пару команд. Одна из команд создала новый филиал и попросила меня проверить некоторые из их изменений. Я пошел в каталог, щелкнул правой кнопкой мыши, svn- > switch и выбрал новую ветку. Я вошел и попытался повторить что-то на странице, на которой я был, чтобы посмотреть, работает ли я в новой ветке, и я не был. Это немного превышает то, что я делаю, но с тем, что проект становится настолько большим, что мне нужно это изучить.

Исходя из этого, мой вопрос... есть ли что-то еще для этого, чего я не делаю? После переключения рабочей копии на эту новую ветку, как я могу работать над ней?

4b9b3361

Ответ 1

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

Смотрите раздел из документов Tortoise:

Чтобы проверить или переключиться...

... это (не совсем) вопрос. Во время загрузки все, от желаемой ветки в хранилище до вашей рабочей directory, TortoiseSVN → Switch... только переносит измененные данные на вашей рабочей копии. Хорошо для сетевой нагрузки, хорошо для вашего терпения.: -)

Чтобы иметь возможность работать со своей свежей сгенерированной веткой или тегом, несколько способов справиться с этим. Вы можете:

TortoiseSVN → Checkout, чтобы сделать новую проверку в пустой папке. Вы можете проверить в любом месте на локальном диске, и вы можете создайте столько рабочих копий из своего репозитория, сколько захотите.

Переключите текущую рабочую копию на вновь созданную копию в репозиторий. Снова выберите папку верхнего уровня вашего проекта и используйте TortoiseSVN → Переключить... из контекстного меню.

В следующем диалоговом окне введите URL-адрес ветки, которую вы только что создали. Выберите переключатель Head Revision и нажмите OK. Ваш рабочий копия переключается на новую ветку/тег.

Коммутатор работает так же, как Update, поскольку он никогда не отбрасывает ваш локальный изменения. Любые изменения, внесенные вами в рабочую копию, которые не но они будут объединены, когда вы сделаете Switch. Если вы это сделаете не хотите, чтобы это произошло, тогда вы должны либо зафиксировать изменения до переключение или возврат рабочей копии к уже совершенному (обычно HEAD).

Если вы хотите работать на багажнике и ветке, но не хотите, чтобы в новой проверке вы можете использовать проводник Windows, чтобы сделать копию своего trunk checkout в другой папке, затем TortoiseSVN → Switch... скопируйте в новую ветку.

Ответ 2

В обычном диалоговом окне "Свойства" (щелкните правой кнопкой мыши на проводнике Windows) у вас есть вкладка "Subversion", которая сообщит вам, на какой URL указывает файл или каталог. Используйте это, чтобы убедиться, что вы действительно переключились на правильную ветку.

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

Ответ 3

Возможно, существует неправильное представление svn switch:

Сначала я подумал, что наличие команды switch означает, что для правильного функционирования SVN существует "текущая" или "выбранная" рабочая копия. Как я сейчас работаю на багажнике, я работаю над ветвью B, отсюда "переключение" с рабочей копии на другую. Истина такова: нет такой вещи, как текущая рабочая копия! Есть только несколько локальных рабочих копий: один для туловища, один для ветки другой для тега и т.д. Но никто не будет "неявно выбран".

Как говорит Пол Сасик: switch позволяет, например, иметь только одну рабочую копию, скажем, туловище, а затем объединить эту локальную рабочую копию с целевой ветвью или тегом из удаленного репозитория. switch только синхронизация различий между локальными и удаленными устройствами, что позволяет избежать полной проверки решения. Прошлая экспрессия команды, каждая последующая фиксация на рабочей копии будет происходить в удаленной папке репозитория, на которую была переключена таргетинг. Независимо от того, что начальная проверка была для этой локальной папки.