This will help avoid problems with rebase.
NOTE: the '.gitrepo' file is still added at the merge stage, and _that_
file will be lost in subsequent rebases/merges.
Also, the equivalent code for 'pull' is not in place yet.
It relies on knowledge of the internal format specification for the raw
tree blob object ( what you get if you do `git cat-file tree <TREESHA>` )
and writes one by hand with a bit of ninja tricks from `perl`'s `pack`
This is because silly git, unlike everywhere else in git, stores SHA1s
in TREE blobs in *binary encoding* instead of in Hex. :(
Tree Blob format is
TYPE SPACE FILENAME NULL BINARYSHA1
Where `TYPE` is 040000 for directories/trees.
Signed-off-by: Kent Fredric <email@example.com>