Standard "git svn init ; git svn fetch" behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux