1. 15 Apr, 2012 2 commits
  2. 07 Oct, 2011 1 commit
    • Ryan Jackson's avatar
      Added support for new X-Git-Repo-Keyword header · 9743d0f6
      Ryan Jackson authored
      Per-repository 'keywords' may now be configured by setting the
      hooks.gitmail.keyword option.  One X-Git-Repo-Keyword header is added
      to commit mails for each keyword specified.
      
      The primary use case for this is to configure related repositories
      with the same keyword(s), so that commit mails for those repositories
      can be filtered with a single rule rather than one for each
      repository.
      9743d0f6
  3. 05 Jun, 2011 1 commit
    • Robert Ricci's avatar
      Add X-Git-Ref header · 9cebef6f
      Robert Ricci authored
      This header contains the reference name (eg. branch name or tag name)
      that was modified by the commits in the mail.
      9cebef6f
  4. 04 Jun, 2011 2 commits
    • Robert Ricci's avatar
      Be consistent about using $GIT instead of git · 87d08e8b
      Robert Ricci authored
      ... so that we can specify a different path to git if necessary
      87d08e8b
    • Robert Ricci's avatar
      Add an 'archivemail' configuration option · 4de19632
      Robert Ricci authored
      'archivemail' works exactly like 'alwaysmail', except that any
      addresses it contains get separate copies of the mail. This is
      intended to keep cleaner 'To' lines when sending mail to
      archive-type lists.
      
      This script now generates its own Message-Id header, so that
      if more than one piece of mail is generated, they can easily
      be detected by duplicate-suppression features of mailers.
      4de19632
  5. 03 Jun, 2011 1 commit
  6. 31 Aug, 2010 1 commit
  7. 19 Jul, 2010 1 commit
    • Ryan Jackson's avatar
      Improved handling of trivial merges in gitmail · 9b24f18f
      Ryan Jackson authored
      Use 'git diff-tree --no-commit-id --cc' on merge commits to determine if
      there are any differences between the merge commit and its parents.
      This is the case if any new files were hand-modified or added as part of
      the merge (such as when conflicts were resolved).  If git-diff-tree
      produces no output, the merge was trivial.
      
      If the merge was trivial, the commit message is checked for an empty
      body.  If empty, the commit is skipped when generating the email.  This
      way if the committer documents the merge in some way (list of changes,
      reason for the merge, etc.) the email includes that information.
      9b24f18f
  8. 15 Jul, 2010 2 commits
  9. 22 Apr, 2010 1 commit
    • Ryan Jackson's avatar
      gitmail: Improved tag, rewind, rebase support; minor cleanup · 7ce6fba0
      Ryan Jackson authored
      - Improved support for lightweight tags
        - Supports create/update/delete
        - Show only current ref pointed to (or previously
          pointed to)
      
      - Show previous value of ref when deleted
        - Useful for recovering from accidental deletions
      
      - Distinguish between rewind and rebase
        - Show only new branch head on rewind
        - Show all commits on rebase if only commit message(s)
          changed (otherwise we wouldn't know about the commit
          at all)
      
      - Minor cleanup (remove duplicate code, etc.)
      7ce6fba0
  10. 22 Mar, 2010 1 commit
  11. 18 Mar, 2010 1 commit
    • Ryan Jackson's avatar
      Fix gitmail's short_refname() to support refs containing slashes · b3943c83
      Ryan Jackson authored
      Refs can contain slashes.  For example, the short ref for
      'refs/heads/foo/bar' is 'foo/bar'.  Previously, we just chopped off
      everything up to and including the last slash character, which doesn't
      return the correct short ref in this case.
      
      Call git-rev-parse to shorten the ref for us.  In case it doesn't return
      anything (which shouldn't happen), fall back to the full ref.
      b3943c83
  12. 03 Feb, 2010 1 commit
    • Ryan Jackson's avatar
      Add support for forced updates (incl. rebases) · d3a1ba3a
      Ryan Jackson authored
      Handle forced updates, including rebases.  git-cherry is used to
      determine if the commits pushed are present upstream (with a different
      hash) or not.  Ones already present are excluded from the commit mail
      since they haven't changed (i.e., they point to the same blobs the old
      ones did).  Ones not present are either new commits or modified commits.
      It's non-trivial to tell which is which, and we probably don't care
      anyway.  Added text to 'forced-update' email messages to state that the
      commits shown are only the new/modified ones and not all that were
      pushed.
      d3a1ba3a
  13. 02 Feb, 2010 1 commit
  14. 01 Feb, 2010 2 commits
  15. 22 Jan, 2010 1 commit
  16. 21 Jan, 2010 1 commit
  17. 19 Jan, 2010 2 commits
  18. 23 Dec, 2009 3 commits
  19. 22 Dec, 2009 2 commits
  20. 21 Dec, 2009 2 commits