Git-svn
raorn@ об использовании git-svn:
$ ssh -n git.alt git-clone git.alt:/archive/p/package-name.git $ git clone git.alt:packages/package-name.git $ git branch -d srpms $ git push origin :srpms $ git svn init -s svn://radlinux.org/radlinux/ $ git svn fetch
Теперь весь репозитарий втянут в remotes/trunk, remotes/tags/* и remotes/branches/*, это делает опция -s для svn init.
$ git mv имякаталога/* . $ git mv имякаталога/.* . # (if any) $ git commit -m 'git mv имякаталога/* .' $ git pull . tags/ВЕРСИЯ_ПАКЕТА
Тут мы "пристёгиваем" нужную версию из svn к истории пакета. Как правило мёрж происходит чисто, но могут быть проблемы если тарбол не соответствует чекауту из svn. -s ours делать не рекомендую, лучше таки проконтролировать процесс.
Далее в .gear/rules будет примерно так:
tar: remotes/tags/@version@:. diff: remotes/tags/@version@:. .
Потом прикладываем все патчи (в master, или в разные бранчи - как удобно) и двигаемся к новому снапшоту:
$ git pull . tags/НОВАЯ_ВЕРСИЯ или trunk или branches/БРАНЧ