Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
merge_msg() is really more like rejoin_msg().
author
Avery Pennarun
<apenwarr@gmail.com>
Sat, 30 May 2009 05:28:20 +0000
(
01:28
-0400)
committer
Avery Pennarun
<apenwarr@gmail.com>
Sat, 30 May 2009 05:51:38 +0000
(
01:51
-0400)
git-subtree.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
8e79043
)
diff --git
a/git-subtree.sh
b/git-subtree.sh
index 65b6348fe455e93f750787c2136b11e6d0526b99..d82e03e6fd295d575ac23624a87f0e41145f4f40 100755
(executable)
--- a/
git-subtree.sh
+++ b/
git-subtree.sh
@@
-178,15
+178,15
@@
find_existing_splits()
case "$a" in
git-subtree-mainline:) main="$b" ;;
git-subtree-split:) sub="$b" ;;
case "$a" in
git-subtree-mainline:) main="$b" ;;
git-subtree-split:) sub="$b" ;;
-
*
)
+
END
)
if [ -n "$main" -a -n "$sub" ]; then
debug " Prior: $main -> $sub"
cache_set $main $sub
try_remove_previous "$main"
try_remove_previous "$sub"
if [ -n "$main" -a -n "$sub" ]; then
debug " Prior: $main -> $sub"
cache_set $main $sub
try_remove_previous "$main"
try_remove_previous "$sub"
- main=
- sub=
fi
fi
+ main=
+ sub=
;;
esac
done
;;
esac
done
@@
-230,7
+230,7
@@
add_msg()
EOF
}
EOF
}
-
merge
_msg()
+
rejoin
_msg()
{
dir="$1"
latest_old="$2"
{
dir="$1"
latest_old="$2"
@@
-410,6
+410,9
@@
cmd_split()
tree=$(subtree_for_commit $rev "$dir")
debug " tree is: $tree"
tree=$(subtree_for_commit $rev "$dir")
debug " tree is: $tree"
+
+ # ugly. is there no better way to tell if this is a subtree
+ # vs. a mainline commit? Does it matter?
[ -z $tree ] && continue
newrev=$(copy_or_skip "$rev" "$tree" "$newparents") || exit $?
[ -z $tree ] && continue
newrev=$(copy_or_skip "$rev" "$tree" "$newparents") || exit $?
@@
-427,7
+430,7
@@
cmd_split()
debug "Merging split branch into HEAD..."
latest_old=$(cache_get latest_old)
git merge -s ours \
debug "Merging split branch into HEAD..."
latest_old=$(cache_get latest_old)
git merge -s ours \
- -m "$(
merge
_msg $dir $latest_old $latest_new)" \
+ -m "$(
rejoin
_msg $dir $latest_old $latest_new)" \
$latest_new >&2 || exit $?
fi
if [ -n "$branch" ]; then
$latest_new >&2 || exit $?
fi
if [ -n "$branch" ]; then