git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-svn clone on a central server

From
BHBruno Harbulot <bruno.harbulot@manchester.ac.uk>
Date
Mar 16, 2008, 14:47 UTC
Message-ID
<frjbtf$rd0$1@ger.gmane.org>
In-Reply-To
<eaa105840803151645j5e8ec443v991b9117df343b8f@mail.gmail.com>
Peter Harris wrote:
Show 20 quoted lines
> On Sat, Mar 15, 2008 at 3:38 PM, Bruno Harbulot
> <Bruno.Harbulot@manchester.ac.uk> wrote:
>>  I'm trying to follow example 3 of the git-svn manpage, since I'd like to
>>  keep a "central" clone of a subversion repository (and rebase it
>>  regularly) on a server and work on local git repositories based on that
>>  server's git repository.
> ...
>>  I get this error:
>>
>>  $ git-svn rebase
>>  fatal: ambiguous argument 'HEAD': unknown revision or path not in the
>>  working tree.
> 
> You have to git reset --hard <branch> to create 'master' based on a
> particular svn branch, or git-svn won't know what to rebase.
> 
> I sent a documentation patch to this list back in February, but it
> appears to have been dropped. I should probably re-send it...
> 
> http://article.gmane.org/gmane.comp.version-control.git/72954
Thank you. This works. 'git reset --hard' was the key.
I've also managed to get it to work without '-s' (for just a 
sub-directory of the trunk) this way:
   ssh server "cd /pub && git svn clone -s 
http://svn.foo.org/project/trunk/subproject"
   mkdir subproject
   cd subproject
   git init
   git remote add origin server:/pub/subproject
   git config --add remote.origin.fetch +refs/remotes/*:refs/remotes/*
   git fetch
   git svn init http://svn.foo.org/project/trunk/subproject
# The following line creates a master branch
   git reset --hard origin/master
   git svn rebase

The way I'm planning to use this is to create a "central" bare repository on the server (by moving the '.git' directory and setting bare=true in the config file) that I would like to keep in sync with the original SVN repository (and also push by own branches). I'd like then to pull these changes to my working copies of that central repository. I'm not quite sure how to update this central bare git repository (and then its clones) with the changes in the SVN repository upstream. (By the way, I'm not planning to 'dcommit' anything directly, just reading from this SVN.) Are there any recommendation on how to achieve this?

Best wishes,
Bruno.
Previous: Peter HarrisNext: Peter Harris
Message 3 of 4 in “git-svn clone on a central server”
  1. Bruno HarbulotMar 15, 2008
  2. Peter HarrisMar 15, 2008
  3. Bruno HarbulotMar 16, 2008
  4. Peter HarrisMar 17, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.