Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Branches mapping

...

Branches mapping is a set of rules that establish a correspondence between SVN and Git branches and tags. These rules are defined by branches mapping configuration options in SubGit configuration file.

Table of Contents

Branches and Tags in Subversion.

...

Info
titlesvn.shelves
  • shelves are optional and may be omitted.
  • there might be only one shelves mapping.

svn.excludeBranches, svn.excludeTags

These two settings do reverse job: while all the previous settings tell what to include, these tell SubGit which branches or tags to be excluded from translation. They are interchangeable, any of the two can be used to exclude both *branches* and *tags*.

The settings syntax as simple as:

excludeBranches = SIMPLE_PATTERN

excludeTags = SIMPLE_PATTERN

The *SIMPLE_PATTERN* a path relative to `svn.url`, that leads to a *branch* or a *tag* that should be excluded. The path can be direct or it may contain one single wildcard. SubGit appends the *SIMPLE_PATTERN* to specified `svn.url` and excludes any paths that match the resulting pattern. To illustrate the concept, assume you have the following settings:

[svn]

url = http://example.com/svn/repository/Project1

branches = branches/*:refs/heads/*

You want to import all the branches excluding some "features" branches. In such case, you can exclude them using the following setting:

excludeBranches = branches/feature_*

assuming that the branches you don't want to include have *feature_\** name pattern.
In this case SubGit will exclude any *branches* or *tags* that matches to the following path:

http://example.com/svn/repository/Project1/branches/feature_*