Что эквивалентно компоненту только для чтения -в ClearCase в Git?

Моя компания находится в процессе замены нашего инструмента управления версиями с Rational ClearCase на Git. У нас есть следующий сценарий разработки, и нам интересно, есть ли правильный шаблон, которому нужно следовать с Git, чтобы добиться того же поведения, что и в ClearCase.

Вот несколько основных моментов о нашей ситуации:

  1. We have a number of discrete applications. Let's call these AppA, AppB, and AppC.
  2. We also have certain files (build scripts, etc.) that are common to all of the projects. Let's call this Tools.
  3. For any given cut of the AppA, AppB, or AppC code, we need a specific cut of the Tools code.
  4. Most of our developers never modify the Tools code.

Для ClearCase мы смоделировали это следующим образом:

Components: app_a, app_b, app_c, tools

Projects: AppA, AppB, AppC, Tools

Project AppA includes app_a as a read/write component and tools as a read-only component.

Project AppB includes app_b as a read/write component and tools as a read-only component.

Project AppC includes app_c as a read/write component and tools as a read-only component.

Project Tools includes tools as a read/write component.

Each baseline for the App* projects references a baseline on both the app_* and tools compoments. When developers rebase to the recommended baseline, they pull in changes from both components.

Для Git мы думаем, что подмодули могут быть ближе всего к правильному ответу. Однако при извлечении/перебазировании репозитория кажется, что требуется дополнительный шаг для обновления кода подмодуля. В идеале мы хотели бы быть прозрачными. Кроме того, нам не обязательно знать, что изменилось в подмодуле с точки зрения родительского репозитория; нас интересует только момент времени для всего подмодуля.

5
задан jstricker 22 June 2012 в 21:20
поделиться