Avery Pennarun
a64f3a7286
Trim some extra merge commits that don't need to go into the split tree.
...
...and update test.sh to test for this.
2009-04-26 16:53:57 -04:00
Avery Pennarun
a046c7b124
test.sh tweak
2009-04-26 16:33:38 -04:00
Avery Pennarun
1490e1546a
Add some basic assertions to test.sh.
2009-04-26 16:31:27 -04:00
Avery Pennarun
0ad3dd8534
Add a 'create' helper function in test.sh.
2009-04-26 15:55:56 -04:00
Avery Pennarun
1f73862f3b
Clarify why we can't do 'git rev-list' with a path.
2009-04-26 15:54:42 -04:00
Avery Pennarun
86de04c6eb
Typo when searching for existing splits.
2009-04-26 09:55:59 -04:00
Avery Pennarun
d0eb1b1417
Add --annotate option, and create recognizable file content during tests.
2009-04-26 08:59:12 -04:00
Avery Pennarun
8c384754d8
todo list
2009-04-26 08:53:14 -04:00
Avery Pennarun
a13a299996
Change test.sh to test the new add, merge, and pull commands.
2009-04-25 00:07:04 -04:00
Avery Pennarun
b9de53532c
Handle it successfully if a given parent commit has no parents.
2009-04-25 00:06:45 -04:00
Avery Pennarun
13648af5ee
Add 'git subtree merge' and 'git subtree pull'.
...
These are simple shortcuts for 'git merge -s subtree' and 'git pull -s
subtree', but it makes sense to have it all in one command.
2009-04-24 23:41:19 -04:00
Avery Pennarun
eb7b590c8c
Add a new 'git subtree add' command for adding subtrees from a given rev.
2009-04-24 23:28:30 -04:00
Avery Pennarun
9a8821ff33
Pass the path using the --prefix option instead of on the command line.
...
I like this better. It's more like git-read-tree and some other commands.
2009-04-24 22:57:14 -04:00
Avery Pennarun
96db2c0448
Okay, that was a little too aggressive.
...
Now we only prune out a commit if it has exactly one remaining parent and
that parent's tree is identical to ours.
But I also changed the test to create the initial "-s ours" merge in one
step instead of two, and that merge can be eliminated since one of its
parents doesn't affect the subdir at all, and is thus deleted.
2009-04-24 22:38:58 -04:00
Avery Pennarun
d691265880
Even more aggressive commit trimming.
...
Now we cut out a commit if any of its parents had the same tree; just use
that parent in its place. This makes the history look nice, but I don't
think it's quite right...
2009-04-24 22:05:30 -04:00
Avery Pennarun
210d083904
Prune out some extra merge commits by comparing their parents correctly.
2009-04-24 21:49:19 -04:00
Avery Pennarun
847e868167
Quick test script for generating reasonably complex merge scenarios.
2009-04-24 21:35:50 -04:00
Avery Pennarun
768d6d1005
Skip over empty commits.
...
But we still need to get rid of unnecessary merge commits somehow...
2009-04-24 17:53:10 -04:00
Avery Pennarun
2c71b7c46d
Hmm... can't actually filter rev-list on the subdir name.
...
Otherwise we can't keep track of parent relationships. Argh.
This change makes it "work", but we get a bunch of empty commits.
2009-04-24 17:42:33 -04:00
Avery Pennarun
33ff583ad7
Added a --onto option, but it's so complicated I can't tell if it works.
2009-04-24 17:05:14 -04:00
Avery Pennarun
8b4a77f2a1
Use information about prior splits to make sure merges work right.
2009-04-24 16:48:08 -04:00
Avery Pennarun
b77172f814
Add a new --rejoin option.
...
The idea is to join the new split branch back into this one, so future
splits can append themselves to the old split branch. We mark the split
branch's history in our merge commit, so we can pull it back out later.
2009-04-24 15:48:41 -04:00
Avery Pennarun
e25a6bf837
Print out the newly created commitid at the end, for use in other scripts.
2009-04-24 14:52:27 -04:00
Avery Pennarun
fd9500eef2
We now copy the other stuff about a commit (changelog, author, etc).
2009-04-24 14:45:02 -04:00
Avery Pennarun
2573354e9b
'git subtree split' now basically works.
2009-04-24 14:24:38 -04:00
Avery Pennarun
0ca71b3737
basic options parsing and whatnot.
2009-04-24 14:13:34 -04:00