Commits on Nov 10, 2010
  1. Added check to order of processed commits.

    With debug messages enabled, "incorrect order" will be output whenever a
    commit is processed before its parents have been processed.  This can be
    determined by checking to see if a parent isn't mapped to a new commit, but
    it has been processed.
    jessegreenwald committed with apenwarr Nov 10, 2010
  2. Split cmd now processes commits in topo order.

    Added the "--topo-order" option to git rev-list.  Without this, it seems that
    the revision list is coming back in reverse order but it is sorted
    chronologically.  This does not gurantee that parent commits are handled
    before child commits.
    jessegreenwald committed with apenwarr Nov 9, 2010
Commits on Oct 21, 2010
  1. docs: Description, synopsys, options and examples changes.

    Description: Made the difference from submodules and the subtree
    merge strategy clearer.
    Synopsys and options: Synchronize with 'git subtree -h' output.
    I hope, properly.
    Examples: Added example descriptions in captions. Small fixes.
    Signed-off-by: John Yani <>
    Vanuan committed with apenwarr Aug 12, 2010
  2. Fixing eval syntax error.

    cstanfield committed with apenwarr Sep 13, 2010
Commits on Aug 12, 2010
  1. Fix typo: an -> a

    Thanks to Vanuan on github.
    apenwarr committed Aug 12, 2010
Commits on Jul 21, 2010
  1. docs: simplify example 1

    The documentation was written prior to Wayne Walter's 2-parameter add.
    Using 2-parameter add in example 1 makes the example much simpler.
    bryanlarsen committed with apenwarr Jul 21, 2010
Commits on Jun 24, 2010
  1. Another fix for PATH and msysgit.

    Evan Shaw tells me the previous fix didn't work.  Let's use this one
    instead, which he says does work.
    This fix is kind of wrong because it will run the "correct" git-sh-setup
    *after* the one in /usr/bin, if there is one, which could be weird if you
    have multiple versions of git installed.  But it works on my Linux and his
    msysgit, so it's obviously better than what we had before.
    apenwarr committed Jun 24, 2010
  2. Merge remote branch 'origin/master'

    * origin/master:
      Fixed regression with splitting out new subtree
      Use 'git merge -Xsubtree' when git version >= 1.7.0.
    apenwarr committed Jun 24, 2010
  3. (Hopefully) fix PATH setting for msysgit.

    Reported by Evan Shaw.  The problem is that $(git --exec-path) includes a
    'git' binary which is incompatible with the one in /usr/bin; if you run it,
    it gives you an error about libiconv2.dll.
    You might think we could just add $(git --exec-path) at the *end* of PATH,
    but then if there are multiple versions of git installed, we could end up
    with the wrong one; earlier versions used to put git-sh-setup in /usr/bin,
    so we'd pick up that one before the new one.
    So now we just set PATH back to its original value right after running
    git-sh-setup, and we should be okay.
    apenwarr committed Jun 24, 2010
Commits on May 20, 2010
  1. Fixed regression with splitting out new subtree

    A folder in a repository that wasn't initially imported as a  subtree could no longer be splitted into an entirely new subtree with no parent.
    A fix and a new test to fix that regression is added here.
    voxpelli committed May 20, 2010
Commits on May 7, 2010
  1. Use 'git merge -Xsubtree' when git version >= 1.7.0.

    It's possible to specify the subdir of a subtree since Git 1.7.0 - adding
    support for that functionality to make the merge more stable.
    Also checking for git version - now only uses the new subtree subdir option
    when on at least 1.7.
    voxpelli committed with apenwarr May 7, 2010
Commits on Feb 13, 2010
  1. Added new 'push' command and 2-parameter form of 'add'.

    Now you can do:
    	git subtree add --prefix=whatever git://wherever branchname
    to add a new branch, instead of rather weirdly having to do 'git fetch'
    first.  You can also split and push in one step:
    	git subtree push --prefix=whatever git://wherever newbranch
    (Somewhat cleaned up by apenwarr.)
    Wayne Walter committed with apenwarr Feb 13, 2010
Commits on Feb 9, 2010
  1. Docs: cleaning up example textual redundancy

    Signed-off-by: Dan Sabath <>
    kiyose committed with apenwarr Feb 9, 2010
  2. docs: add simple 'add' case to clarify setup.

    This patch adds a simple use case for adding a library to an existing
    Signed-off-by: Dan Sabath <>
    kiyose committed with apenwarr Feb 9, 2010
  3. Some recent tests accidentally depended on very new versions of git.

    The "--format" option is too new.  Use "--pretty=format:" (which means the
    same thing) instead.  Now it works again on git 1.6.0 (at least).
    apenwarr committed Feb 9, 2010
  4. Oops. Apparently I didn't run 'make test' after most recent change.

    Thanks to Dan Sabath for pointing that out.
    apenwarr committed Feb 9, 2010
Commits on Feb 8, 2010
  1. Improve checking for existence of the --prefix directory.

    For add, the prefix must *not* already exist.  For all the other commands,
    it *must* already exist.
    apenwarr committed Feb 8, 2010
Commits on Feb 6, 2010
  1. Make sure that <prefix> exists when splitting.

    And test cases for that check, as well as for an error if no prefix is
    specified at all.
    treese committed with apenwarr Feb 6, 2010
  2. Make tests pass with recent git (1.7.0 and up).

    It seems that in older versions, --message="" was interpreted as "use the
    default commit message" instead of "use an empty commit message", and
    git-subtree was depending on this behaviour.  Now we don't, so tests pass
    apenwarr committed Feb 6, 2010
Commits on Feb 2, 2010
  1. Jakub's changes broke the progress message slightly.

    We really need that ^M (\r), not a ^J (\n) if we want the status message to
    overwrite itself nicely.
    apenwarr committed Feb 2, 2010
  2. Merge branch 'master' of git://

    * 'master' of git://
      improved rev_is_descendant_of_branch() function
      added temporary test dirs to gitignore
      added tests for recent changes
      fixed bug in commit message for split
      changed alias for --prefix from -p to -P
      fix for subtree split not finding proper base for new commits
      allow using --branch with existing branches if it makes sense
      added -m/--message option for setting merge commit message
      added -p alias for --prefix
    apenwarr committed Feb 2, 2010
  3. Fix refspecs in given example for git subtree pull.

    (Updated slightly by apenwarr)
    Arlen Cuss committed with apenwarr Jan 19, 2010
Commits on Jan 12, 2010
  1. added tests for recent changes

    mackuba committed Jan 12, 2010
Commits on Jan 10, 2010
Commits on Jan 6, 2010
  1. added -p alias for --prefix

    mackuba committed Jan 6, 2010
Commits on Nov 21, 2009
Commits on Nov 15, 2009
  1. make git version dynamic when building documentation

    Signed-off-by: Ben Walton <>
    Ben Walton committed with apenwarr Nov 14, 2009