Use 'git merge -Xsubtree' when git version >= 1.7.0.
It's possible to specify the subdir of a subtree since Git 1.7.0 - adding support for that functionality to make the merge more stable. Also checking for git version - now only uses the new subtree subdir option when on at least 1.7.
Pelle Wessman committed
May 7, 2010 at 21:21 UTC
448e71e2637e0d7546fb0a2b386e74bc7aa93be8
1 file changed
+13
-4
git-subtree.sh
+13
-4
@@ -634,11 +634,20 @@ cmd_merge()
634
debug "New squash commit: $new"
635
rev="$new"
636
fi
637
-
638
- if [ -n "$message" ]; then
639
- git merge -s subtree --message="$message" $rev
637
+
638
+ version=$(git version)
639
+ if [ "$version" \< "git version 1.7" ]; then
640
+ if [ -n "$message" ]; then
641
+ git merge -s subtree --message="$message" $rev
642
+ else
643
+ git merge -s subtree $rev
644
+ fi
645
else
641
- git merge -s subtree $rev
646
+ if [ -n "$message" ]; then
647
+ git merge -Xsubtree="$prefix" --message="$message" $rev
648
+ else
649
+ git merge -Xsubtree="$prefix" $rev
650
+ fi
651
fi
652
}
653