[Other doc versions]
[Doc downloads (PDF, HTML, XML)]
Stash supports a powerful type of pattern syntax for matching branch names (similar to pattern matching in Apache Ant).
These expressions use the following wild cards:
? | Matches one character (any character except path separators) |
| Matches zero or more characters (not including path separators) |
| Matches zero or more path segments. |
Pattern used in branch permissions match against all refs pushed to Stash (i.e. branches and tags).
In git, branch and tag names can be nested in a namespace by using directory syntax within your branch names, e.g. stable/1.1
. The '**
' wild card selector enables you to match arbitrary directories.
/
then **
is automatically appended - e.g. foo/
will match any branches or tags containing a foo
path segmentrefs/heads/master
, whilst fully qualified tags look like refs/tags/1.1
.Also see the Ant documentation.
* | Matches everything |
PROJECT-* | Matches and branch or tag named PROJECT-*, even in a name space. e.g. refs/heads/PROJECT-1234, refs/heads/stable/PROJECT-new or refs/tags/PROJECT-1.1 |
?.? | Matches any branch or tag of 2 characters separated by a '.'. e.g. refs/heads/1.1, refs/heads/stable/2.X or refs/tags/3.1 |
tags/ or tags/** | Matches all tags and any branches with 'tags' as a namespace. e.g. refs/heads/stable/tags/some_branch, refs/tags/project-1.1.0 |
heads/**/master | Matches all branches called master. e.g. refs/heads/master, refs/heads/stable/master |