[devel] tar.gz в .gear-rules из другого git-репозитария

Aleksey Avdeev =?iso-8859-1?q?solo_=CE=C1_solin=2Espb=2Eru?=
Пн Апр 2 16:47:08 MSD 2007


Eugene Prokopiev пишет:
> Aleksey Avdeev пишет:
>> Eugene Prokopiev пишет:
>>
>>> Здравствуйте!
>>>
>>> Я уже поднимал этот вопрос, но разобраться так и вышло ... попытаюсь еще 
>>> раз. Итак, есть git-репозитарий (2 случая: локальный - 
>>> ~/git/dbmail-upstream/dbmail, полученный с помощью git-clone, и 
>>> оригинальный - http://nfg3.nfgs.net/git/dbmail.git/). Какие строчки 
>>> нужно написать в .gear-rules, чтобы из описанных выше репозитариев 
>>> получить бранч dbmail_2_2, сжатый в tar.gz?
> 
>  > 1. Втащить http://nfg3.nfgs.net/git/dbmail.git в
>  > ~/git/dbmail-upstream/dbmail отдельным бранчем (симейством бранчей)
> 
> man что?

  man git-fetch

> и хотя бы какая последовательность команд нужна после 
> git-init-db, дальше буду пытаться читать ман по ним ...

  На вскидку:

git-fetch http://nfg3.nfgs.net/git/dbmail.git dbmail_2_2:dbmail_2_2

  После этого -- в текущем репозитарии получаем бранч dbmail_2_2,
совподающий с бранчем dbmail_2_2 оригинального
http://nfg3.nfgs.net/git/dbmail.git.

 Проблемму сдесь вижу токо 1: в http://nfg3.nfgs.net/git/dbmail.git
отсуствуют теги... Как миниум 1 придётся создавать самому (будет нужен
для ссылки из .git-rules, а
<http://nfg3.nfgs.net/git/dbmail.git/refs/tags/> пуст).

> 
>> 2. man gear-rules на придмет создания траблов из отдельного бранча.
> 
> Читаю раздел PATHS. В вольном изложении он выглядит так: путь можно 
> описывать только внутри главного дерева, за исключением:
> 1) . - указывает на текущее главное дерево - не подходит
> 2) идентификатор коммита в главном дереве - тоже не подходит
> 3) идентификатор тэга (какого, тут уже я запутался ...) - вроде тоже не 
> подходит

  Он самый. Но в вашем случаи -- про тег см. выше...

> 
> Правильно ли я понял, что главное дерево - это и есть, собственно, мой 
> репозитарий, сформированный с помощью git-init-db и заполненный с 
> помощью gear-srpmimport,

  Скорее всего да.

> а другой репозитарий - это другое дерево?

  Не факт: другой репозитарий может содержать дерево, совпадающее с
вашим главным частично.

> Или в 
> репозитарии может быть несколько деревьев?

  Да. В репозитарии могут содержаться несколько непересикаюшихся
бранчей. (Один из способов создания -- git-fetch из репозитария никак
несвязанного с вашим.)

> Я понимаю, что по этому 
> поводу нужно читать GIT Glossary, но я не настолько хорошо владею 
> английским, чтобы вникнуть в предмет :(
> 
> И ответа на свой вопрос я в мане не нашел: как из .git-rules добраться 
> до другого дерева?

  vvk@ в соседнем письме описал процесс весьма неплохо.

  Пример практического использования можно посмотреть у меня в
<http://git.altlinux.org/people/solo/packages/?p=apache2.git;a=summary>.
 (ВНИМАНИЕ! Данный репозитарий достаточно большой -- около 100 Мб.)
Смотреть лучше локально, с помощью gitk --all: тогда все слияния веток
(в том числе фиктивные, с -s ours) видны наглядно.

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 481 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070402/b3d48902/attachment-0001.bin>


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