@@ -14,7 +14,7 @@ git subtree add --prefix=<prefix> <repository> <ref>
14
14
git subtree merge --prefix=<prefix> <commit>
15
15
git subtree pull --prefix=<prefix> <repository> <ref>
16
16
git subtree push --prefix=<prefix> <repository> <ref>
17
- git subtree split --prefix=<prefix> <commit... >
17
+ git subtree split --prefix=<prefix> <commit>
18
18
--
19
19
h,help show the help
20
20
q quiet
@@ -77,6 +77,12 @@ assert () {
77
77
fi
78
78
}
79
79
80
+ ensure_single_rev () {
81
+ if test $# -ne 1
82
+ then
83
+ die " You must provide exactly one revision. Got: '$@ '"
84
+ fi
85
+ }
80
86
81
87
while test $# -gt 0
82
88
do
@@ -185,6 +191,7 @@ if test "$command" != "pull" &&
185
191
then
186
192
revs=$( git rev-parse $default --revs-only " $@ " ) || exit $?
187
193
dirs=$( git rev-parse --no-revs --no-flags " $@ " ) || exit $?
194
+ ensure_single_rev $revs
188
195
if test -n " $dirs "
189
196
then
190
197
die " Error: Use --prefix instead of bare filenames."
@@ -716,9 +723,8 @@ cmd_add_repository () {
716
723
}
717
724
718
725
cmd_add_commit () {
719
- revs=$( git rev-parse $default --revs-only " $@ " ) || exit $?
720
- set -- $revs
721
- rev=" $1 "
726
+ rev=$( git rev-parse $default --revs-only " $@ " ) || exit $?
727
+ ensure_single_rev $rev
722
728
723
729
debug " Adding $dir as '$rev '..."
724
730
git read-tree --prefix=" $dir " $rev || exit $?
@@ -817,16 +823,10 @@ cmd_split () {
817
823
}
818
824
819
825
cmd_merge () {
820
- revs=$( git rev-parse $default --revs-only " $@ " ) || exit $?
826
+ rev=$( git rev-parse $default --revs-only " $@ " ) || exit $?
827
+ ensure_single_rev $rev
821
828
ensure_clean
822
829
823
- set -- $revs
824
- if test $# -ne 1
825
- then
826
- die " You must provide exactly one revision. Got: '$revs '"
827
- fi
828
- rev=" $1 "
829
-
830
830
if test -n " $squash "
831
831
then
832
832
first_split=" $( find_latest_squash " $dir " ) "
0 commit comments