ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Бранч svn в бранч git
@ 2008-04-04  9:21 Eugene Prokopiev
  2008-04-04 10:15 ` Ildar Mulyukov
  2008-04-08  6:39 ` [devel] Бранч svn в бранч git Maxim Ivanov
  0 siblings, 2 replies; 12+ messages in thread
From: Eugene Prokopiev @ 2008-04-04  9:21 UTC (permalink / raw)
  To: Devel

Здравствуйте!

Есть такой svn-репозитарий -
http://www.callweaver.org/browse/callweaver, он же -
http://svn.callweaver.org/callweaver/. Хочется забирать из него бранч
rel/1.2 в локальный git-репозитарий в бранч upstream, все остальное не
нужно. Т.е. ищется просто аналог svn co
http://svn.callweaver.org/callweaver/branches/rel/1.2/. Чтение git-svn
и git-svnimport не помогло :(

-- 
С уважением,
Прокопьев Евгений

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Бранч svn в бранч  git
  2008-04-04  9:21 [devel] Бранч svn в бранч git Eugene Prokopiev
@ 2008-04-04 10:15 ` Ildar Mulyukov
  2008-04-04 12:36   ` Eugene Prokopiev
  2008-04-08  6:39 ` [devel] Бранч svn в бранч git Maxim Ivanov
  1 sibling, 1 reply; 12+ messages in thread
From: Ildar Mulyukov @ 2008-04-04 10:15 UTC (permalink / raw)
  To: devel

On 04.04.2008 15:21:56, Eugene Prokopiev wrote:
> Здравствуйте!
> 
> Есть такой svn-репозитарий -
> http://www.callweaver.org/browse/callweaver, он же -
> http://svn.callweaver.org/callweaver/. Хочется забирать из него бранч
> rel/1.2 в локальный git-репозитарий в бранч upstream, все остальное не
> нужно. Т.е. ищется просто аналог svn co
> http://svn.callweaver.org/callweaver/branches/rel/1.2/. Чтение git-svn
> и git-svnimport не помогло :(

Пробуйте поискать архив этой рассылки. На этот вопрос несколько раз  
отвечали.
На крайний случай можно сделать svn co и положить руками в дерево GIT.  
(что я и делаю, если мне не интересен апстрим)

С уважением,
-- 
Ildar  Mulyukov,  free SW designer/programmer/packager
=========================================
email: ildar@altlinux.ru
Jabber: ildar@jabber.ru
ICQ: 4334029
ALT Linux Sisyphus http://www.sisyphus.ru
=========================================


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Бранч svn в бранч git
  2008-04-04 10:15 ` Ildar Mulyukov
@ 2008-04-04 12:36   ` Eugene Prokopiev
  2008-04-07  5:13     ` Eugene Prokopiev
  0 siblings, 1 reply; 12+ messages in thread
From: Eugene Prokopiev @ 2008-04-04 12:36 UTC (permalink / raw)
  To: ALT Linux Team development discussions

> > Есть такой svn-репозитарий -
> > http://www.callweaver.org/browse/callweaver, он же -
> > http://svn.callweaver.org/callweaver/. Хочется забирать
> из него бранч
> > rel/1.2 в локальный git-репозитарий в бранч upstream, все остальное не
> > нужно. Т.е. ищется просто аналог svn co
> > http://svn.callweaver.org/callweaver/branches/rel/1.2/.
> Чтение git-svn
> > и git-svnimport не помогло :(
> >
>
>  Пробуйте поискать архив этой рассылки. На этот вопрос несколько раз
> отвечали.

Более того, несколько раз мне же, но в общем случае я так ничего и не понял :(

$ mkdir cw
$ cd cw
$ git-svn init http://svn.callweaver.org/callweaver/branches/rel/1.2/
$ git-svn fetch
W: Ignoring error from SVN, path probably does not exist: (175007):
HTTP Path Not Found: REPORT request failed on
'/!svn/bc/100/callweaver/branches/rel/1.2':
'/!svn/bc/100/callweaver/branches/rel/1.2' path not found
W: Do not be alarmed at the above message git-svn is just searching
aggressively for old history.
This may take a while on large repositories
Found possible branch point:
http://svn.callweaver.org/callweaver/trunk =>
http://svn.callweaver.org/callweaver/branches/rel/1.2, 2977
Initializing parent: git-svn@2977
W: Ignoring error from SVN, path probably does not exist: (175007):
HTTP Path Not Found: REPORT request failed on
'/!svn/bc/101/callweaver/trunk': '/!svn/bc/101/callweaver/trunk' path
not found
W: Do not be alarmed at the above message git-svn is just searching
aggressively for old history.
This may take a while on large repositories
branch_from: /openpbx => /openpbx/trunk
Found possible branch point: http://svn.callweaver.org/openpbx/trunk
=> http://svn.callweaver.org/callweaver/trunk, 2600
Initializing parent: git-svn@2600
r3 = 37d7074228dd9a4aaf082eb455a4a7c8677e3f11 (git-svn@2600)
        A       build_tools/mkdep
        A       build_tools/make_build_h
...
        M       plc.c
r501 = ba2830e7a41d68003c5fb4d44e9fbc01e0d9c4d3 (git-svn@2600)

$ git-branch -a
  git-svn@2600
  git-svn@445
  git-svn@496

$ git-checkout -b git-svn@2600
Switched to a new branch "git-svn@2600"

$ PAGER=head git-log
commit ba2830e7a41d68003c5fb4d44e9fbc01e0d9c4d3
Author: wsuff <wsuff@e56c2a57-502e-0410-a6e2-86b2f1ef08c6>
Date:   Mon Oct 17 01:53:05 2005 +0000

    typo fix again

    git-svn-id: http://svn.callweaver.org/openpbx/trunk@501
e56c2a57-502e-0410-a6e2-86b2f1ef08c6

commit 415de73b3b09fa63f0584d4bb3af1daf4ea22081
Merge: 16bc8ff... 808024e...

В двух оставшихся бранчах примерно такого же возраста коммиты. Что я скачал?

git-svn fetch, запущенный еще несколько раз (до тех пор, пока он не
перестанет что-либо скачивать), приводит к следующему:

$ git-branch -a
  git-svn
  git-svn@2600
* master
  git-svn
  git-svn@2600
  git-svn@2977
  git-svn@445
  git-svn@496

git-checkout и git-log показывают везде очень древние коммиты. Как
добраться до ревизии 4613 из rel/1.2 -
http://www.callweaver.org/browse/callweaver/branches/rel/1.2, чтоб
смержить соответствующий коммит с бранчем, где лежит спек?

>  На крайний случай можно сделать svn co и положить руками в дерево GIT. (что
> я и делаю, если мне не интересен апстрим)

я тоже так делаю, но вот решил исправиться ;)

-- 
С уважением,
Прокопьев Евгений

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Бранч svn в бранч git
  2008-04-04 12:36   ` Eugene Prokopiev
@ 2008-04-07  5:13     ` Eugene Prokopiev
  2008-04-07  7:40       ` Damir Shayhutdinov
  0 siblings, 1 reply; 12+ messages in thread
From: Eugene Prokopiev @ 2008-04-07  5:13 UTC (permalink / raw)
  To: ALT Linux Team development discussions

>  $ git-svn init http://svn.callweaver.org/callweaver/branches/rel/1.2/
>  $ git-svn fetch

Вполне приемлемым вариантом оказался git-svn fetch --revision
4580:HEAD (действительно, зачем мне вся история?), который вытягивает
ревизии, относящиеся к тому же бранчу, что и начальная 4580 (т.о. сама
HEAD может и не вытянуться).

Но очень неудобным (для меня, хотя, как я вижу, никого больше это не
смущает) является смешивание в одном каталоге оригинальных исходников
и моих файлов, необходимых для сборки rpm. Есть ли способ делать fetch
в подкаталог?

-- 
С уважением,
Прокопьев Евгений

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Бранч svn в бранч git
  2008-04-07  5:13     ` Eugene Prokopiev
@ 2008-04-07  7:40       ` Damir Shayhutdinov
  2008-04-07 10:53         ` Денис Смирнов
  2008-04-07 13:21         ` Ildar Mulyukov
  0 siblings, 2 replies; 12+ messages in thread
From: Damir Shayhutdinov @ 2008-04-07  7:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

>  Но очень неудобным (для меня, хотя, как я вижу, никого больше это не
>  смущает) является смешивание в одном каталоге оригинальных исходников
>  и моих файлов, необходимых для сборки rpm. Есть ли способ делать fetch
>  в подкаталог?

Меня это уже давно не смущает. Держите спеки и gear-файлы в одной
ветке, а апстримные исходники - в другой. Перед выпуском просто
делаете с помощью git-merge -s ours фиктивный merge с веткой апстрима.

В .gear-rules при этом пишете что-то типа

tar.gz: upstream:.

Единственная неочевидная вещь в такой схеме - это как получить в
гит-репозитарии ветку, которая будет содержать спек и gear-rules, но
не будет содержать исходников.

Для этого создается пустой временный репозитарий, в него коммитится
спек и .gear-rules, потом ветку master оттуда надо будет втянуть в
основной репозитарий.

В качестве примера посмотрите на liblazy у меня в git (а также
почитайте ман к gear-rules и gear-update-tag).

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Бранч svn в бранч git
  2008-04-07  7:40       ` Damir Shayhutdinov
@ 2008-04-07 10:53         ` Денис Смирнов
  2008-04-07 11:06           ` Damir Shayhutdinov
                             ` (2 more replies)
  2008-04-07 13:21         ` Ildar Mulyukov
  1 sibling, 3 replies; 12+ messages in thread
From: Денис Смирнов @ 2008-04-07 10:53 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 521 bytes --]

On Mon, Apr 07, 2008 at 11:40:04AM +0400, Damir Shayhutdinov wrote:

DS> Единственная неочевидная вещь в такой схеме - это как получить в
DS> гит-репозитарии ветку, которая будет содержать спек и gear-rules, но
DS> не будет содержать исходников.

Я пользуюсь грязным хаком -- прямо в .git/HEAD редактирую имя бранча.
После чего делаю коммит. Получается первый коммит в этом бранче.

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Бранч svn в бранч git
  2008-04-07 10:53         ` Денис Смирнов
@ 2008-04-07 11:06           ` Damir Shayhutdinov
  2008-04-07 11:07           ` Eugene Prokopiev
  2008-04-08  4:56           ` Ildar Mulyukov
  2 siblings, 0 replies; 12+ messages in thread
From: Damir Shayhutdinov @ 2008-04-07 11:06 UTC (permalink / raw)
  To: ALT Linux Team development discussions

>  DS> Единственная неочевидная вещь в такой схеме - это как получить в
>  DS> гит-репозитарии ветку, которая будет содержать спек и gear-rules, но
>  DS> не будет содержать исходников.
>
>  Я пользуюсь грязным хаком -- прямо в .git/HEAD редактирую имя бранча.
>  После чего делаю коммит. Получается первый коммит в этом бранче.

Хм, красивое решение. Фактически получается эмуляция init-commit.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Бранч svn в бранч git
  2008-04-07 10:53         ` Денис Смирнов
  2008-04-07 11:06           ` Damir Shayhutdinov
@ 2008-04-07 11:07           ` Eugene Prokopiev
  2008-04-08  4:56           ` Ildar Mulyukov
  2 siblings, 0 replies; 12+ messages in thread
From: Eugene Prokopiev @ 2008-04-07 11:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions

>  DS> Единственная неочевидная вещь в такой схеме - это как получить в
>  DS> гит-репозитарии ветку, которая будет содержать спек и gear-rules, но
>  DS> не будет содержать исходников.
>
>  Я пользуюсь грязным хаком -- прямо в .git/HEAD редактирую имя бранча.
>  После чего делаю коммит. Получается первый коммит в этом бранче.

т.е. вписываешь имя бранча, которого еще нет? ;)

-- 
С уважением,
Прокопьев Евгений

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Бранч svn в бранч  git
  2008-04-07  7:40       ` Damir Shayhutdinov
  2008-04-07 10:53         ` Денис Смирнов
@ 2008-04-07 13:21         ` Ildar Mulyukov
  2008-04-12 11:28           ` [devel] [wiki] /devel/git Michael Shigorin
  1 sibling, 1 reply; 12+ messages in thread
From: Ildar Mulyukov @ 2008-04-07 13:21 UTC (permalink / raw)
  To: devel

On 07.04.2008 13:40:04, Damir Shayhutdinov wrote:
> >  Но очень неудобным (для меня, хотя, как я вижу, никого больше это  
> не
> >  смущает) является смешивание в одном каталоге оригинальных  
> исходников
> >  и моих файлов, необходимых для сборки rpm. Есть ли способ делать  
> fetch
> >  в подкаталог?
> 
> Меня это уже давно не смущает. Держите спеки и gear-файлы в одной
> ветке, а апстримные исходники - в другой. Перед выпуском просто
> делаете с помощью git-merge -s ours фиктивный merge с веткой апстрима.
> 
> В .gear-rules при этом пишете что-то типа
> 
> tar.gz: upstream:.
> 
> Единственная неочевидная вещь в такой схеме - это как получить в
> гит-репозитарии ветку, которая будет содержать спек и gear-rules, но
> не будет содержать исходников.
> 
> Для этого создается пустой временный репозитарий, в него коммитится
> спек и .gear-rules, потом ветку master оттуда надо будет втянуть в
> основной репозитарий.
> 
> В качестве примера посмотрите на liblazy у меня в git (а также
> почитайте ман к gear-rules и gear-update-tag).

Причём это уже давно есть на вики.

С уважением, Ильдар
-- 
Ildar  Mulyukov,  free SW designer/programmer/packager
=========================================
email: ildar@altlinux.ru
Jabber: ildar@jabber.ru
ICQ: 4334029
ALT Linux Sisyphus http://www.sisyphus.ru
=========================================


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Бранч svn в бранч  git
  2008-04-07 10:53         ` Денис Смирнов
  2008-04-07 11:06           ` Damir Shayhutdinov
  2008-04-07 11:07           ` Eugene Prokopiev
@ 2008-04-08  4:56           ` Ildar Mulyukov
  2 siblings, 0 replies; 12+ messages in thread
From: Ildar Mulyukov @ 2008-04-08  4:56 UTC (permalink / raw)
  To: devel

On 07.04.2008 16:53:32, Денис Смирнов wrote:
> On Mon, Apr 07, 2008 at 11:40:04AM +0400, Damir Shayhutdinov wrote:
> 
> DS> Единственная неочевидная вещь в такой схеме - это как получить в
> DS> гит-репозитарии ветку, которая будет содержать спек и gear-rules,  
> но
> DS> не будет содержать исходников.

Приветствую!

Прямым и документированным способом является такой: создать рядом  
новый-свежий репо с новым корнем (то есть первым коммитом), а затем  
объединить оба репо во один посредством git-fetch.

> Я пользуюсь грязным хаком -- прямо в .git/HEAD редактирую имя бранча.  
> После чего делаю коммит. Получается первый коммит в этом бранче.

Хм. Это, пожалуй, побыстрее будет :)

С уважением, Ильдар
-- 
Ildar  Mulyukov,  free SW designer/programmer/packager
=========================================
email: ildar@altlinux.ru
Jabber: ildar@jabber.ru
ICQ: 4334029
ALT Linux Sisyphus http://www.sisyphus.ru
=========================================


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Бранч svn в бранч git
  2008-04-04  9:21 [devel] Бранч svn в бранч git Eugene Prokopiev
  2008-04-04 10:15 ` Ildar Mulyukov
@ 2008-04-08  6:39 ` Maxim Ivanov
  1 sibling, 0 replies; 12+ messages in thread
From: Maxim Ivanov @ 2008-04-08  6:39 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В сообщении от Friday 04 April 2008 13:21:56 Eugene Prokopiev написал(а):
> Есть такой svn-репозитарий -
> http://www.callweaver.org/browse/callweaver, он же -
> http://svn.callweaver.org/callweaver/. Хочется забирать из него бранч
> rel/1.2 в локальный git-репозитарий в бранч upstream, все остальное не
> нужно. Т.е. ищется просто аналог svn co
> http://svn.callweaver.org/callweaver/branches/rel/1.2/. Чтение git-svn
> и git-svnimport не помогло :(

Вчера часа 3 ковырял что и как делать с этим git-svn. Вот маленький итог (на 
примере eathena).

$ git init
$ vim .gear-rules
$ git-add .
$ git-commit -m 'Initial commit' -a
;получили ветку master

$ git svn init http://svn.eathena.ws/svn/ea

далее редактируем файл .git/config
было:
[svn-remote "svn"]
        url = http://svn.eathena.ws/svn/ea
        fetch = :refs/remotes/git-svn

cтало:
[svn-remote "svn"]
        url = http://svn.eathena.ws/svn/ea
        fetch = branches/stable:refs/remotes/stable
т.е. вся папка branches/stable уйдет в ветку remotes/stable, таким образом 
можно отобразить любую папку в любую ветку.

$ git svn fetch --revisions 12500:HEAD
; чтобы не забирать всю историю, забираем только конец

$ git-branch -r
  trunk
; дело сделано!

$ git-checkout -b upstream trunk
; создали локальный бранч апстрим, где будем расставлять тэги

потом регулярно вытягиваем обновления из удалённого svn в наш локальный бранч 
upstream
$ git checkout upstream && git svn rebase

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [devel] [wiki] /devel/git
  2008-04-07 13:21         ` Ildar Mulyukov
@ 2008-04-12 11:28           ` Michael Shigorin
  0 siblings, 0 replies; 12+ messages in thread
From: Michael Shigorin @ 2008-04-12 11:28 UTC (permalink / raw)
  To: devel

On Mon, Apr 07, 2008 at 07:21:19PM +0600, Ildar Mulyukov wrote:
> Причём это уже давно есть на вики.

А герои на предмет "творчески раскромсать" найдутся?
Пару раз думал, но не настолько копенгаген...

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2008-04-12 11:28 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-04  9:21 [devel] Бранч svn в бранч git Eugene Prokopiev
2008-04-04 10:15 ` Ildar Mulyukov
2008-04-04 12:36   ` Eugene Prokopiev
2008-04-07  5:13     ` Eugene Prokopiev
2008-04-07  7:40       ` Damir Shayhutdinov
2008-04-07 10:53         ` Денис Смирнов
2008-04-07 11:06           ` Damir Shayhutdinov
2008-04-07 11:07           ` Eugene Prokopiev
2008-04-08  4:56           ` Ildar Mulyukov
2008-04-07 13:21         ` Ildar Mulyukov
2008-04-12 11:28           ` [devel] [wiki] /devel/git Michael Shigorin
2008-04-08  6:39 ` [devel] Бранч svn в бранч git Maxim Ivanov

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