gitolite/doc/refex.mkd
2012-04-18 06:39:17 +05:30

1 KiB

#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:

  • If no refex is supplied, it defaults to refs/.*, for example in a rule like this:

    RW              =   alice
    
  • A refex not starting with refs/ is assumed to start with refs/heads/. This means normal branches can be conveniently written like this:

    RW  master      =   alice
    # becomes 'refs/heads/master' internally
    

    while tags will need to be fully qualified

    RW  refs/tags/v[0-9]    =   bob
    
  • A refex is implicitly anchored at the start, but not at the end. In 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:

    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

    RW  master$     =   alice