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

Standard "git svn init ; git svn fetch" behavior

From
PLPeter Valdemar Mørch (Lists) <4ux6as402@sneakemail.com>
Date
Jul 15, 2008, 11:24 UTC
Message-ID
<487C88D0.30609@sneakemail.com>
Hi,
I've now converted my svn repos to git with

$ git-svn init -T trunk -t tags -b branches file://some/path $ git svn fetch

Wonderful!
I have two questions about the result:
1) It seems the svn tags were converted into git branches such as 
"tags/mytag". Is that normal?
2) Why does master end up being off of tags/mytag instead of off of trunk?
###################################
Re: 1) It seems the svn tags were converted into git branches such as 
"tags/mytag". Is that normal?
###################################

$ git tag -l returns nothing and $ git branch -a returns all my svn tags as "tags/<tag>" git branches and all my svn branches as expected in "the root".

Is that by design? Are there any downsides of creating a script that
foreach $tag ( m|tags/(.*)| ) {
   git tag $tag $tag
   git branch -r -D $tag
}

I'm cool with doing that, I just wanted to know if this is the expected behaviour, and/or whether I'll run into trouble later because of a wierdly converted subversion repository.

###################################
Re: 2) Why does master end up being off of tags/mytag instead of off of 
trunk?
###################################

I would have expected, that "master" ended up tracking "trunk", and not tags/mytag. Why track an obscure tag instead of trunk?

The tail of the fetch:
Successfully followed parent
W: +empty_dir: tags/mytag/probe/userHomedir/foo/cache/zlcache
W: +empty_dir: tags/mytag/probe/userHomedir/foo/pna_menu_items
r7375 = 5d3012afabccd348a5a5b81c5cf28532d324ea1b (tags/mytag)
Checking out files: 100% (2184/2184), done.
Checked out HEAD:
   file:///home/pvm/cm/repos/tags/mytag r7375
("mytag" and "foo" replaced internal identifiers present in real output...)
$ git log --pretty=oneline --decorate -n 1

5d3012afabccd348a5a5b81c5cf28532d324ea1b (refs/remotes/tags/mytag, refs/heads/master) Tag mytag

I rectified it with simply

$ git branch -m master old $ git checkout -b master trunk $ git branch -d old

Just wondering: Why is this behaviour the default? Is it a bug?

Is there a smarter way to find out what branchpoint was used to create "master"? (I'm new to git, and find it difficult to see what my branches were "made from")

Peter
-- 
Peter Valdemar Mørch
http://www.morch.com
Next: Peter Harris
Message 1 of 3 in “Standard "git svn init ; git svn fetch" behavior”
  1. Peter Valdemar Mørch (Lists)Jul 15, 2008
  2. Peter HarrisJul 15, 2008
  3. Peter Valdemar Mørch (Lists)Jul 15, 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.