* Best practices for maintaining a subversion mirror?
@ 2008-11-24 10:55 Oliver Charles
2008-11-24 15:37 ` Peter Harris
0 siblings, 1 reply; 2+ messages in thread
From: Oliver Charles @ 2008-11-24 10:55 UTC (permalink / raw)
To: git
Hi,
I just got myself a new server, and as I'm the major Git-using person
at my work, I'd like to set a mirror of our Subversion repository up
to hopefully convert a few more people. At the moment, I've done git
svn clone http://svn..., and then git clone --bare to make a --bare
version of this clone.
Now that I have this mirror, I have this entry in my crontab to update
it hourly:
0 * * * * cd /.git && /usr/bin/git --git-dir=. svn fetch &&
/usr/bin/git update-ref refs/heads/master refs/remotes/git-svn
This seems to be working nicely as a readonly interface, but when I
clone this repository (git clone git://foo/repo.git) - served via
git-daemon - I can't seem to get svn rebase to work on it, which means
I can't dcommit my changes back to Subversion.
Am I doing things generally the right way, or am I doing it completely
wrong? :-) Any tips appreciated!
- Oliver Charles
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Best practices for maintaining a subversion mirror?
2008-11-24 10:55 Best practices for maintaining a subversion mirror? Oliver Charles
@ 2008-11-24 15:37 ` Peter Harris
0 siblings, 0 replies; 2+ messages in thread
From: Peter Harris @ 2008-11-24 15:37 UTC (permalink / raw)
To: Oliver Charles; +Cc: git
On Mon, Nov 24, 2008 at 5:55 AM, Oliver Charles wrote:
> This seems to be working nicely as a readonly interface, but when I
> clone this repository (git clone git://foo/repo.git) - served via
> git-daemon - I can't seem to get svn rebase to work on it, which means
> I can't dcommit my changes back to Subversion.
>
> Am I doing things generally the right way, or am I doing it completely
> wrong? :-) Any tips appreciated!
First, make sure you aren't using the --no-metadata flag. git svn
rebase needs that metadata to rebuild its index.
Second, a simple "git clone" will not set up the svn remotes; you have
to do that by hand. This is what I do when I clone my svn mirror:
mkdir project
cd project
git init
git remote add origin git://mirror/project
git config --add remote.origin.fetch +refs/remotes/*:refs/remotes/*
git fetch
git svn init -Ttrunk svn://upstream/project
git config --add svn-remote.svn.fetch branches/foo:refs/remotes/foo
git config --add svn-remote.svn.fetch branches/bar:refs/remotes/bar
git reset --hard trunk
git svn rebase
Once you have it nailed down, you can put it into a script so all your
co-workers don't have to do that by hand too.
(Also, I quickly reset my cron job to run every five minutes; I found
an hour was way too long for my taste. YMMV, of course)
Peter Harris
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-11-24 15:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-24 10:55 Best practices for maintaining a subversion mirror? Oliver Charles
2008-11-24 15:37 ` Peter Harris
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).