* [RFC] Mirroring svn
@ 2007-12-06 6:22 Harvey Harrison
2007-12-06 6:43 ` Jeff King
0 siblings, 1 reply; 5+ messages in thread
From: Harvey Harrison @ 2007-12-06 6:22 UTC (permalink / raw)
To: git
After the discussions lately regarding the gcc svn mirror. I'm coming
up with a recipe to set up your own git-svn mirror. Suggestions on the
following.
// Create directory and initialize git
mkdir gcc
cd gcc
git init
// add the remote site that currently mirrors gcc
// I have chosen the name gcc.gnu.org *1* as my local name to refer to
// this choose something else if you like
git remote add gcc.gnu.org git://git.infradead.org/gcc.git
// fetching someone else's remote branches is not a standard thing to do
// so we'll need to edit our .git/config file
// you should have a section that looks like:
[remote "gcc.gnu.org"]
url = git://git.infradead.org/gcc.git
fetch = +refs/heads/*:refs/remotes/gcc.gnu.org/*
// infradead's mirror puts the gcc svn branches in its own namespace
// refs/remotes/gcc.gnu.org/*
// change our fetch line accordingly
[remote "gcc.gnu.org"]
url = git://git.infradead.org/gcc.git
fetch = +refs/remotes/gcc.gnu.org/*:refs/remotes/gcc.gnu.org/*
// fetch the remote data from the mirror site
git remote update
// set up git-svn
// gcc has the standard trunk/branches/tags naming so use -s
// add a prefix so git-svn uses the metadata we just got from the
// mirror so we don't have to get everything from the svn server
// the --prefix must match whatever you chose in *1*, the trailing
// slash is important.
git svn init -s --prefix=gcc.gnu.org/ svn://gcc.gnu.org/svn/gcc
// your config should look like this now:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "gccmirror"]
url = git://git.infradead.org/gcc.git
fetch = +refs/heads/*:refs/remotes/gccmirror/*
[svn-remote "svn"]
url = svn://gcc.gnu.org/svn/gcc
fetch = trunk:refs/remotes/gcc.gnu.org/trunk
branches = branches/*:refs/remotes/gcc.gnu.org/*
tags = tags/*:refs/remotes/gcc.gnu.org/tags/*
// Try and get more revisions from the svn server
// this may take a little while the first time as git-svn builds
// metadata to allow bi-directional operation
git svn fetch
Happy Hacking
Harvey Harrison
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] Mirroring svn
2007-12-06 6:22 [RFC] Mirroring svn Harvey Harrison
@ 2007-12-06 6:43 ` Jeff King
2007-12-06 6:45 ` Harvey Harrison
0 siblings, 1 reply; 5+ messages in thread
From: Jeff King @ 2007-12-06 6:43 UTC (permalink / raw)
To: Harvey Harrison; +Cc: git
On Wed, Dec 05, 2007 at 10:22:33PM -0800, Harvey Harrison wrote:
> // fetching someone else's remote branches is not a standard thing to do
> // so we'll need to edit our .git/config file
> // you should have a section that looks like:
> [remote "gcc.gnu.org"]
> url = git://git.infradead.org/gcc.git
> fetch = +refs/heads/*:refs/remotes/gcc.gnu.org/*
> // infradead's mirror puts the gcc svn branches in its own namespace
> // refs/remotes/gcc.gnu.org/*
> // change our fetch line accordingly
> [remote "gcc.gnu.org"]
> url = git://git.infradead.org/gcc.git
> fetch = +refs/remotes/gcc.gnu.org/*:refs/remotes/gcc.gnu.org/*
FWIW, if you are writing a shell recipe for other people to cut and
paste, you can say this as:
git config remote.gcc.gnu.org.fetch \
'+refs/remotes/gcc.gnu.org/*:refs/remotes/gcc.gnu.org/*'
-Peff
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] Mirroring svn
2007-12-06 6:43 ` Jeff King
@ 2007-12-06 6:45 ` Harvey Harrison
2007-12-06 12:15 ` Johannes Schindelin
0 siblings, 1 reply; 5+ messages in thread
From: Harvey Harrison @ 2007-12-06 6:45 UTC (permalink / raw)
To: Jeff King; +Cc: git
On Thu, 2007-12-06 at 01:43 -0500, Jeff King wrote:
> On Wed, Dec 05, 2007 at 10:22:33PM -0800, Harvey Harrison wrote:
>
> > // fetching someone else's remote branches is not a standard thing to do
> > // so we'll need to edit our .git/config file
> > // you should have a section that looks like:
> > [remote "gcc.gnu.org"]
> > url = git://git.infradead.org/gcc.git
> > fetch = +refs/heads/*:refs/remotes/gcc.gnu.org/*
> > // infradead's mirror puts the gcc svn branches in its own namespace
> > // refs/remotes/gcc.gnu.org/*
> > // change our fetch line accordingly
> > [remote "gcc.gnu.org"]
> > url = git://git.infradead.org/gcc.git
> > fetch = +refs/remotes/gcc.gnu.org/*:refs/remotes/gcc.gnu.org/*
>
> FWIW, if you are writing a shell recipe for other people to cut and
> paste, you can say this as:
>
> git config remote.gcc.gnu.org.fetch \
> '+refs/remotes/gcc.gnu.org/*:refs/remotes/gcc.gnu.org/*'
I thought about that, but I like to encourage people to actually look at
the config file, it's pretty easy to understand.
Harvey
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] Mirroring svn
2007-12-06 6:45 ` Harvey Harrison
@ 2007-12-06 12:15 ` Johannes Schindelin
2007-12-06 12:18 ` Harvey Harrison
0 siblings, 1 reply; 5+ messages in thread
From: Johannes Schindelin @ 2007-12-06 12:15 UTC (permalink / raw)
To: Harvey Harrison; +Cc: Jeff King, git
Hi,
On Wed, 5 Dec 2007, Harvey Harrison wrote:
> On Thu, 2007-12-06 at 01:43 -0500, Jeff King wrote:
> > On Wed, Dec 05, 2007 at 10:22:33PM -0800, Harvey Harrison wrote:
> >
> > > // fetching someone else's remote branches is not a standard thing to do
> > > // so we'll need to edit our .git/config file
> > > // you should have a section that looks like:
> > > [remote "gcc.gnu.org"]
> > > url = git://git.infradead.org/gcc.git
> > > fetch = +refs/heads/*:refs/remotes/gcc.gnu.org/*
> > > // infradead's mirror puts the gcc svn branches in its own namespace
> > > // refs/remotes/gcc.gnu.org/*
> > > // change our fetch line accordingly
> > > [remote "gcc.gnu.org"]
> > > url = git://git.infradead.org/gcc.git
> > > fetch = +refs/remotes/gcc.gnu.org/*:refs/remotes/gcc.gnu.org/*
> >
> > FWIW, if you are writing a shell recipe for other people to cut and
> > paste, you can say this as:
> >
> > git config remote.gcc.gnu.org.fetch \
> > '+refs/remotes/gcc.gnu.org/*:refs/remotes/gcc.gnu.org/*'
>
> I thought about that, but I like to encourage people to actually look at
> the config file, it's pretty easy to understand.
I agree that people should be encouraged to edit their .git/config. But a
recipe is something easy-to-follow IMHO, so I would write this as a shell
script (with #-comments, not //-comments).
Ciao,
Dscho
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] Mirroring svn
2007-12-06 12:15 ` Johannes Schindelin
@ 2007-12-06 12:18 ` Harvey Harrison
0 siblings, 0 replies; 5+ messages in thread
From: Harvey Harrison @ 2007-12-06 12:18 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Jeff King, git
On Thu, 2007-12-06 at 12:15 +0000, Johannes Schindelin wrote:
> Hi,
>
> On Wed, 5 Dec 2007, Harvey Harrison wrote:
>
> > On Thu, 2007-12-06 at 01:43 -0500, Jeff King wrote:
> > > On Wed, Dec 05, 2007 at 10:22:33PM -0800, Harvey Harrison wrote:
> > >
> > > > // fetching someone else's remote branches is not a standard thing to do
> > > > // so we'll need to edit our .git/config file
> > > > // you should have a section that looks like:
> > > > [remote "gcc.gnu.org"]
> > > > url = git://git.infradead.org/gcc.git
> > > > fetch = +refs/heads/*:refs/remotes/gcc.gnu.org/*
> > > > // infradead's mirror puts the gcc svn branches in its own namespace
> > > > // refs/remotes/gcc.gnu.org/*
> > > > // change our fetch line accordingly
> > > > [remote "gcc.gnu.org"]
> > > > url = git://git.infradead.org/gcc.git
> > > > fetch = +refs/remotes/gcc.gnu.org/*:refs/remotes/gcc.gnu.org/*
> > >
> > > FWIW, if you are writing a shell recipe for other people to cut and
> > > paste, you can say this as:
> > >
> > > git config remote.gcc.gnu.org.fetch \
> > > '+refs/remotes/gcc.gnu.org/*:refs/remotes/gcc.gnu.org/*'
> >
> > I thought about that, but I like to encourage people to actually look at
> > the config file, it's pretty easy to understand.
>
> I agree that people should be encouraged to edit their .git/config. But a
> recipe is something easy-to-follow IMHO, so I would write this as a shell
> script (with #-comments, not //-comments).
I'll probably turn it into such eventually, this was more of a
hand-holding exercise for people who would like to try git in gcc-land.
Harvey
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-12-06 12:19 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-06 6:22 [RFC] Mirroring svn Harvey Harrison
2007-12-06 6:43 ` Jeff King
2007-12-06 6:45 ` Harvey Harrison
2007-12-06 12:15 ` Johannes Schindelin
2007-12-06 12:18 ` Harvey Harrison
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).