[devel] Q: .gear-rules и "апстримные" сорцы в отдельном бранче

Alexey I. Froloff =?iso-8859-1?q?raorn_=CE=C1_immo=2Eru?=
Вт Июн 20 19:19:21 MSD 2006


Идея в следующем:

"Апстримные" сорцы лежат в бранче, например upstream, апдейтятся
там некоторым образом (git pull, git svn fetch, git cvsimport -
whatever).  В рабочем бранче лежат мои патченые исходники, спеки
и так далее.  gear пакует бранч upstream в тарбол и делает
git-diff-tree между upstream и некоторым tree-ish.  Почему
tree-ish, а не HEAD?  А потому что я обычно делаю
git-mv -k * .* %name, и вот этот %name мне и надо diff'ать.

Сейчас никто не умеет принимать в качестве аргумента tree-ish,
только путь.  Предлагается следующий синтаксис:

tar: dir name=name base=base branch=branch

diff: dir name=name base=base branch=branch

В первом случае добавляется параметр "branch", в моём примере это
будет выглядеть так:

tar.bz2: . name=@name на -@version@ base=@name на -@version@ branch=upstream- на version@

Где upstream- на version@ это имя тега, который я ставлю по
результатам чекаута (чисто для удобства).

diff: projectname name=@name на -@version на -alt.patch base=. branch=upstream- на version@

projectname - имя каталога с сорцами в рабочем бранче.  По нему
получаем tree_ish_2.  base - имя каталога с сорцами в бранче
upstream.  По нему и по имени бранча получаем tree_ish_1.  Дальше
делается:

git-diff-tree --patch-with-stat $tree_ish_1 $tree_ish_2 > $name.patch


Таким образом получается что у нас "скачет" $tree_id.  Это совсем
бредовая идея или можно начинать готовить патч? ;-)

-- 
Regards,
Sir Raorn.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060620/c94ddf36/attachment-0001.bin>


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