1. 15 Apr, 2012 2 commits
  2. 15 Dec, 2011 2 commits
  3. 17 Nov, 2011 3 commits
    • Robert Ricci's avatar
      Fixes to git-checkout-push · ae6fd130
      Robert Ricci authored
      Explicitly set an environment variable for the working directory, otherwise
      git looks in the .git directory and bad things happen
      Add an UNSAFE option, off by default
    • Robert Ricci's avatar
      Change path handling in git-multihook · d2d6cfcd
      Robert Ricci authored
      If the path is not explictly fully-qualified or relative, prepend
      the path this script itself is at (usually hooks/)
    • Robert Ricci's avatar
      Fixes to git-checkout-push · 5da66347
      Robert Ricci authored
      Add a note about a variable you have to set on the target repo to
      make git happy
      Don't check the index, weird stuff happens
      Use 'git reset' rather than 'git checkout', as the latter is known to
      do strange things in this situation
  4. 16 Nov, 2011 2 commits
    • Robert Ricci's avatar
      New git utility script: git-multihook · f0d18eb0
      Robert Ricci authored
      Allows you to call more than one hook - eg. to use git-checkout-push
      and gitmail both from post-receive
    • Robert Ricci's avatar
      New git utility script: git-checkout-push · 09eecec3
      Robert Ricci authored
      Simple script that, if master is updated, does a checkout of the new
      version of master. Intended for things like papers, where you want the
      central repository to have a checked-out copy that reflects the latest
  5. 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
  6. 06 Aug, 2011 1 commit
    • Robert Ricci's avatar
      New script to re-write history of git moves · 061b0df5
      Robert Ricci authored
      This script is intended for use with 'git filter-branch' - it takes
      a directory, finds all files that have been moved into that directory
      and where they came from, and produces a script that moves (in the
      filesystem sense, not the git sense) them from their old locations
      to their new ones.
      Then, you give this script to 'git filter-branch --tree-filter', and
      it will re-write all history so that it looks like the files were
      always in their new locations.
      Written specifically for the move of the clientside stuff into its
      own directory, and then off into its own repository.
  7. 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.
  8. 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
    • 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.
  9. 03 Jun, 2011 1 commit
  10. 31 Aug, 2010 1 commit
  11. 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.
  12. 15 Jul, 2010 2 commits
  13. 28 Apr, 2010 1 commit
    • Ryan Jackson's avatar
      Add script to find current HEAD for build · 231b5953
      Ryan Jackson authored
      Add script that, when run from the root of the repository, returns the
      sha1 hash of the current branch head.  It writes the hash to stdout if
      successful or returning non-zero otherwise.  The three methods used to
      get the hash are as follows:
      1. Try using the git tools.  This is the preferred method since the
         layout of the .git directory may change (not likely to happen soon,
         but it did change a few years ago).
      2. Failing that, assume the current (1.7.x) repository layout and try
         to extract the value of HEAD.
      3. If there is no .git directory, try extracting the hash from the
         VERSION file in the top-level directory of the tree.
      Also add the VERSION file and set the export-subst attribute for it.
  14. 22 Apr, 2010 2 commits
    • 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.)
    • Ryan Jackson's avatar
      Add code freeze hook script for git · 2d1bfecd
      Ryan Jackson authored
  15. 22 Mar, 2010 1 commit
  16. 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.
  17. 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
  18. 02 Feb, 2010 1 commit
  19. 01 Feb, 2010 2 commits
  20. 22 Jan, 2010 1 commit
  21. 21 Jan, 2010 1 commit
  22. 19 Jan, 2010 2 commits
  23. 23 Dec, 2009 4 commits
  24. 22 Dec, 2009 2 commits
  25. 21 Dec, 2009 2 commits
    • Robert Ricci's avatar
      Change the mail and branch matching code due to a conversation I had · 46157519
      Robert Ricci authored
      with Eric this afternoon.
    • Ryan Jackson's avatar
      Add helper scripts to make exporting to CVS easier · facfd08e
      Ryan Jackson authored
      - git-cvsexportcommit.mod is the same as the standard
        git-cvsexportcommit script, except it doesn't fail if you try applying
        a patch to the sandbox that has already been applied (i.e., you do a
        cvspush before the upstream git repo has been updated).
      - git-cvspush uses the above script to export each commit between the
        upstream branch head and your local branch head to CVS. To use it,
        run the following command inside your git repo:
        git config branch.<branch>.cvsdir <sandbox>
        where '<branch>' is your local git branch name and '<sandbox>' is
        the CVS sandbox where you've checked out that branch.  Set up an
        alias for it with this:
        git config --global alias.cvspush "!git-cvspush"
        and run 'git cvspush <branch>' (where '<branch>' is the branch to push
        or the current one if not specified) when you're ready to push pending
        commits to CVS.