Added a --onto option, but it's so complicated I can't tell if it works.

This commit is contained in:
Avery Pennarun 2009-04-24 17:05:14 -04:00
parent 8b4a77f2a1
commit 33ff583ad7

View File

@ -13,7 +13,7 @@ git subtree does foo and bar!
h,help show the help
q quiet
v verbose
onto= existing subtree revision to connect, if any
onto= existing subtree revision to search for parent
rejoin merge the new branch back into HEAD
"
eval $(echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?)
@ -172,6 +172,16 @@ cmd_split()
debug "Splitting $dir..."
cache_setup || exit $?
if [ -n "$onto" ]; then
echo "Reading history for $onto..."
git rev-list $onto |
while read rev; do
# the 'onto' history is already just the subdir, so
# any parent we find there can be used verbatim
cache_set $rev $rev
done
fi
unrevs="$(find_existing_splits "$dir" "$revs")"
git rev-list --reverse --parents $revs $unrevs -- "$dir" |