gitolite/doc/refex.mkd

35 lines
1 KiB
Markdown
Raw Normal View History

2012-03-16 02:54:47 +01:00
## #refex matching a ref and a refex
A refex is a word I made up to mean "a regex that matches a ref". If you know
[regular expressions][regex] you're halfway there.
In addition:
2012-03-16 02:54:47 +01:00
2012-04-17 03:13:13 +02:00
* If no refex is supplied, it defaults to `refs/.*`, for example in a rule
like this:
RW = alice
2012-04-17 03:13:13 +02:00
* A refex not starting with `refs/` is assumed to start with `refs/heads/`.
This means normal branches can be conveniently written like this:
2012-03-16 02:54:47 +01:00
RW master = alice
# becomes 'refs/heads/master' internally
while tags will need to be fully qualified
RW refs/tags/v[0-9] = bob
2012-04-17 03:13:13 +02:00
* A refex is implicitly anchored at the start, but not at the end. In
2012-03-16 02:54:47 +01:00
regular expression lingo, a `^` is assumed at the start (but no `$` at the
end is assumed). So a refex of `master` will match all these:
2012-03-16 02:54:47 +01:00
refs/heads/master
refs/heads/master1
refs/heads/master2
refs/heads/master/full
If you want to restrict the match to just the one specific ref, use
2012-03-16 02:54:47 +01:00
RW master$ = alice