[Devel] Репозитории проектов по АСУ

Evgeny Sinelnikov sin на etersoft.ru
Пт Июл 17 03:37:37 MSD 2009


17 июля 2009 г. 1:47 пользователь Vitaly Lipatov (lav на etersoft.ru) написал:
> На Вики публикуются ссылки на общие проекты
> http://wiki.office.etersoft.ru/mb745/Repozitorii
>
> Все участники проекта имеют право на публикацию (в uniset
> разрешено только pv/lav).
>
> Напоминаю важные правила при работе с git:
>  - обновляясь из общего репозитория, обязательно делать git
> pull --rebase, чтобы не кривить дерево
>  - никогда не использовать --force при публикации в общий
> репозиторий
>  - использовать git stash, если текущие изменения мешают что-либо
> сделать
>  - публиковать свои изменения по мере необходимости, но
> обязательно до ухода с рабочего места.
>
> Вне зависимости от места работы и количества репозиториев, при
> наличии связи с git(.office).etersoft.ru нужно производить
> публикацию. В общий репозиторий, либо в свой, если по каким-то
> причинам добавлять код ещё нельзя. При это своё место публикации
> не должно служить местом долговременно хранения своей ветки
> разработки, сейчас не то время, а потом его и восе не будет,
> чтобы собрать всё воедино.
>
> По возникающим проблемам можно обращаться ко мне, в случае
> обнаружения вопроса, требующего решения - формулировать проблему
> в баге, а не забивать на неё молча.
>
> На данный момент в публичном репозитории сделаны важные для
> собираемости изменения, важно как можно скорее синхронизировать
> с рабочими версиями и больше расхождение не создавать.
>

Честно говоря, мне такой workflow совсем не нравится. Мне он и раньше
не нравился, ибо противоречит духу использования git и вообще
распределённых систем контроля версий, но у меня возникло предложение,
и я решил написать.

Суть предложения состоит в следующем:
1) Все работы, как обычно, ведутся у себя в git.
2) По мере необходимости можно выполнять действие по публикации
изменений в общий репозиторий (ssh git.eter public <project> <repo>
[branch]).
3) Вопросы отслеживания "прямого дерева" перекладываются на процесс публикации.

Выглядит это так.
# клонируем
$ git clone git://git.etersoft.ru/projects/Project.git
# работаем, комитим, заливаем к себе
$ git push git.eter:public/Project.git master
# снова работаем, снова комитим, снова заливаем
$ git push git.eter:public/Project.git master
# В конце дня публикуем
$ ssh git.eter public Project public/Project master

Мне такой порядок работы кажется вполне себе удачным. Какие будут возражения?


-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки devel