Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Branch permission pattern foo/bar**

poeschko March 11, 2015

Will the branch permission pattern foo/bar** match foo/barbat or does ** only match strictly separated path elements (e.g. foo/bar/bat)? https://confluence.atlassian.com/display/STASH/Branch+permission+patterns isn't totally clear about that.

2 answers

0 votes
Mibex_Software
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 12, 2015

Hi,

Stash is using Spring's AntPathMatcher internally which is based on Ant patterns. From Ant's documentation:

/test/** matches all files/directories under /test/, such as /test/x.java, or /test/foo/bar/xyz.html, but not /xyz.xml.

which means foo/bar** matches foo/barbat.


Kind regards,

Michael

poeschko March 12, 2015

That's how I read it as well. But it's not totally clear from the spec. It doesn't explicitly mention the case of ** being preceded by anything other than / or nothing.

Mibex_Software
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 12, 2015

You're right, it's not clear from the spec. I can only tell from the implementation side how AntPathMatcher is working. Only the code tells the truth :-)

0 votes
rsperafico
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
March 12, 2015

Hello Jan,

Thank you for your question.

Based on the documentation you have mentioned and in your inquire, it seems you are interested on knowing how to refer any branch that starts with foo/bar (i.e.: foo/bar, foo/barbat, foo/bare). If so, you could use the following pattern:

foo/bar*

PROJECT-*

Matches any 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

If you find this answer useful, I would kindly ask you to accept it so the same will be visible to others who might be facing the same issue you have inquired.

Thank you for your understanding.

Kind regards,
Rafael P. Sperafico
Atlassian Support

poeschko March 12, 2015

That's true, but not really what I was asking. I'd like to know whether foo/bar** is guaranteed to match foo/barbat (as well as foo/bar/bat, foo/barbat/baz, etc). It's not entirely clear from the spec, at least there is no example mentioning this case.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events