SVN - хранилище структур для отдельного поставщика и собственного кода - PullRequest
1 голос
/ 08 сентября 2011

Мне нужно найти способ структурировать хранилище так, чтобы у меня было следующее:

Trunk
  This is live 

Branches
  Vendor
     Vendor framework v1
     Vender framework v1 etc etc
  Company
      The is where my code lives

  Development
      A
      B
      C

В проекте используются файлы компании и файлы поставщиков, которые объединяются в проект, но я хочу сохранить их отдельно в хранилище. Так, например, я бы проверил филиал компании и поработал с ним. Передайте мои изменения. Тогда это то, где я застреваю. Как мне внести эти изменения в ветку разработки (каждая из которых должна быть объединенной версией Компании и Продавца) для тестирования, а затем, наконец, запустить эту ветку разработки.

1 Ответ

1 голос
/ 08 сентября 2011

Я бы лучше структурировал это так:

trunk
    Vendor
        Framworks 1
    Company
        company code
branches
    Live (copy/merge of trunk)
        Vendor (this gets automatically pulled in by the copy/merge from trunk to live)
        Company (same here)
    Development
        A (copy of trunk)
            Vendor
            Company
        B (copy of trunk)
            (same here)
tags
    Version 1.0 (copy of live)
        ....
    Version 2.0 (copy of live)
    .....

Таким образом, самая последняя ветвь - это ствол. Это ваша рабочая зона.

Если вы хотите внести более значительные изменения (или хотите, чтобы каждое изменение рассматривалось / тестировалось отдельно), добавьте его в ветку разработки, внесите свои изменения и объедините обратно в магистраль. После каждого обратного слияния вы можете оставить ветки разработки или удалить их.

Если все тестирование в порядке, и вы хотите запустить его, объедините транк в Live-ветку.

Распространенной концепцией также является версия каждой версии выпуска с тегом. В этом случае вы просто копируете live в ветку tag и присваиваете ей имя версии.

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

...