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

git-svn doesn't recognise trunk as parent of branch

From
Orestis Markou <orestis@orestis.gr>
Date
Apr 12, 2009, 16:40 UTC
Message-ID
<F562B0FA-6E9F-45AD-ADD5-D6EE1AD9C248@orestis.gr>
Hello there - this is my first post to this ML, so please be kind!

I have previously used git-svn with great success. However, in this project, the svn repo layout is a bit unusual and I'm having getting git-svn to do the correct thing.

The repository I'm trying to clone is a subdirectory under a huge repo:
http://svn.example.com/projects/trunk/MyProject/Production

which has trunk, branches and tags and a couple of other directories (which I'm not interested in).

Complications so far:
* I don't have read access to the lower directories, only to Production
* Being a part of a big repo, the initial revision is something like  
2000
* trunk, branches, tags where not created in the same revision. trunk  
didn't exist until revision say 2050.
Doing 'git svn init -s http://svn.example.com/projects/trunk/MyProject/Production' 
  produces the following configuration:

[svn-remote "svn"] url = http://svn.example.com/trunk/projects/MyProject/Production fetch = trunk:refs/remotes/trunk branches = trunk/projects/MyProject/Production/branches/*:refs/remotes/* tags = trunk/projects/MyProject/Production/tags/*:refs/remotes/tags/*

Fetching this fetches only trunk and no branches.
Amending the config to be:
[svn-remote "svn"]
	url = http://svn.example.com/trunk/projects/MyProject/Production/
	fetch = trunk:refs/remotes/trunk
	branches = branches/*:refs/remotes/*
	tags = tags/*:refs/remotes/tags/*

and fetching (minor issue - have to start from scratch again), does fetch all commits. However, there is no link between branches and trunk. Using gitk (don't know how else to visualise this) shows branches as having no parent. Indeed, in the fetch messages there is no 'found possible parent' message. Also, when creating new branches in svn, nothing shows up in git until a change happens. Then the branch is created (again, with no parent).

The only case where a correct parent was set was when someone branched *from a branch*. Then the usual 'found possible parent' message appeared, and gitk shows a sane tree.

I'm on Mac OS X, git version 1.6.2.2.471.g6da14 (built from source, master branch). This includes a recent commit that fixed an issue with deep directories in git-svn, (without it I couldn't get the branches anyway), but it doesn't seem to have fixed the problem completely.

Any pointers welcome.

Regards, Orestis -- orestis@orestis.gr http://orestis.gr/

Next: Peter Baumann
Message 1 of 7 in “git-svn doesn't recognise trunk as parent of branch”
  1. Orestis MarkouApr 12, 2009
  2. Peter BaumannApr 12, 2009
  3. Orestis MarkouApr 12, 2009
  4. Orestis MarkouApr 12, 2009
  5. Orestis MarkouApr 12, 2009
  6. Peter BaumannApr 13, 2009
  7. Orestis MarkouApr 13, 2009

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.