2010-01-17 2 views
8

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

У меня есть решение Visual Studio, которое состоит из 5 проектов webAppliation. Мне нужно взять его и поработать над ним в ветке. Когда я пытаюсь расшириться его, он просит меня одного из этих вариантов

  • головных ревизии в хранилище
  • Определённой ревизия в хранилище
  • ревизии рабочей копии

alt text http://img25.imageshack.us/img25/3747/svnfile.jpg

Проблема 1: Что это такое? Я смущен «пересмотром главы» и «рабочей копией», поскольку они кажутся мне такими же.

alt text http://img34.imageshack.us/img34/8079/svn2.jpg

EDIT:

Задача 2: Почему косяк мы ответвление от самого Repository GUI (будет голова пересмотра)?

Задача 3: Можете ли вы перечислить шаги, необходимые для перехода из каталога!

ответ

14

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

Когда вы введете ветку, вас попросят разветвить с определенного момента. TSVN спрашивает вас, что вы хотели бы, чтобы точка быть, и у вас есть один из трех вариантов:

  • , где вы работаете с прямо сейчас (ваш пересмотр копия рабочего)
  • где хранилище в настоящее время находится прямо сейчас (HEAD редакция репозитария)
  • другой произвольный пересмотр (конкретная редакция)

Update: Th e OP добавил некоторые дополнительные вопросы, которые не были частью оригинала, поэтому я внесла поправки в свой ответ.

Почему мы не можем отделить от самого репозитория GUI, (будет ли пересмотр главы)?

TortoiseSVN GUI не представляет полный набор операций, которые возможны с Subversion. Subversion - это действительно набор инструментов командной строки, а TSVN - обертка вокруг них.Если вы хотите, чтобы полностью создать новую ветку на сервере, просто используйте:

svn copy svn://example.com/repo/trunk/ svn://example.com/repo/branches/1.4 

Вы можете перечислить шаги, необходимые для расшириться из каталога?

Руководство TortoiseSVN достаточно подробно описано в этом документе. См. here.

+0

Спасибо, приятель, оцените. Сделать мир проще для проживания! –

+0

Рад, что это помогло! –

+0

вы можете создать филиал удаленно, см. Мой ответ. –

2

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

3
  • Редакция HEAD означает последнюю версию редакции в репозитории.
  • конкретная ревизия в репозитории: здесь вы можете ввести любую ревизию, которая вам нравится. TortoiseSVN заполняет в редакции вашу рабочую копию автоматически. Но вы можете, конечно, изменить это (возможно, вы хотите пометить из ревизии, которую вы создали неделю назад). Версия TortoiseSVN часто заполняется автоматически - это ревизия вашего репозитория (то есть HEAD), особенно если вы часто обновляете. Но: пока вы готовитесь к работе с тегом branch/tag, кто-то другой может совершить что-то, что вы, возможно, не хотите включать в ветку/тег. Вот почему безопаснее использовать эту ревизию вместо HEAD. Однако, если вы уверены, что в это время никто не совершает, вы можете использовать HEAD здесь.
  • рабочая копия: используйте это, если вы работаете с копией, имеют локальные модификации, которые вы хотите включить в ветку/тег. Эта опция полезна, если вы хотите сохранить свою работу в филиале (также известном как стеллаж).
2

Чтобы ответить на вопрос # 2, вы можете создать ветвь от TortoiseSVN GUI. Используйте Браузер репозитория и найдите путь, из которого вы хотите перейти, и щелкните правой кнопкой мыши по папке и выберите «Копировать в ...». URL, который вы вводите, будет URL-адресом, который вы хотите разветвить , до (обычно в корневой папке «ветви»).

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