1. 09 Jul, 2013 2 commits
  2. 05 Jul, 2013 1 commit
    • Robert Ricci's avatar
      Add clone URLs to commit messages · c1f3e90a
      Robert Ricci authored
      ... seems useful enough that we ought to just do it by default.
      
      Works fine on our server because the hostname is set right and the
      path works out fine. Might work less well on servers configured
      differently.
      c1f3e90a
  3. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      
      This commit is intended to clear up that confusion.
      
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  4. 01 Jun, 2012 2 commits
    • Robert Ricci's avatar
      Remove a comment that's no longer true · edf8442c
      Robert Ricci authored
      edf8442c
    • Robert Ricci's avatar
      Fix summary for merge commits · 8e634629
      Robert Ricci authored
      Problem before was that I was using 'git log' of the commit and
      its parent, which doesn't work as I intended when there's more than
      one parent. Instead, use 'git show -s', which is helpfully not
      documented in the manpage for git-show, but instead the manpage for
      git-shortlog
      8e634629
  5. 08 May, 2012 1 commit
  6. 27 Apr, 2012 1 commit
  7. 17 Apr, 2012 8 commits
    • Robert Ricci's avatar
      Bugfix: make sure to initialize the summary · 3c832453
      Robert Ricci authored
      3c832453
    • Robert Ricci's avatar
      Support options with '=' in them · b31df8b4
      Robert Ricci authored
      b31df8b4
    • Robert Ricci's avatar
      Fix for older versions of git · 1c0f4a5f
      Robert Ricci authored
      'git revparse --show-toplevel' is a nice way to get a path to the repo
      no matter where you are in it, but unfortunately, older versions don't
      have it. So, go back to `pwd`
      1c0f4a5f
    • Robert Ricci's avatar
      Support patches down at the bottom of gitmail · 78669f67
      Robert Ricci authored
      New 'includepatches' option puts a seperate set of patches after all
      commit messages. 'patchstyle' allows you to set 'word' to get word
      diffs. 'patchsizelimit' (default 1,000) omits patches with more than
      this many lines. 'maxpatches' (default 20) skips patch generation if
      there are more than this many commits in the message.
      78669f67
    • Robert Ricci's avatar
      Bug fix: fix prototype for commit_mail() · 720403f4
      Robert Ricci authored
      720403f4
    • Robert Ricci's avatar
      Add host and path headers to gitmail · 05a4a77b
      Robert Ricci authored
      For now, these go into headers (X-Git-Repo-Host and X-Git-Repo-Path)
      Might consider moving them to the body of the mail at some point.
      
      Note that I *don't* attempt to figure out the actual 'URL' for the
      repo, since that is *not* necessarily automatically derivable: eg.
      it might be any of ssh,git, or http protocols, and the path (esp.
      for git: and http:) might not match the path in the filesystem. So
      this suggests that wat goes into the body of the mail ought to be
      set with a config variable.
      05a4a77b
    • Robert Ricci's avatar
      Show commit range on updates · b6dc5a0e
      Robert Ricci authored
      Show the old and new values of the ref, in a form that is suitable for
      passing to 'git log', etc. The idea is to make it easier for the reader
      of the mail to go look at more detailed information than is in the mail,
      if they so choose.
      
      Use short form of the hashes to make it fit nicely into one line
      of text.
      b6dc5a0e
    • Robert Ricci's avatar
      3b96945a
  8. 16 Apr, 2012 3 commits
  9. 15 Apr, 2012 3 commits
  10. 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
  11. 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
  12. 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
  13. 03 Jun, 2011 1 commit
  14. 31 Aug, 2010 1 commit
  15. 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
  16. 15 Jul, 2010 2 commits
  17. 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
  18. 22 Mar, 2010 1 commit
  19. 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
  20. 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
  21. 02 Feb, 2010 1 commit
  22. 01 Feb, 2010 2 commits
  23. 22 Jan, 2010 1 commit
  24. 21 Jan, 2010 1 commit