Provided by: git-notifier_0.6-25-1_all bug

NAME

       git-notifier - script to be used with git as a post-receive hook

SYNOPSIS

       git-notifier [options]

DESCRIPTION

       git-notifier  is  a  script to be used with git as a post-receive hook. Once installed, it
       emails out a summary of all changes each time a user pushes an update to  the  repository.
       Different  from  other  similar  scripts, git-notifier sends exactly one email per change,
       each of which includes a complete diff of all modifications as well as the set of branches
       from  which  the  new revision can be reached. The scripts ensure that that each change is
       mailed out only exactly once by keeping a state file of already reported revisions.

       In addition, git-notifier also mails updates when branches or annotated tags  are  created
       or  removed;  and  it  furthermore mails a revision summary if a head moves to now include
       commits already reported previously (e.g., on fast-forwards).

       If a commit message contains [nodiff], the generated mail will not include a  diff.  If  a
       commit message contains [nomail], no mail will be send for that change.

       git-notifier supports the options below. Alternatively to giving them on the command line,
       all of them can alse be set via git config hooks.<option>. For example, to set a recipient
       address, do git config hooks.mailinglist git-updates@foo.com.

       For full documentation, see the homepage at: http://www.icir.org/robin/git-notifier/.

INSTALLATION

       The basic installation is simple: just run the script from hooks/post-receive, as in:

       #!/bin/sh

       /full/path/to/git-notifier

       By default, the script will send its mails to the user running the git-notifier (i.e., the
       one doing the update). As that's usually not the desired recipient, an  alternative  email
       address  can  be  specified  via  command  line or git options, see the mailinglist option
       below.

OPTIONS

       --allchanges <branches>
              Lists <branches> for which all changes  made  to  them  should  be  mailed  out  as
              straight  diffs  to  their previous state, independent of whether the corresponding
              commit has already been reported in the past. For merge commits, the mails  include
              the  full  diff (i.e., git's diff -m). This might for example make sense for master
              if one wants to closely track any modification applied.

              <branches> is a list of comma-separated names of heads to treat this way.

       --branches <branches>
              Lists <branches> to include/exclude in reporting.  By  default,  all  branches  are
              included.  If  this  option  is  specified,  only  branches  listed  are  included.
              Alternatively, one can prefix a branch with - to  exclude  it:  then  all  but  the
              excluded ones are reported.

              <branches> is a list of comma-separated names of heads to treat this way.

       --config=PATH
              PATH to alternative configuration file.

       --debug
              Run  the  script in debug mode, which means that it will (1) log more verbosely and
              to stderr, and (2) run git-notifier with the --debug and --noupdate options.

       --diff [rev1...] rev2
              Mails out diffs between all revisions on the first parent's way from rev1 to  rev2.
              This  option  produces  output  similar  to  that of a head moving forward which is
              listed with --allchanges. If rev1 is skipped, rev2~1 is assumed.

              This option is primarily for debugging and  retropective  (re-)generation  of  this
              outut,  and  does  not  change  the  current  notifier  state  in any way. The main
              difference to --manual is that it considers only revision  on  the  first  parent's
              path, and mails out actual diffs between these.

       --emailprefix
              Specifies  a  prefix for the mails' subject line. If the prefix contain an %r, that
              will be replace with the repositories name. Default is [git/%r]. Note that the name
              of this option is compatible with some of other git notification scripts.

       --hostname <name>
              Defines  the  hostname  to  use  when  building  the  repository  path shown in the
              notification mails. Default is the canonical name  of  the  system  the  script  is
              running on.

       --ignoreremotes
              If  given,  git-notifier  will not report any commits that are already known by any
              configured remote repository.

       --gitbasedir=DIRECTORY
              Specifies a base DIRECTORY for the  git  repository.  If  not  given,  the  current
              directory is the default.

       -h, --help
              show help message and exit

       --link <url>
              Specifies  a  <url>  that  will  be included into notification mails for locating a
              changeset online. The <url> can contain a %s placeholder that will be replaced with
              the corresponding git revision number. The <url> can also contain an %r placeholder
              that will be replaced with the name of the repository.

       --log <file>
              Write logging information into the given <file>. Default is git-notifier.log inside
              the repository.

       --mailcmd <command>
              Specifies the command to use for sending mail. Default is /usr/sbin/sendmail.

       --mailinglist <address>
              Specifies  the  recipient for all generated mails. Default is mailing to the system
              account that is running the script.

       --mailserver <host>
              SMTP server to use for outgoing mails. Default is None, in  which  case  mail  gets
              sent through the local sendmail (or whatever --mailcmd defines alternatively).

       --mailsubjectlen <max>
              Limits subjects of generated mails to <max> characters. Default os no limit.

       --manual [rev1..] rev2
              Mails  out notifications for all revisions on the way from rev1 to rev2. If rev1 is
              skipped, rev2~1 is assumed.

              This option is primarily for debugging and  retropective  (re-)generation  of  this
              output, and does not change the current notifier state in any way.

       --maxage <days>
              Limits  the  age  of  commits  to  report. No commit older than this many days will
              trigger a commit notification. Default is 30 days; zero disables the age check.

       --maxdiffsize <size>
              Limits the <size>of mails by giving a maximum number of kilobytes that a  diff  may
              have.  If  the  diff for a change is larger than this value, a notification mail is
              still send out but the diff is excluded (and  replaced  with  a  note  saying  so).
              Default is 50K.

       --mergediffs <branches>
              Lists  <branches>  for  which  merges  should  include the full diff, including all
              changes that are already part of branch commits.

              <branches> is a list of command-separated names of heads to treat this way.

       --noupdate
              Does not update the internal state file, meaning that any updates will be  reported
              again next time the script is run.

       --replyto <email>
              Adds a Reply-To: <email> header to outgoing mails.

       --repouri=URI
              full URI for the repository

       --sender <address>
              Defines the sender <address> for all generated mails. Default is the user doing the
              update (if gitolite is used, that's the gitolite acccount doing the push,  not  the
              system account running git-notifier.)

       --update-only
              Does  not  send  out  any  mail notifications but still updates the index. In other
              words, all recent changes will be marked as "seen", without reporting them.

       --users <file>
              This is only for installations using gitolite <XXX>, for which the  default  sender
              address  for  all  mails  would  normally  be the gitolite user account name of the
              person doing the push. With this option, one can alternatively specify a file  that
              maps  such  account  names to alternative addresses, which will then be used as the
              sender for mails.

              Note that even if --users is not given, git-notifier will still  look  for  such  a
              file  in  ../conf/sender.cfg,  relative  to  the top-level repository directory. In
              other words,  you  can  check  a  file  sender.cfg  containing  the  mappings  into
              gitolite's config/ directory and it should Just Work.

       --version
              Shows program's version number and exit

FILES

       git-notifier.conf

              This  is  the  git-notifier  configuration file, which provides system-wide default
              configuration values. Configuration  data  is  taken  in  the  following  order  of
              precedence:

              1. command-line options

              2. repository-specific configuration (via git config hooks.<option>)

              3. this file

              In  the default configuration file shipped with git-notifier, options are specified
              with their default value  where  possible,  but  are  left  commented.  Uncommented
              options override the default value.

       ../conf/sender.cfg

              This  is  only for installations using gitolite <XXX>, for which the default sender
              address for all mails would normally be the  gitolite  user  account  name  of  the
              person doing the push.

              The  file  must  consist of line of the form <gitolite-user> <sender>, where sender
              will be used for the mails and can include spaces. Empty lines and  lines  starting
              with  #  are  ignored.  It's  ok if for a user no entry is found, in which case the
              default value will be used.

              For example, if there's a gitolite user account "joe", one could  provide  a  users
              file like this:

              joe Joe Smith <joe@foo.bar>

              Now all mails triggered by Joe will have the specified sender.

BUGS

       Report bugs on https://github.com/rsmmr/git-notifier/issues

SEE ALSO

       git(1), github-notifier(1)

LICENSE

       git-notifier comes with a BSD-style license.

AUTHOR

       Robin    Sommer    <robin@icir.org>.   This   manpage   is   written   by   Lev   Lamberov
       <l.lamberov@gmail.com>.

                                                                                  GIT-NOTIFIER(1)