Page tree

Versions Compared

Key

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

...

Code Block
languagetext
themeFadeToGrey
titlesvn.tags
tags = 1.0/*:refs/tags/1.0/*
tags = 1.5.*:refs/tags/1.5/*
tags = tags/2.0.*/*:refs/tags/2.0/*/*
tags = tags/special_tag:refs/tags/special_tag

svn.shelves

Shelves are special entities being introduced by SubGit. SubGit creates shelves when it cannot determine branch name where particular commit belongs to. For example, a shelf will appear in SVN after in the following case:

  • some commits were made to branch_A in Git,
  • branch_A was merged with branch_B,
  • branch_B (but not branch_A) was pushed to the repository.

In such case, SubGit will be able to see all the commits, but won’t be able to recognize the branch name to which they belong. So it will place them into shelves SVN directory.
Find more details on the shelves in "What are shelves really?" blog post.  

The setting sets a directory in SVN where shelves will be stored:

shelves = shelves/*:refs/shelves/*

where

  • the first shelves is a mapping option name, determining which entity is being mapped.
  • the second shelves is a relative path to SVN directory intended to store shelves.
  • refs/shelves/* – a Git repository path, where shelves references will be kept.

There are few rules that apply to the svn.shelves option:

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