This is a simplification of the previous logic. I don't *think* it'll break
anything.
Results in far fewer useless merge commmits when playing with gitweb in the
git project:
git subtree split --prefix=gitweb --annotate='(split) '
0a8f4f0^^..
f2e7330
--onto=
1130ef3
...and it doesn't *seem* to eliminate anything important.
assert [ -n "$tree" ]
identical=
+ nonidentical=
p=
gotparents=
for parent in $newparents; do
if [ "$ptree" = "$tree" ]; then
# an identical parent could be used in place of this rev.
identical="$parent"
+ else
+ nonidentical="$parent"
fi
# sometimes both old parents map to the same newparent;
fi
done
- if [ -n "$identical" -a "$gotparents" = " $identical" ]; then
+ if [ -n "$identical" -a -z "$nonidentical" ]; then
echo $identical
else
copy_commit $rev $tree "$p" || exit $?