[Wine-devel] Организация работы с git

Vitaly Lipatov =?iso-8859-1?q?lav_=CE=C1_etersoft=2Eru?=
Пн Июн 9 19:34:40 MSD 2008


Я не знаю как ответить на письмо, слишком много

В сообщении от 30 апреля 2008 Konstantin Kondratyuk написал(a):
> Задачи, которые мы ставим:
> 1. Создание общего стабильного репозитория, на основе которого идёт сборка.
Скорее который является основой разработки, и который содержит все ветки 
текущей разработки.
Но стоит сделать автоматическую сборку pure, master и eterhack,
чтобы иметь к ним быстрый доступ через скрипты wwo, wwm и wwc соответственно.

> Все достойные релиза патчи попадают сюда.
Да.

> 2. Репозиторий для каждого разработчика, с возможностью его публикации.
> Таким образом, каждый может найти и взять себе патч, который нужен, но не
> входит (пока) в релизный репозиторий.
Не уверен что это сильно востребовано, но да, эта идея также закладывалась.

> Решение первой задачи достигается созданием _отдельного_ git-репозитория,
> предлагаю его сделать отличным от git.etersoft.ru/people/lav, чтобы не
> вносить путаницы.
Как только мы немного освоимся, а также найдём техническую возможность сделать 
отличный от репозиторий, сделаем.

> Кроме того, не обязательно все патчи, которые будут 
> закоммичены в git.etersoft.ru/people/lav, обязательно должны быть в релизе.
Ну собственно я других не коммичу, всё что я коммичу - к релизу.
Пока так.
Мечтаем о git.eter/projects/wine.git

> Parent-репозиторий для нашего центрального репозитория - непосредственно
> git winehq. Синхронизация с ним должна быть хотя бы 2 раза в день -
> предлагаю в 17.00-18.00 (после основного времени коммитов Джуллиарда) и
> ночью. Все личные репозитории синхронизируются с нашим центральным
> репозиторием. Разделение по веткам - можно оставить pure, master, eterhack.
> При этом master должен содержать только те патчи, которые будут
> отправляться в wine-patches. Коммит в этот бранч должен быть оформлен как у
> Джуллиарда (dll: Changelog), чтобы не создавать лишних проблем при отправке
> патчей.
> В eterhack - оформление свободное, главное понятно, что делаем и/или какую
> багу правим. Для новых хаков хорошо бы всегда делать приписку вроде "(fix
> eterbug #N)". Можно ли в eterhack писать по-русски?
Лучше не писать по-русски.

> Возможно, стоит создать дополнительную ветку, если у нас всё ещё существуют
> патчи, накладываемые только при сборке пакетов (или наоборот, нужны
> отменяющие коммиты).
Да, 

>
> Личные репозитории разработчиков синхронизируются с нашим центральным
> репозиторием (за исключением build-ветки в случае её существования).
> Добавляется дополнительная ветка, для того, чтобы не путаться, можно
> называть её по uid'у разработчика. Например:
> $ git-branch
>   kondratyuk
> * eterhack
>   master
>   pure
> В этой личной ветке - те коммиты, которые пока не можем рекомендовать для
> релиза, но используем в своей сборке и готовы поделиться с кем-нибудь.
> Здесь, например, размещаем хак, который вроде бы исправляет проблему, но
> непонятно, сколько новых проблем создаёт и что ломает. Доисследовали,
> доделали, хак исправляет проблему и ничего не ломает - переносим в eterhack
> и таким образом рекомендуем его включить в релиз.
Ну похоже на то, как у меня получается делать.


> Пока не понимаю, как должен поступать ответственный за коммиты в наш
> центральный репозиторий. Наверное, нужно отслеживать изменения в ветках
> master и eterhack всех разработчиков, просматривать принятые туда патчи и
> переносить их вручную (контролируемо, а не скриптом). Это не должно занять
Сейчам мы остановились на том, что такие патчи присылаются в рассылку и я их 
прикладываю. Потом по мере накопления опыта может быть изменим процедуру.

> много времени (релизных патчей не так много появляется), но должно
> сохранить порядок в репозитории и предотвратить ошибочные коммиты. У
> ответственноего должны быть клоны личных репозиториев всех разработчиков,
> тогда при отсмотре и переносе патчей можно работать с утилитами типа qgit.
Я собираюсь сделать одно изменение в структуре - отделить eterhack (общую для 
всех текущих релизов) и ветки конкретных текущих релизов, чтобы можно было 
коммитить патч только в eterhack, а в eter-1.0.9 и в school-1.0 он бы сам 
появлялся.


-- 
С уважением,
Виталий Липатов
Россия, Санкт-Петербург. www.etersoft.ru
GNU! ALT Linux Team! WINE! WIKI! LaTeX! LyX!


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