From: "Alexey I. Froloff" <raorn@altlinux.ru> To: ALT Devel discussion list <devel@lists.altlinux.org> Subject: Re: [devel] Бранч для svn-репозитария в git Date: Mon, 1 Sep 2008 20:26:34 +0400 Message-ID: <20080901162634.GC8478@altlinux.org> (raw) In-Reply-To: <f7a739430809010134i15e2808bs281abcba41cf9fff@mail.gmail.com> [-- Attachment #1: Type: text/plain, Size: 3544 bytes --] * Eugene Prokopiev <enp@> [080901 12:35]: > > git push origin refs/remotes/trunk:refs/remotes/trunk > > git push origin 'refs/remotes/tags/*:refs/remotes/tags/*' > > git push origin 'refs/remotes/branches/*:refs/remotes/branches/*' > сделал, но на git.alt и в клонированном репозитарии ремотных бранчей не видно А git.alt на это как-то ругнулся? Я честно говоря не пробовал так делать, но обработку remotes в girar краем глаза видел ;-) > > Правая сторона может быть и не refs/remotes/*, а refs/svn/*. > $ ls .git/refs/svn* > ls: .git/refs/svn*: No such file or directory Правая сторона: $ git push origin refs/remotes/trunk:refs/svn/trunk $ git push origin 'refs/remotes/tags/*:refs/svn/tags/*' $ git push origin 'refs/remotes/branches/*:refs/svn/branches/*' > > Чтобы второй разработчик мог делать git svn fetch надо либо > > скопировать кусок .git/config относящийся к svn у первого > > разработчика или сделать git svn init и расставить нужные бранчи > > в том виде как их ожидает найти git svn. > зачем тогда делать git push origin ... ? Чтобы туда попали head'ы нужных веток и коммиты. > по моим наблюдениям как раз git svn init или редактирования > .git/config достаточно - получается это вполне кошерный способ? Я это делал один раз, при чём у меня валялся какой-то тухлый .git/svn/ от предыдужих экспериментов. Очень вероятно, что что-то в моих действиях git сделает автоматом. В какой-то момент он начал вывасывать все ревизии начиная с первой, новые об'екты при этом не создавались, просто remotes/trunk перемещался по дереву. Не помню, было ли это до удаления старого .git/svn/ или между удалением и созданием нужных бранчей. > > $ git remote add РАЗРАБОТЧИК git.alt:/people/РАЗРАБОТЧИК/packages/ПАКЕТ.git > > $ git fetch РАЗРАБОТЧИК > это я делаю после того, как второй разработчик клонировал репозитарий, > создал свой бранч на основе моего srpms, чего-то там сделал, а я хочу > это увидеть и, возможно, смержить? Да. Создадутся ветки remotes/РАЗРАБОТЧИК/*. > > $ git fetch РАЗРАБОТЧИК 'refs/heads/*:refs/heads/*' > можно популярно объяснить, зачем это надо? Чтобы не делать один-два-десять раз $ git checkout branch $ git pull . РАЗРАБОТЧИК/branch (или git pull РАЗРАБОТЧИК branch) Но работает это только для fast-forward. > > Если накоммитили в одно время, fast-forward не будет и некоторые > > ветки придётся мержить явно. > а бывает и неявно? можно об этом подробнее? Чуть выше написано. В ruby есть svn, ветка up, куда мержится svn/branches/ruby1_8_7, ветки с патчами и всё смержено в итоге в master. Кирилл зарелизил 1.8.7-alt6, потом я сделал один коммит в master (исправления для ppc). Дальше Кирилл втягивает этот мой коммит в master и продолжает разработку. Если он сразу проверит, не коммитил ли я чего, история будет линейной, его коммит, мой, потом опять его. Если забудет, то fetch 'refs/heads/*:refs/heads/*' ругнётся что fast-forward невозможен и придётся делать pull raorn master. Нас пока двое, пакет не очень динамично развивается, поэтому topic-веток мы не плодим, сильно экспериментами не занимаемся. Получается как будто в разное время коммитим в один и тот же репозитарий. > > Ну и синхронизировать периодически между собой. > я не очень понял, а упомянутые неявные мержи не относятся к процессу > взаимодействия между разработчиками? "Неявные мержи" это fast-forward. Есть простой способ (начиная с git 1.5.0, IIRC) попытаться сделать его для нескольких веток сразу. -- Regards, Sir Raorn. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --]
prev parent reply other threads:[~2008-09-01 16:26 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-08-30 16:35 Eugene Prokopiev 2008-08-30 16:43 ` Eugene Prokopiev 2008-08-30 21:50 ` Vitaly Ostanin 2008-08-31 7:31 ` Eugene Prokopiev 2008-08-31 13:00 ` Vitaly Ostanin 2008-08-31 13:35 ` Eugene Prokopiev 2008-08-31 14:11 ` Alexey I. Froloff 2008-08-31 14:18 ` Eugene Prokopiev 2008-08-31 16:07 ` Alexey I. Froloff 2008-08-31 19:36 ` Eugene Prokopiev 2008-08-31 20:08 ` Alexey I. Froloff 2008-09-01 8:34 ` Eugene Prokopiev 2008-09-01 16:26 ` Alexey I. Froloff [this message]
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=20080901162634.GC8478@altlinux.org \ --to=raorn@altlinux.ru \ --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