СКВ для маленького проекта
От: Roman Odaisky Украина  
Дата: 11.08.08 21:09
Оценка:
Привет All,

есть маленький веб-проект, который я пишу один. Хочу идеологически правильно настроить систему контроля версий.

На моем компьютере установлено такое же ПО, как и на сервере. Соответственно, сейчас у меня есть такие ветки:

~/dev/theproject/trunk
/srv/web/theproject (это видит веб-сервер)

И на сервере свой checkout, который тоже расположен в /srv/web/theproject. Когда я доделаю проект до того, что его станет можно выставить на всеобщее обозрение, планируется, что на сервере появится еще одна ветка — тестовая, отдельно от production-сайта.

Идея была та, что я веду разработку на своем компьютере прямо в той ветке, на которую настроен веб-сервер. Если я хочу внести какое-то крупное изменение, я создаю ветку в ~/dev/theproject/somebranch, делаю ее checkout в /srv/web/theproject и там и ковыряю, потом merge обратно. Когда готово, я делаю merge с сервера.

Не нравится то, что получается многовато веток. Как это делает уважаемый All?

СКВ — распределенная, Bazaar. (Сайт — Python, Django, StringTemplate, nginx, хотя вряд ли это важно.)
До последнего не верил в пирамиду Лебедева.
Re: СКВ для маленького проекта
От: Nuseraro Россия  
Дата: 12.08.08 04:55
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Привет All,


RO>есть маленький веб-проект, который я пишу один. Хочу идеологически правильно настроить систему контроля версий.


RO>На моем компьютере установлено такое же ПО, как и на сервере. Соответственно, сейчас у меня есть такие ветки:


RO>~/dev/theproject/trunk

RO>/srv/web/theproject (это видит веб-сервер)

RO>И на сервере свой checkout, который тоже расположен в /srv/web/theproject. Когда я доделаю проект до того, что его станет можно выставить на всеобщее обозрение, планируется, что на сервере появится еще одна ветка — тестовая, отдельно от production-сайта.


RO>Идея была та, что я веду разработку на своем компьютере прямо в той ветке, на которую настроен веб-сервер. Если я хочу внести какое-то крупное изменение, я создаю ветку в ~/dev/theproject/somebranch, делаю ее checkout в /srv/web/theproject и там и ковыряю, потом merge обратно. Когда готово, я делаю merge с сервера.


RO>Не нравится то, что получается многовато веток. Как это делает уважаемый All?


RO>СКВ — распределенная, Bazaar. (Сайт — Python, Django, StringTemplate, nginx, хотя вряд ли это важно.)


Что-то я не совсем понял, зачем Вы создаёте физические ветки у себя и на сервере, конкретно с Bazaar, но, по идее, в распределенных СКВ в том и фича чтобы плодить кучу логических веток, а потом их мёрджить на продакшне, как удобно.
Homo Guglens
Re[2]: СКВ для маленького проекта
От: Roman Odaisky Украина  
Дата: 12.08.08 06:00
Оценка:
Здравствуйте, Nuseraro, Вы писали:

N>Что-то я не совсем понял, зачем Вы создаёте физические ветки у себя и на сервере, конкретно с Bazaar, но, по идее, в распределенных СКВ в том и фича чтобы плодить кучу логических веток, а потом их мёрджить на продакшне, как удобно.


«Every branch should have a purpose, but not every purpose should have a branch».

Сервер однозначно должен иметь свою ветку, в которую при необходимости делается merge того, чего нужно. Чтобы по минимуму трогать работающую конфигурацию. Серверная ветка может отставать от trunk, если внесенные изменения некритичны. Это вроде понятно.

А что непонятно, так это как красиво организовать разработку.

Вот решил я приделать новую фичу, которая может многое поломать, создал ветку ~/dev/theproject/newfeature.

Варианты передо мной:
1. Вести разработку прямо там, когда нужно будет посмотреть, как это выглядит на сервере, делать bzr commit && bzr push /srv/web/theproject && invoke-rc.d nginx reload. commit на каждый чих делать не хочется.
2. Сразу же сделать checkout этой ветки в /srv/web/theproject и работать там. Сейчас так и делаю. Смущает то, что надо будет merge обратно в ~/dev/theproject/newfeature, а потом в trunk, или в sftp://server/srv/web/test.theproject — что-то многовато объединений без видимой пользы.
3. Попросту сделать /srv/web/theproject симлинком на ~/dev/theproject/какаязахочуветка. Может, на этом остановиться?

Кто как организовывает веб-проекты?
До последнего не верил в пирамиду Лебедева.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.