Система управления исходным кодом для not-so-smart программистов

Проблема:

Огромный охват кодовой базы к нескольким миллионам SLoC, сохраняемым (улучшения поддержки / активные улучшения и т.д.) ордой вторых/третьих программистов уровня (большинство из них, кто действительно не заботится). Несколько десятилетий назад, немного умных парней поместили на месте обертку, которая использует CVS внизу, и эта система используется текущим поколением разработчиков (90% из них не использовали CVS непосредственно или услышали о другой системе управления исходным кодом командной строки).

Эффект:

Использование CVS и нескольких команд, работающих через несколько модулей, неизбежно => ответвление CVS, объединяется с соединительной линией. Это было бы действием, осуществленным в наиболее неукоснительно и ритуально возможный путь. [=> грубая сила; запланированные недели вперед, вовлекая дюжину парней в течение 2/4 дней. Сотни (иногда тысячи) обработанных источников, вручную. Забавная часть, вовлеченные люди не являются первоначальными владельцами фиксации, и они просто идут путем проверки diffs; действительно, не шучу!] Это приводит к большому несоответствию в исправности библиотек/модулей/функциональности, и слишком много усилия потрачено для исправления дефектов из-за регрессии во время этих слияний.

И теперь, вопрос:

Какая альтернативная система управления исходным кодом может ввести некоторое положительное изменение и улучшить жизни программистов/менеджеров и всех остальных в среде?

Так как все вокруг там, кажется, выпили KoolAid (и спойте "This-is-how-things-are-done-everywhere"), даже не уделяя внимание о нахождении альтернативы, пора кто-то делает это. Но рассматривая вид людей, которые использовали бы систему, следующие аспекты должны иметься в виду.

  1. Простой использовать && понимают, даже Joe Coder должен смочь использовать его без суеты. (Так или иначе это не будет необходимо, поскольку обертка скрыла бы реальный материал под капотом от людей),
  2. ОГРОМНАЯ кодовая база (состоящий из источников через несколько языков), приблизительно с (приблизительно 30) активные ответвления в любой момент времени.
  3. Легкие слияния к различным ответвлениям. (полагающий, что объем изменений довольно огромен),
  4. Коммерческая поддержка системы была бы сладка при наличии.
  5. Разработка происходит на серверах UNIX (Должен работать на HP-UX/Солярисе, по крайней мере),
  6. Должен масштабироваться хорошо (тысячи пользователей/сотен тысяч источников)
  7. Хорошая документация
  8. Простой/ясный интерфейс на базе браузера для сравнивания/просматривания изменений/копий.
  9. В репозитории нет никаких двоичных файлов, так не должен беспокоиться о них.
  10. Условие для импорта текущего содержания репозитория в новую систему.

Так, предложите. Есть ли надежда && выход?:) Вполне уверенный материал как мерзавец, был бы отклонен напрямую (они полагают, что "мерзавец только для умных людей"),

Править: Я также имею Подвижный и BitKeeper в памяти и упомянул это людям цепочка. Надежда на лучшее! Спасибо! :)

5
задан James Z 6 June 2015 в 11:56
поделиться