Date: Sat, 5 Jan 2008 20:17:40 -0500
From: Sean <seanlkml@sympatico.ca>
To: Miklos Vajna <vmiklos@frugalware.org>
Cc: git@vger.kernel.org
Subject: how to use git merge -s subtree?
Abstract: In this article, Sean demonstrates how one can use the subtree merge
 strategy.
Content-type: text/asciidoc
Message-ID: <BAYC1-PASMTP12374B54BA370A1E1C6E78AE4E0@CEZ.ICE>

How to use the subtree merge strategy
=====================================

There are situations where you want to include contents in your project
from an independently developed project. You can just pull from the
other project as long as there are no conflicting paths.

The problematic case is when there are conflicting files. Potential
candidates are Makefiles and other standard filenames. You could merge
these files but probably you do not want to.  A better solution for this
problem can be to merge the project as its own subdirectory. This is not
supported by the 'recursive' merge strategy, so just pulling won't work.

What you want is the 'subtree' merge strategy, which helps you in such a
situation.

In this example, let's say you have the repository at `/path/to/B` (but
it can be an URL as well, if you want). You want to merge the 'master'
branch of that repository to the `dir-B` subdirectory in your current
branch.

Here is the command sequence you need:

----------------
$ git remote add -f Bproject /path/to/B <1>
$ git merge -s ours --no-commit Bproject/master <2>
$ git read-tree --prefix=dir-B/ -u Bproject/master <3>
$ git commit -m "Merge B project as our subdirectory" <4>

$ git pull -s subtree Bproject master <5>
----------------
<1> name the other project "Bproject", and fetch.
<2> prepare for the later step to record the result as a merge.
<3> read "master" branch of Bproject to the subdirectory "dir-B".
<4> record the merge result.
<5> maintain the result with subsequent merges using "subtree"

The first four commands are used for the initial merge, while the last
one is to merge updates from 'B project'.

Comparing 'subtree' merge with submodules
-----------------------------------------

- The benefit of using subtree merge is that it requires less
  administrative burden from the users of your repository. It works with
  older (before Git v1.5.2) clients and you have the code right after
  clone.

- However if you use submodules then you can choose not to transfer the
  submodule objects. This may be a problem with the subtree merge.

- Also, in case you make changes to the other project, it is easier to
  submit changes if you just use submodules.

Additional tips
---------------

- If you made changes to the other project in your repository, they may
  want to merge from your project. This is possible using subtree -- it
  can shift up the paths in your tree and then they can merge only the
  relevant parts of your tree.

- Please note that if the other project merges from you, then it will
  connect its history to yours, which can be something they don't want
  to.
