Управление общими компонентами с ископаемыми CVS

StackOverflow https://stackoverflow.com/questions/2731615

Вопрос

Я ископаемая (и CVS-конфигурация) начинающим пытается создать и управлять набором распределенных эпилистов ископаемых репозиториев для проекта Delphi.

У меня есть следующее дерево каталогов на моей машине развития:

 Projects
     Some Project
     Delphi Components
        LookupListView
     Some Client
        Some Project For Client
        Some Other Project For Client
           Source Code
               Project Resources
               Project Database

Я устанавливаю контроль из ископаемого версий, чтобы версию и обмениваться проектами некоторый клиент какой другой проект для клиента исходный код, который содержит источник Delphi 2010 для проекта базы данных.

Этот проект использует проекты Delphi Components LookuplistView, который является компонентом Delphi. Мне нужен этот код, который будет включен в систему управления версиями для моего проекта. Я буду, в теории, надо включать его в другие ископаемые репозитории в будущем, а также.

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

1) Создание отдельного репозитория для LookuplistView и убедитесь, что каждый, кто использует репозиторий для проекта, который ссылается на него «знает», что они также должны также получить текущую версию этого проекта. Это, похоже, побеждает цель в состоянии получить полную текущую версию проекта с помощью одной проверки. Проблема увеличивается, потому что существуют другие общие компонентные зависимости в этом проекте.

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

Любые предложения оценили.

Это было полезно?

Решение

Я использую Git, но мой подход может быть применен в вашей ситуации.

У меня есть один репозиторий для всех моих компонентов папки. Это дает мне возможность получать все из них только с несколькими консольными командами (в случае, когда я переустановит мою ОС или перейти на другой компьютер и т. Д.).

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

Этот подход имеет некоторые недостатки (когда вы «возвращаетесь» в коммитах истории некоторых проектов, компоненты тоже могут быть изменены. И если многие проекты используют такие же компоненты, это может вызвать некоторые проблемы). Но у меня не было проблем :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top