Организация ветвей SVN с помощью TortoiseSVN

как организовать филиалы в системе SVN? Я использую TortoiseSVN, так как я использую Windows.

В настоящее время у меня есть такая структура файлов/каталогов. Я несколько привыкаю к управлению пронумерованными версиями, хотя не вижу полной картины того, как работает эта система управления.

program_maintrunkcorefile.php
program_maintags.0corefile.php
program_maintags.1corefile.php
program_maintags.2corefile.php

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

program_modtrunkcorefile.php
program_modtrunkadditionlalfile.php
program_modtags.0corefile.php
program_modtags.0additionalfile.php
program_modtags.1corefile.php
program_modtags.1additionalfile.php
program_modtags.2corefile.php
program_modtags.2additionalfile.php

когда я щелкните правой кнопкой мыши на папке ствола основной программы и выберите TortoiseSVN -> Branch/Tag и укажите путь к /program_main/branches/program_mod/1.0, он пытается загрузить файлы в папку филиала в основной каталог проекта на общедоступном сервере. Основной каталог проекта является публичным и видимым для всех, я бы не хотел загружать измененную(ветвь) версию на этот сервер.

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

Спасибо за Ваши советы и информацию.

19
задан Teno
06.03.2023 19:06 Количество просмотров материала 3638
Распечатать страницу

1 ответ

заметки

  • организация дерева репозитория, функции различных узлов внутри репозитория Subversion-это всего лишь вопрос соглашений," лучших практик " и привычек и строго связанных со стилем работы,не используются клиентские инструменты для доступа к репозиторию. Т. е. "использование TortoiseSVN" не имеет значения в свете вашей задачи (та же/ найденная и удовлетворенная / техника будет / может быть использована с любым svn-клиентом на любом OS)

  • код бизнес-задач должно быть определено (лучше и правильнее, из моего POV) не как "как использовать ветви", а как "как хранить и связывать связанные проекты в случае Subversion SCM-backend", где использование ветвей (или любой другой иерархии внутри репозитория) является только одним и не лучшим (IMNSHO) выбором

решений

Subversion внешние

любая часть SVN-репозитория, которую необходимо клонировать в любое другое место (и связь между клоном и оригиналом, сохраненным в будущем) могут быть использованы более svn: externaл-трик. Таким образом, мы добавим в репозиторий "виртуальное дерево", которое существует где-то-каким-то образом, но может появиться в checkout'Ed WC как часть наши хранилище

Repo-browser with externals

(в этой картине багажник реж внешнего независимого РЕПО)

ваша текущая плоская структура program_mod

dir / B

corefile.php

additionalfile.php

накладывает ограничение на версию Subversion (как на стороне клиента, так и на стороне сервера), потому что файл - externals был добавлен только в Subversion 1.6, для directory-externals

dir /B / S

z:\mod\additionalfile.php

z:\mod\Core

z:\mod\Core\corefile.php

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

ветви и слияния

С другой стороны, вы можете использовать метод слияния ветвей для поддержания program_mod

источник ветви сердечника (/багажник) в какой, никакой отдельный узел внутри репозитория (branches/program_mod, Ф.е). Добавьте additionalfile.php в эту ветку. После каждого ствола фиксации /лучше/ или перед program_mod выпуска /хуже/ объединить багажник в филиал program_mod (или svn copy corefile в пост-коммит Хук - ТБТ!)

2
отвечен Lazy Badger 2023-03-08 02:54

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх