Что такое рабочая копия и что для меня "переключение" в Tortoise SVN?

У меня есть программное приложение, и я достиг важной вехи - версии 2.0.

Я решил, что хочу пометить эту версию как «Версия-2.0», поэтому я назвал этот снимок. Я также создал ветку «Версия 2.0» на тот случай, если мне нужно что-то исправить и снова объединить с моей основной веткой.

После прочтения файла справки Tortoise SVN он сообщает мне, что я могу переключить свою «рабочую копию» на только что созданную ветку.

Что это значит?

В настоящее время у меня есть:

/ Проект / Магистраль /
/ Проект / Теги /
/ Проект / Филиалы /

Все проверили. Так какой будет смысл «переключения»? В настоящее время я просто захожу в свою папку / trunk и выполняю свою работу. И когда я сделал свой тег и ветку, он создал папки в моих папках / Tags / и / Branches / после того, как я сделал обновление.

Почему бы мне просто не пойти в /Branches/Experiemental-v3.0/ и выполнить там свою работу, если бы я захотел?

Может кто-нибудь объяснить мне понятие «рабочая копия» и «переключение»? Что мне не хватает? У людей вообще не проверяется весь репозиторий, не так ли?

Ответов (5)

Решение

Рабочая копия - это копия, которую вы зарегистрировали в своей рабочей области. Неважно, ветка это или из ствола. Это то, над чем вы работаете.

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

Так что рабочая копия - это ваша касса, как бы она ни была получена.

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

Вы проверили все дерево проекта - вероятно, это не то, что вам нужно. Для работы со стволом проверьте копию с корнем в «стволе», а не в корне проекта. Точно так же для работы с веткой выберите только ту ветку, которая вам нужна.

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

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

Дэйв

Как правило, нет необходимости проверять весь репозиторий. Ветви и теги в Subversion должны быть дешевыми, т. Е. Они не создают копии идентичных файлов, а просто ссылаются на них. Когда вы проверяете весь репозиторий, когда кто-либо по какой-либо причине выполняет ветвление или теги, это внезапно увеличивает пространство, используемое на вашем локальном жестком диске.

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

Или у вас может быть одна касса под названием `` проект '', и если она изначально указывает на ствол, вы можете переключить ее на одну из веток или тегов - это способ повторно использовать исходную кассу, чтобы вам не приходилось получать все сначала.

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

Рабочая копия - это ваша копия проверенного вами кода. Обычно вы проверяете только / Project / trunk /, а не всю структуру репозитория. При переключении изменяется корень вашей рабочей копии. То, как вы работаете с SVN, отличается от того, как это следует делать.