Я задаюсь вопросом, существует ли какая-либо лучшая практика для поддержания Вашего исходного кода при управлении версиями среди различных компаний. В Открытом исходном коде существует специалист по обслуживанию, который получает патчи, выбирает их и применяет их. Но что относительно закрытых полученных проектов, где различные компании получают различные рабочие нагрузки и просто передают их соединительной линии и ответвлениям? Действительно ли это обслуживающее понятие применимо к проекту, на котором продолжают работать несколько компаний?
Вы можете выбирать из широкого диапазона систем контроля версий. (Не только подрывная деятельность) С концепцией "управления версиями" вы можете быть уверены, что никто не повредит проект навсегда. Таким образом, нет необходимости в ручном процессе утверждения, особенно когда есть, например, контракты между компаниями-участниками.
Я бы также создал список рассылки коммитов, чтобы у вас была своего рода экспертная оценка изменений. Таким образом, никакие изменения не могут быть внесены, если их никто не заметит.
Если возможно, настройте некую среду непрерывной интеграции для поддержания качества.
Я не понимаю вопроса о ветках. Решение использовать их или нет, IMHO не зависит от того, работают ли коммитеры в одной компании или нет.
Моя рекомендация: subversion , с этой настройкой вы даете URL-адрес, а затем проверяете, обновляете, выполняете работу, и когда вы догадаетесь, что проект готов, сделайте снимок и доставьте.
Обычно каждый сайт работает в своей выделенной ветке и может импортировать другую ветку удаленного сайта, чтобы решить, что интегрировать в своей работе.
Но если сайт должен работать непосредственно с другой веткой сайта, одним из возможных способов является концепция членства в ветке, которая позволяет только одному сайту одновременно работать в данной ветке.
(хотя не уверен, что это возможно с SVN)
Это позволяет двум удаленным сайтам (с большим временным сдвигом) работать над одной и той же задачей в тесной интеграции.
Вам действительно решать, какой рабочий процесс лучше всего подходит для участвующих компаний. Subversion имеет возможность добавлять разрешения к вашей магистрали и ветвям, позволяя вам заблокировать определенные части вашего репозитория для людей, которым "доверяют", с доступом слияния к магистрали. Вам понадобится хорошее общение между компаниями. Используя открытый исходный код, Trac предоставляет вики, интегрированные RSS-каналы коммитов в проект и обозреватель кода.