Создание ветки в AnkhSVN добавляет весь репозиторий в ветку вместо одного проекта - PullRequest
1 голос
/ 07 декабря 2011

У меня есть один репозиторий Subversion, содержащий все мои проекты Visual Studio.Хранилище организовано следующим образом:

repository/
    branches/
        project1_branch/
        ...
    tags/
        project1_tag/
        ...
    trunk/
        project1/
        project2/
        ...

Когда я щелкаю правой кнопкой мыши определенное решение, открытое в Visual Studio 2010, и выбираю Subversion --> Branch Solution, по умолчанию Из папки / URL-адреса находится каталог trunk.

Как создать ветку только для конкретного решения / проекта, над которым я работаю?

Заранее спасибо за помощь.

Ответы [ 2 ]

3 голосов
/ 23 апреля 2012

Интересно, предполагает ли AnkhSVN немного другую структуру папок репозитория?Если я не ошибаюсь, «рекомендуемая» структура предполагает, что папка транка представляет собой стабильную / текущую кодовую базу данного проекта, а не как папка, которая объединяет несколько стволов проекта.То есть я ожидал бы увидеть структуру более похожую на:

repository/    
    project1/
        branches/
        tags/
        trunk/
    project2/
        branches/
        tags/
        trunk/

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

Я бы с уважением предложил создать папку верхнего уровня project из корня хранилища для «тестового» проекта, организованного, как показано выше, затем выполнить его через AnkhSVN и посмотреть, возможно,Перспективные изменения в структуре вашего хранилища могут послужить вам лучше всего в долгосрочной перспективе.

3 голосов
/ 04 февраля 2012

АнхСВН пытается угадать, в каком месте дерева укоренен ваш проект. В большинстве случаев это корень вашей рабочей копии. (Вы не проверили в корне рабочей копии, не так ли?).

Если вы извлекаете ^/trunk (где ^ = ваш корень хранилища), AnkhSVN предложит объединить это с ^/branches/something. (Проверка на другом уровне может быть очень дорогой и нарушает шаблон Subversion, где ветвление дешево. При обновлении вы создадите все «дешевые» копии на вашем локальном компьютере)

Если вы хотите, чтобы AnkhSVN разветвлялся на другом уровне, вы можете установить корневой каталог проекта через «Файл-> Subversion-> Изменить контроль источника». А затем выберите вариант для вашего решения.

...