Thread (6 messages) flat view 6 messages, 3 authors, 2016-06-15

Re: reviving a git-svn clone

From: Sam Vilain <hidden>
Date: 2016-06-15 22:46:38

On Mon, 2009-04-20 at 12:43 +0200, martin f krafft wrote:
I am now trying to revive the clone, but git-svn remains "unable to
determine the upstream SVN information from the working tree
history". This baffles me.

Here are my steps:
-8<--8<--8<-
alioth:~|master|% git clone /git/collab-maint/hibernate.git hibernate-svnsync
Initialized empty Git repository in /srv/alioth.debian.org/chroot/home/users/madduck/hibernate-svnsync/.git/

alioth:~|master|% cd hibernate-svnsync

alioth:~/hibernate-svnsync|master|% git branch --no-track upstream origin/upstream

alioth:~/hibernate-svnsync|master|% cat >> .git/config <<_eof
heredoc> [svn-remote "svn"]
heredoc>        url = svn+ssh://svn.suspend2.net/svn/hibernate-script
heredoc>        fetch = trunk:refs/remotes/upstream/trunk
heredoc>        branches = branches/*:refs/remotes/upstream/*
heredoc>        tags = tags/*:refs/remotes/upstream/tags/*
heredoc> _eof
for git-svn to resume, it needs the refs all in the right place.  If you
clone a git-svn repository they will be in the wrong place.

eg for this use case something like this to copy the
refs/remotes/origin/* refs to refs/remotes/upstream/*:

  git for-each-ref --format="%(refname)" refs/remotes/origin/* |
     perl -le '$x = $_; $x =~ s{origin}{upstream};
       system "git update-ref $x $_"'

It's a bit hard to test without access to the upstream svn!

Good luck,
Sam.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help