From: "Dmitry V. Levin" <ldv@altlinux.org> To: ALT Devel discussion list <devel@lists.altlinux.org> Subject: Re: [devel] Как сделать репозиторий в git Date: Thu, 27 Apr 2006 01:36:33 +0400 Message-ID: <20060426213633.GF13934@basalt.office.altlinux.org> (raw) In-Reply-To: <444FBFEE.2040709@altlinux.com> [-- Attachment #1: Type: text/plain, Size: 3553 bytes --] On Wed, Apr 26, 2006 at 10:46:06PM +0400, Anton Farygin wrote: > Интересно было бы взглянуть на: > 1) формат buildspec Тот формат, который сформировался на сегодняшний день, устроен следующим образом. buildspec - простой текстовый файл, обрабатываемый построчно. Каждая строка имеет вид "директива: параметры" Директивы такие: spec, copy, gzip, bzip2, tar, tar.gz, tar.bz2 - т.е. кажется всё, что нужно для извлечения из репозитория. Параметр spec: путь_к_файлу Параметры copy|gzip|bzip2: glob_pattern.. Параметры tar|tar.gz|tar.bz2: путь_к_каталогу [options] где options это spec=путь_к_файлу - путь к specfile'у, из которого можно извлечь имя и/или версию для тарболла; name=имя_архива - имя для тарболла; version=версия_архива - версия для тарболла. Фраза "spec-файл, из которого можно извлечь имя" означает, что команда sed '/^Name:[[:space:]]*/!d;s///;q' <spec-файл выводит нормальное имя. Имя называется нормальным, если не содержит недопустимых символов. Аналогично трактуется и фраза про версию. Примеры я уже приводил в этом треде. Могу ещё придумать, если нужно. > 2) типовой набор команд для того, что бы с этим работать $ git2tar -h git2tar - make tarball from git package repository. Usage: git2tar [options] <path-to-git-directory> <output-tarball-name> Options: -b, --buildspec=FILENAME buildspec file name; --bzip2 compress output archive using bzip2; --gzip compress output archive using gzip; -t, --tree-ish=ID tree, commit or tag object name; -q, --quiet try to be more quiet; -v, --verbose print a message for each action; -V, --version print program version and exit; -h, --help show this text and exit. Т.е. есть простая утилита, у которой на входе git-репозиторий и tree-ish (по умолчанию --tree-ish=HEAD) и на выходе tarball специального вида, из которого hasher скоро научится собирать пакеты. Ещё раз обращаю внимание: собирать пакеты надо из того, что есть в репозитории, а не из неза'commit'енного checkout'а. Те, кто хоть немного представляют себе, как устроен git, согласятся, что это не создаст дополнительных сложностей. Зато появится одно полезное свойство - вряд ли удастся забыть за'commit'ить нужное изменение. > - если я правильно понял, то предполагается каждый пакет держать в > отдельном GIT репозитарии. Несомненно. Я не вижу других вариантов. > Вопрос собственно простой: каким образом Я пока не определился, как именно будет устроен центральный репозиторий для Sisyphus. Тут есть варианты, надо понять, на чём остановиться. Я сейчас занимаюсь доработкой попакетного репозитория, объединительные репозитории - это следующий этап. > 1) скачать все пакеты Скачать список всех пакетов. Скачать (git-clone, git-fetch, etc) каждый пакет из списка. > 2) добавлять пакеты в центральный репозиторий Видимо примерно так же, как и обновлять их (git-push). > 3) удалять пакеты из центрального репозитория Не думаю что удалить каталог это проблема. :) > 4) обновлять весь центральный репозиторий (можно конечно сделать for i > in *;do... done, то на мой взгляд в этом случае мы не отследим > добавление/удаление пакетов. Весь репозиторий - это каталог с репозиториями. Можно использовать какой-нибудь dumb transport (e.g. rsync), можно прочитать список и сделать git-pull для каждого. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
next prev parent reply other threads:[~2006-04-26 21:36 UTC|newest] Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top 2006-04-25 22:47 Dmitry V. Levin 2006-04-25 23:02 ` Alexey Tourbin 2006-04-25 23:10 ` Dmitry V. Levin 2006-04-25 23:18 ` Alexey Tourbin 2006-04-25 23:34 ` Dmitry V. Levin 2006-04-26 8:36 ` Michael Shigorin 2006-04-26 8:45 ` Alexey Tourbin 2006-04-26 9:21 ` Michael Shigorin 2006-04-26 10:30 ` Dmitry V. Levin 2006-04-26 12:27 ` Michael Shigorin 2006-04-26 13:42 ` Alexey Tourbin 2006-04-26 13:53 ` Michael Shigorin 2006-04-26 18:49 ` Anton Farygin 2006-04-26 18:58 ` Michael Shigorin 2006-04-26 19:26 ` Anton Farygin 2006-04-26 20:40 ` Dmitry V. Levin 2006-04-27 5:45 ` Anton Farygin 2006-04-25 23:46 ` Alexey Tourbin 2006-04-25 23:56 ` Dmitry V. Levin 2006-04-26 0:06 ` Alexey Tourbin 2006-04-26 0:21 ` Dmitry V. Levin 2006-04-26 8:56 ` [devel] BuildRequires(pre) Michael Shigorin 2006-04-26 10:31 ` Dmitry V. Levin 2006-04-28 9:35 ` [devel] Как сделать репозиторий в git Sergey Bolshakov 2006-04-28 9:53 ` Alexey I. Froloff 2006-04-28 9:55 ` Sergey Bolshakov 2006-04-29 23:30 ` Dmitry V. Levin 2006-04-29 23:39 ` Alexey Tourbin 2006-04-30 13:15 ` Dmitry V. Levin 2006-04-26 5:11 ` Alexey I. Froloff 2006-04-26 10:33 ` Dmitry V. Levin 2006-04-26 23:34 ` Dmitry V. Levin 2006-04-28 8:22 ` Alexey I. Froloff 2006-04-28 12:06 ` Dmitry V. Levin 2006-04-28 12:23 ` Alexey I. Froloff 2006-04-28 12:35 ` Dmitry V. Levin 2006-04-28 12:47 ` Alexey I. Froloff 2006-04-29 9:20 ` Kirill A. Shutemov 2006-04-30 23:07 ` Dmitry V. Levin 2006-05-01 9:43 ` Alexey I. Froloff 2006-04-26 7:13 ` Vital Khilko 2006-04-26 10:35 ` Dmitry V. Levin 2006-04-26 11:21 ` Kirill A. Shutemov 2006-04-26 18:46 ` Anton Farygin 2006-04-26 21:36 ` Dmitry V. Levin [this message] 2006-04-26 21:58 ` Alexey I. Froloff 2006-04-26 22:16 ` Dmitry V. Levin 2006-04-27 5:51 ` Alexey I. Froloff 2006-04-27 12:33 ` Dmitry V. Levin 2006-04-27 13:01 ` Alexey I. Froloff 2006-04-27 23:55 ` Dmitry V. Levin 2006-04-28 7:04 ` Anton Farygin 2006-04-28 12:08 ` Dmitry V. Levin 2006-04-27 6:15 ` Anton Farygin 2006-04-27 12:47 ` Dmitry V. Levin 2006-04-27 13:25 ` Sergey Vlasov 2006-04-27 13:30 ` Dmitry V. Levin 2006-04-27 13:48 ` Anton Farygin 2006-04-27 14:18 ` Michael Shigorin 2006-04-27 14:00 ` Kirill A. Shutemov 2006-04-27 14:14 ` Alexey I. Froloff 2006-04-27 14:44 ` Dmitry V. Levin 2006-04-27 22:26 ` [devel] Как назвать утилиту Dmitry V. Levin 2006-04-27 16:53 ` Kirill Maslinsky 2006-04-28 7:07 ` Anton Farygin 2006-04-27 7:19 ` [devel] Как сделать репозиторий в git Stanislav Ievlev 2006-04-27 12:56 ` Dmitry V. Levin 2006-04-27 13:03 ` Alexey I. Froloff 2006-04-27 13:08 ` Dmitry V. Levin 2006-04-27 13:32 ` Sviatoslav Sviridov 2006-04-27 13:57 ` Anton Farygin 2006-04-27 14:24 ` Michael Shigorin 2006-04-27 22:06 ` [devel] Как назвать файл с правилами Dmitry V. Levin 2006-04-27 22:32 ` Sviatoslav Sviridov 2006-04-27 16:54 ` Kirill Maslinsky 2006-04-28 12:38 ` Dmitry V. Levin 2006-04-28 11:05 ` [devel] [JT] " Michael Shigorin 2006-04-28 11:09 ` Led 2006-04-28 11:15 ` Michael Shigorin 2006-04-28 11:27 ` Led 2006-04-28 10:56 ` [devel] Как сделать репозиторий в git Anton Farygin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20060426213633.GF13934@basalt.office.altlinux.org \ --to=ldv@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git