Репозиторий подрывной деятельности на работе был настроен без особого планирования относительно его структуры. Там в настоящее время нет явных тегов, ствол или ветви сконфигурированные, хотя некоторые пометка метаданных присутствует за счет использования Subclipse: тегиКаковы долгосрочные последствия реорганизации репозитория подрывной деятельности
В настоящее время хранилище в формате:
/CoreCodeA
/CoreCodeB
/Project1
/Проект2
Недавно новый разработчик начал "версии 2" нашего внутреннего применения, которые он поместил под другую папку:
/новый/NewCoreA
/новый/NewCoreB
/новый/Project3
/новые/проекта4
Эти проекты все имеют зависимости от различных частей кода ядра и от аналогичных проектов (например, несколько проектов могут зависеть от одной и той же темы). Эти зависимости указаны в содержимом некоторых текстовых файлов свойств проекта.
Я играл с использованием команды svndumpfilter, передавая результат через sed и реорганизуя его в два отдельных хранилища («старый» и «новый»). Достаточно легко сделать, и теперь у меня есть два разных репозитория с настройкой соединительных линий, тегов и ветвей (информация о тегах подзапроса может быть переписана позднее).
Моя забота состоит в том, что, перепутывая структуру подрывной работы над каждой фиксацией, я нарушаю ранее созданные сборки, особенно учитывая зависимости от других проектов. С другой стороны, мне нужно иметь теги и ветви в этой кодовой базе раньше, чем позже. Но я также не хочу заставлять разработчиков пересматривать свои проекты, если я передумаю несколько месяцев назад.
Я думаю, что мой выбор для каждого репозитория:
- Марк хранилище с «предварительной реструктуризацией» меткой, реорганизовать хранилище, как я хочу, тег «после реструктуризации
- . Хорошо: не сломается исторический строит
- Bad: Эффективно разъединяет будущая работа с прошлой работы, нет простой возможности сделать xx1 патч релизы
- Restructure всего репозиторий, нарушая предыдущие сборки
- Хорошо: непрерывность Истории коды поддерживается
- Bad: Предыдущий строит сломаны, будет, безусловно, потребует x.x.1 патч-релизы, если когда-либо необходимо снова
- Restructure весь репозиторий и редактировать файлы проекта собственности на каждом этапе
- Хорошо Преемственность кода поддерживается и проекты должны строить
- Bad: Редактирование фактического содержания файлы гораздо более хрупкий, чем просто изменение метаданных относительно их расположения
первых два варианта легко Ин что делать, но мне хотелось бы, чтобы какой-то реальный мир был 20-20 назад от других разработчиков о том, что они сделали в подобной ситуации, и что пошло не так или неправильно.