* git-svn: dcommit --commiturl rebases against fetch url rather than against commit url
@ 2009-11-26 1:15 Ingmar Vanhassel
2009-11-26 1:59 ` Eric Wong
0 siblings, 1 reply; 2+ messages in thread
From: Ingmar Vanhassel @ 2009-11-26 1:15 UTC (permalink / raw)
To: Eric Wong; +Cc: git
Hi Eric & list,
I'm using a git-svn setup where svn-remote.svn.url is set to use
anonymouse svn, and svn-remote.svn.commiturl uses my ssh+svn:// login.
I'm using anonymous svn for fetching because this git-svn import is
shared with a few other developers, who don't have commit access, but
who do prefer to use a git-svn import over SVN, for their work. Since I
use anonsvn for the import they can continue my import.
When I dcommit to svn, git-svn happily commits the first commit. When it
tries to rebase after that it fetches from the anonsvn url, which is
synced only ever 5 or 10 minutes. Thus, it doesn't find my commit, and
it aborts, meaning I need to wait until anonsvn catches up, before being
able to do another commit.
Any suggestions on how this could be solved without reimporting with
the rewriteRoot option set?
-Ingmar
--
Exherbo KDE, X.org maintainer
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: git-svn: dcommit --commiturl rebases against fetch url rather than against commit url
2009-11-26 1:15 git-svn: dcommit --commiturl rebases against fetch url rather than against commit url Ingmar Vanhassel
@ 2009-11-26 1:59 ` Eric Wong
0 siblings, 0 replies; 2+ messages in thread
From: Eric Wong @ 2009-11-26 1:59 UTC (permalink / raw)
To: Ingmar Vanhassel; +Cc: git
Ingmar Vanhassel <ingmar@exherbo.org> wrote:
> Hi Eric & list,
>
> I'm using a git-svn setup where svn-remote.svn.url is set to use
> anonymouse svn, and svn-remote.svn.commiturl uses my ssh+svn:// login.
>
> I'm using anonymous svn for fetching because this git-svn import is
> shared with a few other developers, who don't have commit access, but
> who do prefer to use a git-svn import over SVN, for their work. Since I
> use anonsvn for the import they can continue my import.
>
> When I dcommit to svn, git-svn happily commits the first commit. When it
> tries to rebase after that it fetches from the anonsvn url, which is
> synced only ever 5 or 10 minutes. Thus, it doesn't find my commit, and
> it aborts, meaning I need to wait until anonsvn catches up, before being
> able to do another commit.
Hi Ingmar,
Wow, talk about weird corner cases. Is this the monster KDE SVN repo?
I suppose the sync delay and multiple servers is necessary for that
thing. I wrote commitUrl because I needed to work on a tiny repo :)
(and it was migrated fully to git shortly after)
> Any suggestions on how this could be solved without reimporting with
> the rewriteRoot option set?
Depending on how big your imported repo is, I might want to keep two
copies since rewriteRoot can be messy. So keep using the anonymous one
shared with your developers, and make a full copy of $GIT_DIR for
yourself to run git filter-branch against.
That means don't write to the anonymous one at all here, just copy that
entire $GIT_DIR in case something goes wrong, you can recopy and tweak
the procedure (It's been a while since I've tried this :)
* write a git filter-branch script that rewrites the git-svn-id:
lines to the svn+ssh:// URL, I haven't used filter-branch in
a while but this should work...
* remove all .rev_map.* files under $GIT_DIR/svn
* change your $GIT_CONFIG file to point to the svn+ssh URL
no need to use the commitUrl option anymore, either
* remove $GIT_DIR/svn/.metadata to be safe, too
* run "git svn fetch"
This last step should rebuild all the .rev_map.* files under
$GIT_DIR/svn.
Hopefully that works for you, let us know how it goes.
--
Eric Wong
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-11-26 1:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-26 1:15 git-svn: dcommit --commiturl rebases against fetch url rather than against commit url Ingmar Vanhassel
2009-11-26 1:59 ` Eric Wong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox