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, а пуст). > >> 2. man gear-rules на придмет создания траблов из отдельного бранча. > > Читаю раздел PATHS. В вольном изложении он выглядит так: путь можно > описывать только внутри главного дерева, за исключением: > 1) . - указывает на текущее главное дерево - не подходит > 2) идентификатор коммита в главном дереве - тоже не подходит > 3) идентификатор тэга (какого, тут уже я запутался ...) - вроде тоже не > подходит Он самый. Но в вашем случаи -- про тег см. выше... > > Правильно ли я понял, что главное дерево - это и есть, собственно, мой > репозитарий, сформированный с помощью git-init-db и заполненный с > помощью gear-srpmimport, Скорее всего да. > а другой репозитарий - это другое дерево? Не факт: другой репозитарий может содержать дерево, совпадающее с вашим главным частично. > Или в > репозитарии может быть несколько деревьев? Да. В репозитарии могут содержаться несколько непересикаюшихся бранчей. (Один из способов создания -- git-fetch из репозитария никак несвязанного с вашим.) > Я понимаю, что по этому > поводу нужно читать GIT Glossary, но я не настолько хорошо владею > английским, чтобы вникнуть в предмет :( > > И ответа на свой вопрос я в мане не нашел: как из .git-rules добраться > до другого дерева? vvk@ в соседнем письме описал процесс весьма неплохо. Пример практического использования можно посмотреть у меня в . (ВНИМАНИЕ! Данный репозитарий достаточно большой -- около 100 Мб.) Смотреть лучше локально, с помощью gitk --all: тогда все слияния веток (в том числе фиктивные, с -s ours) видны наглядно. -- С уважением. Алексей.