Question

Does subgit support multiple 'branches' directories?

For example, if one had an SVN repo that went like:

trunk/...
branches/<branch>/...
releases/<release>/...
tags/<tag>/...

but "releases" was really just release branches.

We would want both "branches/" and "releases/" in SVN to become branches in Git.

And if a new branch was created in Git, then in SVN we would want a new directory in "branches/" (i.e. "releases/" is deprecated).

So what we want is multiple branch mappings, but with with one of them being the "primary" one.

Était-ce utile?

La solution

Yes, since version 2.0 you can specify 'branches' option in SubGit config several times. There's a restriction: left and right parts of the patterns should not intersect or be the same (otherwise the rules become ambiguous):

trunk = trunk:refs/heads/master
branches = branches/*:refs/heads/*
branches = releases/*:refs/heads/releases/*
shelves = shelves/*:refs/shelves/*
tags = tags/*:refs/tags/*

You can't map releases/* and branches/* to refs/heads/* simultaneously, because this makes rules ambiguous (in this case SubGit doesn't know, whether to map refs/heads/branch to branches/branch or to releases/branch).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top