git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BUG] girocco + git-svn: trunk is not propagated to master
@ 2010-02-19 13:22 Kirill Smelkov
  2010-02-20 23:42 ` Miklos Vajna
  0 siblings, 1 reply; 12+ messages in thread
From: Kirill Smelkov @ 2010-02-19 13:22 UTC (permalink / raw)
  To: Petr Baudis; +Cc: Miklos Vajna, git

Hello Petr, Miklos, All,

Recently I've setup an svn mirror on repo.or.cz for docutils projects[1].
Automatic regular updates by `git svn fetch` seem to work, so first
thanks for the service.

However master is not updated at all, and also refs/heads/* are not
populated from refs/remotes/* it seems.

In Girocco's taskd/clone.sh[2] and jobd/update.sh[3], I see there is a
nice setup for master to be bound to trunk and also refs/remotes/heads/*
to be propagates to refs/remotes/*:

---- taskd/clone.sh ----
svn://*)
    GIT_DIR=. git svn fetch
    # Neat Trick suggested by Miklos Vajna
    GIT_DIR=. git config remote.origin.url .
    GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
    GIT_DIR=. git config remote.origin.fetch +refs/remotes/trunk:refs/heads/master
    GIT_DIR=. git config remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
    GIT_DIR=. git fetch

---- jobd/update.sh ----
svn://*)
        GIT_DIR=. bang git svn fetch
        GIT_DIR=. bang git fetch


But it seems it does not work. First I see there is a need for quoting,
so e.g. 

-   GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
+   GIT_DIR=. git config remote.origin.fetch '+refs/remotes/heads/*:refs/heads/*'

but I'm not sure it will fix the problem.

Can we do something about it please?


Thanks beforehand,
Kirill


[1] http://repo.or.cz/w/docutils.git
[2] http://repo.or.cz/w/girocco.git/blob/HEAD:/taskd/clone.sh#l25
[3] http://repo.or.cz/w/girocco.git/blob/HEAD:/jobd/update.sh#l41

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

* Re: [BUG] girocco + git-svn: trunk is not propagated to master
  2010-02-19 13:22 [BUG] girocco + git-svn: trunk is not propagated to master Kirill Smelkov
@ 2010-02-20 23:42 ` Miklos Vajna
  2010-02-21 17:19   ` Kirill Smelkov
  0 siblings, 1 reply; 12+ messages in thread
From: Miklos Vajna @ 2010-02-20 23:42 UTC (permalink / raw)
  To: Kirill Smelkov; +Cc: Petr Baudis, git

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

On Fri, Feb 19, 2010 at 04:22:07PM +0300, Kirill Smelkov <kirr@mns.spb.ru> wrote:
> ---- taskd/clone.sh ----
> svn://*)
>     GIT_DIR=. git svn fetch
>     # Neat Trick suggested by Miklos Vajna
>     GIT_DIR=. git config remote.origin.url .
>     GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
>     GIT_DIR=. git config remote.origin.fetch +refs/remotes/trunk:refs/heads/master
>     GIT_DIR=. git config remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
>     GIT_DIR=. git fetch

Here is the original blog post:

http://vmiklos.hu/blog/svn-ggit-conversion-using-git-svn

> ---- jobd/update.sh ----
> svn://*)
>         GIT_DIR=. bang git svn fetch
>         GIT_DIR=. bang git fetch
> 
> 
> But it seems it does not work. First I see there is a need for quoting,
> so e.g. 
> 
> -   GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
> +   GIT_DIR=. git config remote.origin.fetch '+refs/remotes/heads/*:refs/heads/*'
> 
> but I'm not sure it will fix the problem.

When I tried this technique in ooo-build, I did not need quoting. Though
it won't hurt, sure.

> Can we do something about it please?

Did you get any error message?

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

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

* Re: [BUG] girocco + git-svn: trunk is not propagated to master
  2010-02-20 23:42 ` Miklos Vajna
@ 2010-02-21 17:19   ` Kirill Smelkov
  2010-02-22  8:50     ` [PATCH] Teach Girocco to mirror http:// style SVN repos Kirill Smelkov
  0 siblings, 1 reply; 12+ messages in thread
From: Kirill Smelkov @ 2010-02-21 17:19 UTC (permalink / raw)
  To: Miklos Vajna, Petr Baudis; +Cc: Kirill Smelkov, git

On Sun, Feb 21, 2010 at 12:42:00AM +0100, Miklos Vajna wrote:
> On Fri, Feb 19, 2010 at 04:22:07PM +0300, Kirill Smelkov <kirr@mns.spb.ru> wrote:
> > ---- taskd/clone.sh ----
> > svn://*)
> >     GIT_DIR=. git svn fetch
> >     # Neat Trick suggested by Miklos Vajna
> >     GIT_DIR=. git config remote.origin.url .
> >     GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
> >     GIT_DIR=. git config remote.origin.fetch +refs/remotes/trunk:refs/heads/master
> >     GIT_DIR=. git config remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
> >     GIT_DIR=. git fetch
> 
> Here is the original blog post:
> 
> http://vmiklos.hu/blog/svn-ggit-conversion-using-git-svn

Thanks

> > ---- jobd/update.sh ----
> > svn://*)
> >         GIT_DIR=. bang git svn fetch
> >         GIT_DIR=. bang git fetch
> > 
> > 
> > But it seems it does not work. First I see there is a need for quoting,
> > so e.g. 
> > 
> > -   GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
> > +   GIT_DIR=. git config remote.origin.fetch '+refs/remotes/heads/*:refs/heads/*'
> > 
> > but I'm not sure it will fix the problem.
> 
> When I tried this technique in ooo-build, I did not need quoting. Though
> it won't hurt, sure.

Yes it should work as is, but quoting wildcards is defensive. Just in
case.

> > Can we do something about it please?
> 
> Did you get any error message?

No, it sent me an email that cloning was ok and that was it...


... I think I've found the problem -- it's that we need to use
`git config --add` in order to setup multivars. Please find patches below.
Petr, if everything is ok with them, could you please apply it? Thanks.


From fd625c71d1f6ec88bd58faaca24da29c1fb8b5b3 Mon Sep 17 00:00:00 2001
From: Kirill Smelkov <kirr@mns.spb.ru>
Date: Sun, 21 Feb 2010 20:02:00 +0300
Subject: [PATCH 1/2] taskd/clone: Don't forget to use 'git config --add' for multivars setup

Neat Trick suggested by Miklos Vajna setups origin remote as '.' and
also setups 3 refspecs for remotes.origin.fetch.

The trick is nice indeed, but in order to setup config multivar, one
have to use explicit --add option for `git config' (*) or else old var
value is just replaced.

The problem showed in svn-mirror repositories with stale master (was not
updating from trunk) and also as lack of branches -- that's
understandable -- we had '+refs/remotes/tags/*:refs/tags/*' config last,
and tags were working OK.

Fix it.

(*) explicit --add was needed since 89c4afe0 (Add --add option to
    git-repo-config) in git.git, which dates to git v1.4.4.2-225-g89c4afe
---
 taskd/clone.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/taskd/clone.sh b/taskd/clone.sh
index 962c526..0f5d6fa 100755
--- a/taskd/clone.sh
+++ b/taskd/clone.sh
@@ -28,8 +28,8 @@ case "$url" in
 		# Neat Trick suggested by Miklos Vajna
 		GIT_DIR=. git config remote.origin.url .
 		GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
-		GIT_DIR=. git config remote.origin.fetch +refs/remotes/trunk:refs/heads/master
-		GIT_DIR=. git config remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
+		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/trunk:refs/heads/master
+		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
 		GIT_DIR=. git fetch
 		;;
 	darcs://*)
-- 
1.7.0.50.g50c1



From 79477bd2cdc60574eb4a07d2dc2c97d9fa663e27 Mon Sep 17 00:00:00 2001
From: Kirill Smelkov <kirr@mns.spb.ru>
Date: Sun, 21 Feb 2010 20:11:09 +0300
Subject: [PATCH 2/2] taskd/clone: quote shell metacharacters where appropriate

At present this involves svn mirror setup -- refspec mappings contain
shell wildcards. Quote them just in case.
---
 taskd/clone.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/taskd/clone.sh b/taskd/clone.sh
index 0f5d6fa..cfcb3b1 100755
--- a/taskd/clone.sh
+++ b/taskd/clone.sh
@@ -27,9 +27,9 @@ case "$url" in
 		GIT_DIR=. git svn fetch
 		# Neat Trick suggested by Miklos Vajna
 		GIT_DIR=. git config remote.origin.url .
-		GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
-		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/trunk:refs/heads/master
-		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
+		GIT_DIR=. git config remote.origin.fetch '+refs/remotes/heads/*:refs/heads/*'
+		GIT_DIR=. git config --add remote.origin.fetch '+refs/remotes/trunk:refs/heads/master'
+		GIT_DIR=. git config --add remote.origin.fetch '+refs/remotes/tags/*:refs/tags/*'
 		GIT_DIR=. git fetch
 		;;
 	darcs://*)
-- 
1.7.0.50.g50c1


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

* [PATCH] Teach Girocco to mirror http:// style SVN repos
  2010-02-21 17:19   ` Kirill Smelkov
@ 2010-02-22  8:50     ` Kirill Smelkov
  2010-03-22 11:07       ` [PATCH 0/3] girocco + git-svn: trunk is not propagated to master + more... (resend) Kirill Smelkov
  0 siblings, 1 reply; 12+ messages in thread
From: Kirill Smelkov @ 2010-02-22  8:50 UTC (permalink / raw)
  To: Petr Baudis; +Cc: Kirill Smelkov, Miklos Vajna, git

On Sun, Feb 21, 2010 at 08:19:39PM +0300, Kirill Smelkov wrote:
> ... I think I've found the problem -- it's that we need to use
> `git config --add` in order to setup multivars. Please find patches below.
> Petr, if everything is ok with them, could you please apply it? Thanks.

And also, while at it, I was always dreaming about http:// style svn
mirroring support at repo.or.cz . Petr, they say dreams always come
true. Could you please apply it?


>From 7cb7218b23c7ab89609a812137e1d621603aabc6 Mon Sep 17 00:00:00 2001
From: Kirill Smelkov <kirr@mns.spb.ru>
Date: Mon, 22 Feb 2010 11:37:35 +0300
Subject: [PATCH] Teach Girocco to mirror http:// style SVN repos

Currently we can mirror svn:// repos, but http:// is assumed to be used
for Git. Teach the tool to use svn+http:// style urls for http:// svn
repositories.

This is very needed, because most SVN hosting services only provide
http:// style access to their services. e.g. google code, python.org,
etc...

This has not been tested on full Girocco installation - just partly. But
if it works, let's also add svn+https later.
---
 Girocco/Util.pm |    2 +-
 jobd/update.sh  |    2 +-
 taskd/clone.sh  |    6 ++++--
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/Girocco/Util.pm b/Girocco/Util.pm
index e2f7854..969cb3c 100644
--- a/Girocco/Util.pm
+++ b/Girocco/Util.pm
@@ -111,7 +111,7 @@ sub valid_web_url {
 }
 sub valid_repo_url {
 	$_ = $_[0];
-	/^(http|git|svn|darcs|bzr):\/\/[a-zA-Z0-9-.:]+(\/[_\%a-zA-Z0-9.\/~-]*)?$/;
+	/^(http|git|svn(\+http)?|darcs|bzr):\/\/[a-zA-Z0-9-.:]+(\/[_\%a-zA-Z0-9.\/~-]*)?$/;
 }
 
 
diff --git a/jobd/update.sh b/jobd/update.sh
index e09ef95..65e0455 100755
--- a/jobd/update.sh
+++ b/jobd/update.sh
@@ -38,7 +38,7 @@ mail="$(config_get owner)"
 bang git for-each-ref --format '%(refname)	%(objectname)' >.refs-before
 
 case "$url" in
-	svn://*)
+	svn://* | svn+http://*)
 		GIT_DIR=. bang git svn fetch
 		GIT_DIR=. bang git fetch
 		;;
diff --git a/taskd/clone.sh b/taskd/clone.sh
index cfcb3b1..e634388 100755
--- a/taskd/clone.sh
+++ b/taskd/clone.sh
@@ -22,8 +22,10 @@ mail="$(config_get owner)"
 # Initial mirror
 echo "Initiating mirroring..."
 case "$url" in
-	svn://*)
-		GIT_DIR=. git svn init -s "$url"
+	svn://* | svn+http://*)
+		# we just remote svn+ here, so svn+http://... becomes http://...
+		svnurl="${url#svn+}"
+		GIT_DIR=. git svn init -s "$svnurl"
 		GIT_DIR=. git svn fetch
 		# Neat Trick suggested by Miklos Vajna
 		GIT_DIR=. git config remote.origin.url .
-- 
1.7.0.50.g50c1

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

* [PATCH 0/3] girocco + git-svn: trunk is not propagated to master + more... (resend)
  2010-02-22  8:50     ` [PATCH] Teach Girocco to mirror http:// style SVN repos Kirill Smelkov
@ 2010-03-22 11:07       ` Kirill Smelkov
  2010-03-22 11:07         ` [PATCH 1/3] taskd/clone: Don't forget to use 'git config --add' for multivars setup Kirill Smelkov
                           ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Kirill Smelkov @ 2010-03-22 11:07 UTC (permalink / raw)
  To: Petr Baudis; +Cc: Miklos Vajna, Petr Baudis, git, Kirill Smelkov

On Mon, Feb 22, 2010 at 11:50:29AM +0300, Kirill Smelkov wrote:
> On Sun, Feb 21, 2010 at 08:19:39PM +0300, Kirill Smelkov wrote:
> > ... I think I've found the problem -- it's that we need to use
> > `git config --add` in order to setup multivars. Please find patches below.
> > Petr, if everything is ok with them, could you please apply it? Thanks.
>
> And also, while at it, I was always dreaming about http:// style svn
> mirroring support at repo.or.cz . Petr, they say dreams always come
> true. Could you please apply it?

Petr,

Since I was once recognized as russian spam in Junio's inbox, and it's
already one month since I originally posted, I'd like
to "resend" this stuff. Could you please ACK/NAK?

Thanks beforehand,
Kirill


http://marc.info/?l=git&m=126677421607801&w=2
http://marc.info/?l=git&m=126682864619850&w=2


Kirill Smelkov (3):
  taskd/clone: Don't forget to use 'git config --add' for multivars
    setup
  taskd/clone: quote shell metacharacters where appropriate
  Teach Girocco to mirror http:// style SVN repos

 Girocco/Util.pm |    2 +-
 jobd/update.sh  |    2 +-
 taskd/clone.sh  |   12 +++++++-----
 3 files changed, 9 insertions(+), 7 deletions(-)

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

* [PATCH 1/3] taskd/clone: Don't forget to use 'git config --add' for multivars setup
  2010-03-22 11:07       ` [PATCH 0/3] girocco + git-svn: trunk is not propagated to master + more... (resend) Kirill Smelkov
@ 2010-03-22 11:07         ` Kirill Smelkov
  2010-03-22 11:08         ` [PATCH 2/3] taskd/clone: quote shell metacharacters where appropriate Kirill Smelkov
  2010-03-22 11:08         ` [PATCH 3/3] Teach Girocco to mirror http:// style SVN repos Kirill Smelkov
  2 siblings, 0 replies; 12+ messages in thread
From: Kirill Smelkov @ 2010-03-22 11:07 UTC (permalink / raw)
  To: Petr Baudis; +Cc: Miklos Vajna, Petr Baudis, git, Kirill Smelkov

Neat Trick suggested by Miklos Vajna setups origin remote as '.' and
also setups 3 refspecs for remotes.origin.fetch.

The trick is nice indeed, but in order to setup config multivar, one
have to use explicit --add option for `git config' (*) or else old var
value is just replaced.

The problem showed in svn-mirror repositories with stale master (was not
updating from trunk) and also as lack of branches -- that's
understandable -- we had '+refs/remotes/tags/*:refs/tags/*' config last,
and tags were working OK.

Fix it.

(*) explicit --add was needed since 89c4afe0 (Add --add option to
    git-repo-config) in git.git, which dates to git v1.4.4.2-225-g89c4afe
---
 taskd/clone.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/taskd/clone.sh b/taskd/clone.sh
index 962c526..0f5d6fa 100755
--- a/taskd/clone.sh
+++ b/taskd/clone.sh
@@ -28,8 +28,8 @@ case "$url" in
 		# Neat Trick suggested by Miklos Vajna
 		GIT_DIR=. git config remote.origin.url .
 		GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
-		GIT_DIR=. git config remote.origin.fetch +refs/remotes/trunk:refs/heads/master
-		GIT_DIR=. git config remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
+		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/trunk:refs/heads/master
+		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
 		GIT_DIR=. git fetch
 		;;
 	darcs://*)
-- 
1.7.0.2.284.gafe27d

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

* [PATCH 2/3] taskd/clone: quote shell metacharacters where appropriate
  2010-03-22 11:07       ` [PATCH 0/3] girocco + git-svn: trunk is not propagated to master + more... (resend) Kirill Smelkov
  2010-03-22 11:07         ` [PATCH 1/3] taskd/clone: Don't forget to use 'git config --add' for multivars setup Kirill Smelkov
@ 2010-03-22 11:08         ` Kirill Smelkov
  2010-03-22 11:08         ` [PATCH 3/3] Teach Girocco to mirror http:// style SVN repos Kirill Smelkov
  2 siblings, 0 replies; 12+ messages in thread
From: Kirill Smelkov @ 2010-03-22 11:08 UTC (permalink / raw)
  To: Petr Baudis; +Cc: Miklos Vajna, Petr Baudis, git, Kirill Smelkov

At present this involves svn mirror setup -- refspec mappings contain
shell wildcards. Quote them just in case.
---
 taskd/clone.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/taskd/clone.sh b/taskd/clone.sh
index 0f5d6fa..cfcb3b1 100755
--- a/taskd/clone.sh
+++ b/taskd/clone.sh
@@ -27,9 +27,9 @@ case "$url" in
 		GIT_DIR=. git svn fetch
 		# Neat Trick suggested by Miklos Vajna
 		GIT_DIR=. git config remote.origin.url .
-		GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
-		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/trunk:refs/heads/master
-		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
+		GIT_DIR=. git config remote.origin.fetch '+refs/remotes/heads/*:refs/heads/*'
+		GIT_DIR=. git config --add remote.origin.fetch '+refs/remotes/trunk:refs/heads/master'
+		GIT_DIR=. git config --add remote.origin.fetch '+refs/remotes/tags/*:refs/tags/*'
 		GIT_DIR=. git fetch
 		;;
 	darcs://*)
-- 
1.7.0.2.284.gafe27d

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

* [PATCH 3/3] Teach Girocco to mirror http:// style SVN repos
  2010-03-22 11:07       ` [PATCH 0/3] girocco + git-svn: trunk is not propagated to master + more... (resend) Kirill Smelkov
  2010-03-22 11:07         ` [PATCH 1/3] taskd/clone: Don't forget to use 'git config --add' for multivars setup Kirill Smelkov
  2010-03-22 11:08         ` [PATCH 2/3] taskd/clone: quote shell metacharacters where appropriate Kirill Smelkov
@ 2010-03-22 11:08         ` Kirill Smelkov
  2010-05-05 18:54           ` Petr Baudis
  2 siblings, 1 reply; 12+ messages in thread
From: Kirill Smelkov @ 2010-03-22 11:08 UTC (permalink / raw)
  To: Petr Baudis; +Cc: Miklos Vajna, Petr Baudis, git, Kirill Smelkov

From: Kirill Smelkov <kirr@landau.phys.spbu.ru>

Currently we can mirror svn:// repos, but http:// is assumed to be used
for Git. Teach the tool to use svn+http:// style urls for http:// svn
repositories.

This is very needed, because most SVN hosting services only provide
http:// style access to their services. e.g. google code, python.org,
etc...

This has not been tested on full Girocco installation - just partly. But
if it works, let's also add svn+https later.
---
 Girocco/Util.pm |    2 +-
 jobd/update.sh  |    2 +-
 taskd/clone.sh  |    6 ++++--
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/Girocco/Util.pm b/Girocco/Util.pm
index e2f7854..969cb3c 100644
--- a/Girocco/Util.pm
+++ b/Girocco/Util.pm
@@ -111,7 +111,7 @@ sub valid_web_url {
 }
 sub valid_repo_url {
 	$_ = $_[0];
-	/^(http|git|svn|darcs|bzr):\/\/[a-zA-Z0-9-.:]+(\/[_\%a-zA-Z0-9.\/~-]*)?$/;
+	/^(http|git|svn(\+http)?|darcs|bzr):\/\/[a-zA-Z0-9-.:]+(\/[_\%a-zA-Z0-9.\/~-]*)?$/;
 }
 
 
diff --git a/jobd/update.sh b/jobd/update.sh
index e09ef95..65e0455 100755
--- a/jobd/update.sh
+++ b/jobd/update.sh
@@ -38,7 +38,7 @@ mail="$(config_get owner)"
 bang git for-each-ref --format '%(refname)	%(objectname)' >.refs-before
 
 case "$url" in
-	svn://*)
+	svn://* | svn+http://*)
 		GIT_DIR=. bang git svn fetch
 		GIT_DIR=. bang git fetch
 		;;
diff --git a/taskd/clone.sh b/taskd/clone.sh
index cfcb3b1..e634388 100755
--- a/taskd/clone.sh
+++ b/taskd/clone.sh
@@ -22,8 +22,10 @@ mail="$(config_get owner)"
 # Initial mirror
 echo "Initiating mirroring..."
 case "$url" in
-	svn://*)
-		GIT_DIR=. git svn init -s "$url"
+	svn://* | svn+http://*)
+		# we just remote svn+ here, so svn+http://... becomes http://...
+		svnurl="${url#svn+}"
+		GIT_DIR=. git svn init -s "$svnurl"
 		GIT_DIR=. git svn fetch
 		# Neat Trick suggested by Miklos Vajna
 		GIT_DIR=. git config remote.origin.url .
-- 
1.7.0.2.284.gafe27d

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

* Re: [PATCH 3/3] Teach Girocco to mirror http:// style SVN repos
  2010-03-22 11:08         ` [PATCH 3/3] Teach Girocco to mirror http:// style SVN repos Kirill Smelkov
@ 2010-05-05 18:54           ` Petr Baudis
  2010-05-06  7:18             ` Kirill Smelkov
  0 siblings, 1 reply; 12+ messages in thread
From: Petr Baudis @ 2010-05-05 18:54 UTC (permalink / raw)
  To: Kirill Smelkov; +Cc: Miklos Vajna, git, Kirill Smelkov, admin

On Mon, Mar 22, 2010 at 02:08:01PM +0300, Kirill Smelkov wrote:
> From: Kirill Smelkov <kirr@landau.phys.spbu.ru>
> 
> Currently we can mirror svn:// repos, but http:// is assumed to be used
> for Git. Teach the tool to use svn+http:// style urls for http:// svn
> repositories.
> 
> This is very needed, because most SVN hosting services only provide
> http:// style access to their services. e.g. google code, python.org,
> etc...
> 
> This has not been tested on full Girocco installation - just partly. But
> if it works, let's also add svn+https later.

Thanks, applied.

(BTW, it would be much better if you sent patches to admin@repo.or.cz
instead. At least in theory - if anyone is interested helping out with
various rather badly needed repo.or.cz tasks
[http://repo.or.cz/w/girocco.git/blob/rorcz:/TODO], please let me know
and I will give you some admin permissions.)

-- 
				Petr "Pasky" Baudis
When I feel like exercising, I just lie down until the feeling
goes away.  -- xed_over

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

* Re: [PATCH 3/3] Teach Girocco to mirror http:// style SVN repos
  2010-05-05 18:54           ` Petr Baudis
@ 2010-05-06  7:18             ` Kirill Smelkov
  2010-05-06  7:36               ` Petr Baudis
  0 siblings, 1 reply; 12+ messages in thread
From: Kirill Smelkov @ 2010-05-06  7:18 UTC (permalink / raw)
  To: admin, Petr Baudis; +Cc: Miklos Vajna, git, Kirill Smelkov

On Wed, May 05, 2010 at 08:54:09PM +0200, Petr Baudis wrote:
> On Mon, Mar 22, 2010 at 02:08:01PM +0300, Kirill Smelkov wrote:
> > From: Kirill Smelkov <kirr@landau.phys.spbu.ru>
> > 
> > Currently we can mirror svn:// repos, but http:// is assumed to be used
> > for Git. Teach the tool to use svn+http:// style urls for http:// svn
> > repositories.
> > 
> > This is very needed, because most SVN hosting services only provide
> > http:// style access to their services. e.g. google code, python.org,
> > etc...
> > 
> > This has not been tested on full Girocco installation - just partly. But
> > if it works, let's also add svn+https later.
> 
> Thanks, applied.
> 
> (BTW, it would be much better if you sent patches to admin@repo.or.cz
> instead.

I see, and thanks for applying this one finally.

Btw, would you please also apply those two important (one of them) fixes
to svn mirroring setup?

*Please*


>From bdb55d014374c0f594ab70d7b22617fc61201d81 Mon Sep 17 00:00:00 2001
From: Kirill Smelkov <kirr@mns.spb.ru>
Date: Sun, 21 Feb 2010 20:02:00 +0300
Subject: [PATCH 1/2] taskd/clone: Don't forget to use 'git config --add' for multivars setup

Neat Trick suggested by Miklos Vajna setups origin remote as '.' and
also setups 3 refspecs for remotes.origin.fetch.

The trick is nice indeed, but in order to setup config multivar, one
have to use explicit --add option for `git config' (*) or else old var
value is just replaced.

The problem showed in svn-mirror repositories with stale master (was not
updating from trunk) and also as lack of branches -- that's
understandable -- we had '+refs/remotes/tags/*:refs/tags/*' config last,
and tags were working OK.

Fix it.

(*) explicit --add was needed since 89c4afe0 (Add --add option to
    git-repo-config) in git.git, which dates to git v1.4.4.2-225-g89c4afe
---
 taskd/clone.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/taskd/clone.sh b/taskd/clone.sh
index f99d046..270626c 100755
--- a/taskd/clone.sh
+++ b/taskd/clone.sh
@@ -30,8 +30,8 @@ case "$url" in
 		# Neat Trick suggested by Miklos Vajna
 		GIT_DIR=. git config remote.origin.url .
 		GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
-		GIT_DIR=. git config remote.origin.fetch +refs/remotes/trunk:refs/heads/master
-		GIT_DIR=. git config remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
+		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/trunk:refs/heads/master
+		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
 		GIT_DIR=. git fetch
 		;;
 	darcs://*)
-- 
1.7.1.16.g5dc5



>From 0db9ccc033ac6b82ff3026fa89846616a9b74f9e Mon Sep 17 00:00:00 2001
From: Kirill Smelkov <kirr@mns.spb.ru>
Date: Sun, 21 Feb 2010 20:11:09 +0300
Subject: [PATCH 2/2] taskd/clone: quote shell metacharacters where appropriate

At present this involves svn mirror setup -- refspec mappings contain
shell wildcards. Quote them just in case.
---
 taskd/clone.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/taskd/clone.sh b/taskd/clone.sh
index 270626c..e634388 100755
--- a/taskd/clone.sh
+++ b/taskd/clone.sh
@@ -29,9 +29,9 @@ case "$url" in
 		GIT_DIR=. git svn fetch
 		# Neat Trick suggested by Miklos Vajna
 		GIT_DIR=. git config remote.origin.url .
-		GIT_DIR=. git config remote.origin.fetch +refs/remotes/heads/*:refs/heads/*
-		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/trunk:refs/heads/master
-		GIT_DIR=. git config --add remote.origin.fetch +refs/remotes/tags/*:refs/tags/*
+		GIT_DIR=. git config remote.origin.fetch '+refs/remotes/heads/*:refs/heads/*'
+		GIT_DIR=. git config --add remote.origin.fetch '+refs/remotes/trunk:refs/heads/master'
+		GIT_DIR=. git config --add remote.origin.fetch '+refs/remotes/tags/*:refs/tags/*'
 		GIT_DIR=. git fetch
 		;;
 	darcs://*)
-- 
1.7.1.16.g5dc5




> At least in theory - if anyone is interested helping out with
> various rather badly needed repo.or.cz tasks
> [http://repo.or.cz/w/girocco.git/blob/rorcz:/TODO], please let me know
> and I will give you some admin permissions.)

Thanks for the offer. Unfortunately I can't commit to this task :(


Thanks,
Kirill

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

* Re: [PATCH 3/3] Teach Girocco to mirror http:// style SVN repos
  2010-05-06  7:18             ` Kirill Smelkov
@ 2010-05-06  7:36               ` Petr Baudis
  2010-05-06  8:32                 ` Kirill Smelkov
  0 siblings, 1 reply; 12+ messages in thread
From: Petr Baudis @ 2010-05-06  7:36 UTC (permalink / raw)
  To: Kirill Smelkov; +Cc: admin, Miklos Vajna, git, Kirill Smelkov

On Thu, May 06, 2010 at 11:18:42AM +0400, Kirill Smelkov wrote:
> Btw, would you please also apply those two important (one of them) fixes
> to svn mirroring setup?
> 
> *Please*

Applied, thanks.

-- 
				Petr "Pasky" Baudis
When I feel like exercising, I just lie down until the feeling
goes away.  -- xed_over

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

* Re: [PATCH 3/3] Teach Girocco to mirror http:// style SVN repos
  2010-05-06  7:36               ` Petr Baudis
@ 2010-05-06  8:32                 ` Kirill Smelkov
  0 siblings, 0 replies; 12+ messages in thread
From: Kirill Smelkov @ 2010-05-06  8:32 UTC (permalink / raw)
  To: Petr Baudis; +Cc: admin, Miklos Vajna, git, Kirill Smelkov

On Thu, May 06, 2010 at 09:36:47AM +0200, Petr Baudis wrote:
> On Thu, May 06, 2010 at 11:18:42AM +0400, Kirill Smelkov wrote:
> > Btw, would you please also apply those two important (one of them) fixes
> > to svn mirroring setup?
> > 
> > *Please*
> 
> Applied, thanks.

Thanks!

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

end of thread, other threads:[~2010-05-06  8:30 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-19 13:22 [BUG] girocco + git-svn: trunk is not propagated to master Kirill Smelkov
2010-02-20 23:42 ` Miklos Vajna
2010-02-21 17:19   ` Kirill Smelkov
2010-02-22  8:50     ` [PATCH] Teach Girocco to mirror http:// style SVN repos Kirill Smelkov
2010-03-22 11:07       ` [PATCH 0/3] girocco + git-svn: trunk is not propagated to master + more... (resend) Kirill Smelkov
2010-03-22 11:07         ` [PATCH 1/3] taskd/clone: Don't forget to use 'git config --add' for multivars setup Kirill Smelkov
2010-03-22 11:08         ` [PATCH 2/3] taskd/clone: quote shell metacharacters where appropriate Kirill Smelkov
2010-03-22 11:08         ` [PATCH 3/3] Teach Girocco to mirror http:// style SVN repos Kirill Smelkov
2010-05-05 18:54           ` Petr Baudis
2010-05-06  7:18             ` Kirill Smelkov
2010-05-06  7:36               ` Petr Baudis
2010-05-06  8:32                 ` Kirill Smelkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).