On Thu, Jul 22, 2010 at 12:34:07PM +0300, Igor Vlasenko wrote: > On Thu, Jul 22, 2010 at 01:11:00PM +0400, Dmitry V. Levin wrote: > > Это в принципе неправильный алгоритм для репозитория вида git.git; > > правильным для него было бы просто смержить апстримный коммит. > > Откуда? Как робот узнает, откуда брать апстримный коммит? В случае с репозиторием вида git.git всё просто: $ git cat-file commit 1.7.1.1-alt2^ | grep ^Merge Merge branch 'maint' of git://git.kernel.org/pub/scm/git/git Алгоритм простой: найти самый свежий merge commit, который ведёт наружу, и обновить оттуда. > Например, на http://git.altlinux.org/people/real/packages/CoinBuildTools.git > есть ветка upstream. > Поэтому, если склонировать people/real/packages/CoinBuildTools.git, > можно понять, где апстримный коммит. > _НО_! на http://git.altlinux.org/gears/C/CoinBuildTools.git > никакой ветки апстрим нет. > и rules, где бы можно было найти формат тегов, тоже нет. > Как роботу определить, где > в git.altlinux.org/gears/C/CoinBuildTools.git > апстримный коммит? Это результат работы git-svn, апстримного коммита как такового не существует, вне зависимости от структуры gear-репозитория. То же самое касается git-cvsimport. Вот, например, есть http://git.altlinux.org/gears/l/libtiff.git, который было бы довольно сложно обновить тому, у которого нет контекста, в котором выполнялся предыдущий git-cvsimport. -- ldv