Ситуация следующая:
Наша компания работает на двух основных производственных площадках, общаясь через WAN . Мы разрабатываем программное обеспечение для внутреннего использования, которое использует около 100 ГБ дискового пространства на наших серверах (данные приложений развертываются для наших клиентов с большим количеством изображений). Для повышения производительности наши сетевые администраторы выбрали репликацию DFS (каждые 6 часов). Это означает, что нашим пользователям (сотрудникам компании) не нужно ждать (иногда 2-3 часа), чтобы загрузить необходимые файлы, поскольку они доступны локально (по локальной сети).
Проблема в том, что алгоритм, используемый репликацией DFS, "Last Writer Wins" . Таким образом, в случае одновременных изменений (во время разработки / сопровождения), файл с самой последней датой победит. Я хотел бы избежать такой потери данных .
Я менеджер проекта по общему процессу разработки. Я хочу познакомить людей с системами контроля версий, чтобы решить проблему одновременных модификаций. Я планирую использовать Mercurial по нескольким причинам, главным образом потому, что он распространяется, прост в объяснении, может использоваться для личного использования, бесплатен и (что наиболее важно) обладает отличными возможностями слияния . Однако преимущества системы контроля версий при локальном использовании (LAN) теряются из-за процесса репликации (WAN), который не знает, как объединить.
Некоторые возможные решения:
использовать только управление версиями через WAN (надеясь, что сжатия будет достаточно, чтобы ускорить процесс)
использовать только DFS и отслеживать изменения вручную (подвержены ошибкам)
найти обходной путь обоими методами
Команда мала (около 10 человек). Ваша помощь и опыт приветствуются.