Tags and their meanings in Gitano rules --------------------------------------- The following tags have defined meaning: gitano/operation The operation being requested. Values for this include: createrepo -- Attempt to create a repository read -- Attempt to read from a repository write -- Attempt to write to a repository createref -- Attempt to create a ref updaterefff -- A specifically fast-forward ref update updaterefnonff -- A non-fastforward ref update deleteref -- Attempt to delete a ref gitano/source The source of the operation being requested Values for this might be 'ssh' for a direct SSH command, or otherwise the name of a command being run. gitano/user The username under which this operation is being done. This is typically set by the incoming SSH operation but under some circumstances it might be another username for server-side commands. gitano/groups The groups that the user is a member of -- This includes any group whose membership expands to include this user, including groups which include groups whose membership includes the user. The groups are all separated by a forward-slash and the whole string is enclosed by them. As such, matches such as "/group-name/" will work to match group names exactly, whereas "/prefix-[^/]+/" must be used if you meant to do a clean prefix match. gitano/ref The ref being created/deleted/updated. gitano/starttree When an operation alters a set of files then gitano will include the start tree's fileset here. The files will be null-separated and the list enclosed with nulls, allowing list matches. gitano/targettree When an operation alters a set of files then this will like the gitano/starttree tag, but will contain the tree of the target ref. gitano/treediff/... When an operation alters a set of files, this contains a set of tags which represent the delta. .../targets -> List of files which are "targets" of delta ops. .../added -> Specifically files which are explicitly added or are targets of 100% copies .../deleted -> Specifically files which are explicitly deleted .../modified -> Purely modified files (also targets of non 100% R/C) .../renamed -> Sources of renamed files .../renamedto -> Targets of renamed files .../kind/TNAME -> Entry kind of TNAME (blob, xblob, symlink, commit) .../oldkind/TNAME -> Old kind of TNAME