Мы небольшая команда разработчиков, работающих с веб-приложением, которое публикуется с использованием веб-сервера, доступного только через FTP.
Наш рабочий процесс следующий:
- Разработчик разрабатывает некоторые запрошенные функции локально
- Когда все готово, фиксирует это и отправляет в «центральное» хранилище.
- Несколько раз в день один из разработчиков публикует файлы, которые были изменены на тестовом веб-сайте, чтобы ключевые пользователи могли видеть, как реализованы функции.
- Раз в неделю мы развертываем на нашей производственной площадке
Поскольку наш веб-сервер не поддерживает SSH, мы не можем отправлять наборы изменений и обновления на сервер, поэтому мы создали собственный сценарий, который передает измененные файлы через FTP.
Каждый раз, когда мы используем этот сценарий, создается новый тег, поэтому мы знаем - используя hg diff - разницу между тегами (релиз для нас).
До сегодняшнего дня все было хорошо, когда мы ввели в наш рабочий процесс ветки, чтобы позволить разработчику работать над радикальными изменениями в коде и продолжать вносить небольшие ежедневные изменения, которые публикуются в рабочей среде.
Проблема в том, что hg diff не поддерживает ветви (или кажется, что он все еще находится в разработке)
Итак, что будет лучшим способом сделать это? Вот некоторые варианты, о которых мы думаем:
- Монтирование FTP как локального тома (с использованием MacFuse или аналогичного) и использование ртутного push / update.
- Поиграйте с Bundles и посмотрите, могут ли они помочь нам, но это кажется довольно сложным
Пример * * тысяча сорок-четырь
$ hg tag qa-001 /* init to see diferences QA Site */
$ hg tag prod-001 /* init to see diferences Production Site */
$ hg ci -m "working on a stable feature"
$ hg tag qa-002
$ hg ci -m "change on the stable feature"
$ hg tag qa-003
$ hg tag prod-002
$ hg ci -m "another change on stable"
$ hg pull ../CentralRepo /*Where there is another Branch with unstable files*/
При последней операции создается новая головка, поэтому теперь есть две головки (стабильная и нестабильная ветвь)
$hg diff -r qa-003 -r tip
Результат hg diff показывает нестабильные файлы без слияния
Большое спасибо за ваши комментарии