added -m/--message option for setting merge commit message
Jakub Suder committed
Jan 9, 2010 at 19:55 UTC
2da0969a794eac50401fd25ea072224d4378a5fe
1 file changed
+26
-4
git-subtree.sh
+26
-4
@@ -17,6 +17,7 @@ h,help show the help
17
q quiet
18
d show debug messages
19
p,prefix= the name of the subdir to split out
20
+m,message= use the given message as the commit message for the merge commit
21
options for 'split'
22
annotate= add a prefix to commit message of new commits
23
b,branch= create a new branch from the split subtree
@@ -40,6 +41,7 @@ rejoin=
41
ignore_joins=
42
annotate=
43
squash=
44
+message=
45
46
debug()
47
{
@@ -77,6 +79,7 @@ while [ $# -gt 0 ]; do
79
--no-annotate) annotate= ;;
80
-b) branch="$1"; shift ;;
81
-p) prefix="$1"; shift ;;
82
+ -m) message="$1"; shift ;;
83
--no-prefix) prefix= ;;
84
--onto) onto="$1"; shift ;;
85
--no-onto) onto= ;;
@@ -266,8 +269,13 @@ add_msg()
269
dir="$1"
270
latest_old="$2"
271
latest_new="$3"
272
+ if [ -n "$message" ]; then
273
+ commit_message="$message"
274
+ else
275
+ commit_message="Add '$dir/' from commit '$latest_new'"
276
+ fi
277
cat <<-EOF
270
- Add '$dir/' from commit '$latest_new'
278
+ $commit_message
279
280
git-subtree-dir: $dir
281
git-subtree-mainline: $latest_old
@@ -275,13 +283,27 @@ add_msg()
283
EOF
284
}
285
286
+add_squashed_msg()
287
+{
288
+ if [ -n "$message" ]; then
289
+ echo "$message"
290
+ else
291
+ echo "Merge commit '$1' as '$2'"
292
+ fi
293
+}
294
+
295
rejoin_msg()
296
{
297
dir="$1"
298
latest_old="$2"
299
latest_new="$3"
300
+ if [ -n "$message" ]; then
301
+ commit_message="$message"
302
+ else
303
+ commit_message="Split '$dir/' into commit '$latest_new'"
304
+ fi
305
cat <<-EOF
284
- Split '$dir/' into commit '$latest_new'
306
+ $message
307
308
git-subtree-dir: $dir
309
git-subtree-mainline: $latest_old
@@ -441,7 +463,7 @@ cmd_add()
463
464
if [ -n "$squash" ]; then
465
rev=$(new_squash_commit "" "" "$rev") || exit $?
444
- commit=$(echo "Merge commit '$rev' as '$dir'" |
466
+ commit=$(add_squashed_msg "$rev" "$dir" |
467
git commit-tree $tree $headp -p "$rev") || exit $?
468
else
469
commit=$(add_msg "$dir" "$headrev" "$rev" |
@@ -561,7 +583,7 @@ cmd_merge()
583
rev="$new"
584
fi
585
564
- git merge -s subtree $rev
586
+ git merge -s subtree --message="$message" $rev
587
}
588
589
cmd_pull()