управление проектом / несколько версий - PullRequest
3 голосов
/ 20 апреля 2009

Я ищу несколько советов и советов по управлению несколькими версиями проекта.

В настоящее время у меня есть версия для разработки приложения, которая включает некоторые улучшения и новые функциональные возможности. В то же время я должен сделать некоторые исправления ошибок. Исправить ошибки в файлах, которые не были затронуты новыми функциональными ссылками, легко, но как только я перехожу на страницу с новым функционалом. Мне нужно каждый раз комментировать несколько строк кода. Я чувствую, что это не лучший способ поиграть. Для решения этой проблемы должен быть достаточно хороший метод.

Другая сторона проблемы - развертывание. Довольно часто мне приходится ждать несколько недель, прежде чем загружать новую функциональность на сайт. В то же время я склонен иногда забывать каждый файл, который был изменен (или закомментирован для ошибок), и это может привести к ошибкам. Я слышал о Capistrano для фанатов рубина, это может мне помочь? Я в основном разработчик PHP / asp.net.

Ответы [ 4 ]

5 голосов
/ 20 апреля 2009

Вы испытываете классический случай " несовместимого усилия по разработке":
вы не можете одновременно исправить ошибку и разрабатывать один и тот же файл одновременно.

Это классический случай ветвления, который позволил бы одному и тому же файлу:

  • заморозить его состояние до первоначально развернутого (с указанием точки для ветви)
  • исправить ошибку в ветке исправлений ошибок
  • модифицировать некоторые из этих ошибок в текущей ветке разработки
  • разработка новых функций в ветке разработки.

Если вас не устраивает немедленная настройка VCS (системы контроля версий), вы можете, по крайней мере, продублировать дерево файлов, представляющих ваш сервер, в 2 директории (одну 1.0 и одну 'DEV'), эффективно делать некоторый «ручной» контроль версий.
Тогда такой инструмент, как WinMerge , поможет вам отследить разницу и выполнить слияние

Но настоящая VCS была бы более эффективной и могла бы использоваться в качестве стабильного источника для развертывания, как показано в этом Лучшем контроле версий для веб-приложения для одного человека (с подрывной деятельностью) .
Этот источник с управлением версиями может также использоваться системой развертывания, такой как capistrano .

4 голосов
/ 20 апреля 2009

Большинство систем контроля версий имеют возможность "разветвлять" ваше программное обеспечение, так что вы можете иметь несколько версий одной и той же кодовой базы одновременно.

Например, ваша ветка "1.0" может быть текущей рабочей версией. Для новой разработки вы можете создать ветку "1.1", которая начинается с копии 1.0. Все ваши новые функции должны появиться в версии 1.1, а исправления производственных ошибок должны быть в версии 1.0 (и в конечном итоге версии 1.1 тоже). Обычно есть инструменты, доступные для объединения изменений между ветками (например, исправление ошибок слияния от 1.0 до 1.1).

Вот хорошее описание ветвления Subversion.

http://svnbook.red -bean.com / ен / 1.1 / ch04.html

Проверьте текущую систему контроля версий на предмет того, как она обрабатывает ветвления.

0 голосов
/ 20 апреля 2009

Система контроля версий - это решение для вас. У большинства из них есть способ обработки разных версий проекта, например, Perforce, SVN и т. Д. Вы можете создавать столько версий, сколько хотите, используя ветки в Perforce. Любое изменение в любой версии должно быть объединено со всеми более высокими версиями. Я считаю, что слияние peforce очень удобно. Каждая новая версия начинается с копии предыдущей версии. Вы можете разработать некоторые управляющие сценарии и настроить производительность, которая будет предупреждать о любых изменениях в предыдущей версии, которые не были сделаны в более поздних версиях.

0 голосов
/ 20 апреля 2009

Один из способов сделать это - создать ветку в программном обеспечении управления исходным кодом.

...