[devel] Как правильно импортировать апстримовский git
Anton Farygin
rider на altlinux.com
Вс Май 17 08:46:30 MSK 2015
On 16.05.2015 11:28, Мал Скрылёв wrote:
> Миша, оформи пж, потому что я ничего не понял из текста.... сиесть...
> многабукф, ниасилил =)
>
> 11 мая 2015 г., 10:36 пользователь Michael Shigorin <mike на altlinux.org> написал:
>> On Mon, May 11, 2015 at 09:16:19AM +0300, Hihin Ruslan wrote:
>>> Как мне правильно встроить апстримовский git в свой локальный
>>> git, чтобы я имел возможность мержить из него последние
>>> изменения?
>>
>> Возможно, лучше переделать пакет tuxtype -- см. тж.
>> http://www.altlinux.org/Руководство_по_gear
>>
>> Сам обычно смотрю по наличию апстримных тегов по версиям
>> и локальных правок: если есть теги, а правок нет или мало
>> -- бывает удобна схема led@, когда есть remote upstream
>> и созданный на основе пустого коммита (git-empty-branch)
>> master, содержащий только .gear/rules, спек и патчи (при
>> их наличии); тогда для сборки новой версии выполняется
>> git merge -s ours <тег>, vim spec, gear-store-tags -avc
>> и суём в gear-hsh (при необходимости повторной правки
>> спека, обычно по результатам допиливания внутри hsh-shell,
>> делаются временные коммиты с gear-hsh --commit после них,
>> а затем git rebase -i <последний_коммит_перед_vim_spec>,
>> fixup временными коммитами первой правки спека и удаление
>> строчки про gear-store-tags, который выполняется заново).
>>
>> Надо как-то набраться сил да оформить схему на вики,
>> если кому пригодится...
>>
Схема неудобна тем, что для заглядывания в код приходится лезть в другую
ветку.
Я сейчас стараюсь делать так, что бы апстримный код жил в одной ветке со
всем необходимым для сборки, которое помещаю в .gear/
вот например из PHP, патчи при этом лежат отдельно:
$ cat .gear/rules
spec: .gear/php5.spec
copy: .gear/*.ini
copy: .gear/*.patch
copy: .gear/*.readme
copy: .gear/phpver.rpm.macros.standalone
tar: php- на version@:. name=php5-source
tar: .gear/php5-control name=php5-control
tar: .gear/sapi name=phpinfo base=sapi
Вот collectd, патчи накладываются сразу на код:
$ cat .gear/rules
tar:collectd- на version@:.
diff:collectd- на version@:. .
Вообще выбор той или иной схемы в первую очередь зависит от апстримного git
Подробная информация о списке рассылки Devel