| #!/bin/sh | 
 | # | 
 | # Copyright (c) 2006, Junio C Hamano | 
 | # | 
 |  | 
 | test_description='fmt-merge-msg test' | 
 |  | 
 | . ./test-lib.sh | 
 |  | 
 | datestamp=1151939923 | 
 | setdate () { | 
 | 	GIT_COMMITTER_DATE="$datestamp +0200" | 
 | 	GIT_AUTHOR_DATE="$datestamp +0200" | 
 | 	datestamp=`expr "$datestamp" + 1` | 
 | 	export GIT_COMMITTER_DATE GIT_AUTHOR_DATE | 
 | } | 
 |  | 
 | test_expect_success setup ' | 
 | 	echo one >one && | 
 | 	git add one && | 
 | 	setdate && | 
 | 	git commit -m "Initial" && | 
 |  | 
 | 	echo uno >one && | 
 | 	echo dos >two && | 
 | 	git add two && | 
 | 	setdate && | 
 | 	git commit -a -m "Second" && | 
 |  | 
 | 	git checkout -b left && | 
 |  | 
 | 	echo $datestamp >one && | 
 | 	setdate && | 
 | 	git commit -a -m "Common #1" && | 
 |  | 
 | 	echo $datestamp >one && | 
 | 	setdate && | 
 | 	git commit -a -m "Common #2" && | 
 |  | 
 | 	git branch right && | 
 |  | 
 | 	echo $datestamp >two && | 
 | 	setdate && | 
 | 	git commit -a -m "Left #3" && | 
 |  | 
 | 	echo $datestamp >two && | 
 | 	setdate && | 
 | 	git commit -a -m "Left #4" && | 
 |  | 
 | 	echo $datestamp >two && | 
 | 	setdate && | 
 | 	git commit -a -m "Left #5" && | 
 |  | 
 | 	git checkout right && | 
 |  | 
 | 	echo $datestamp >three && | 
 | 	git add three && | 
 | 	setdate && | 
 | 	git commit -a -m "Right #3" && | 
 |  | 
 | 	echo $datestamp >three && | 
 | 	setdate && | 
 | 	git commit -a -m "Right #4" && | 
 |  | 
 | 	echo $datestamp >three && | 
 | 	setdate && | 
 | 	git commit -a -m "Right #5" && | 
 |  | 
 | 	git show-branch | 
 | ' | 
 |  | 
 | cat >expected <<\EOF | 
 | Merge branch 'left' | 
 | EOF | 
 |  | 
 | test_expect_success 'merge-msg test #1' ' | 
 |  | 
 | 	git checkout master && | 
 | 	git fetch . left && | 
 |  | 
 | 	git fmt-merge-msg <.git/FETCH_HEAD >actual && | 
 | 	diff -u actual expected | 
 | ' | 
 |  | 
 | cat >expected <<\EOF | 
 | Merge branch 'left' of ../trash | 
 | EOF | 
 |  | 
 | test_expect_success 'merge-msg test #2' ' | 
 |  | 
 | 	git checkout master && | 
 | 	git fetch ../trash left && | 
 |  | 
 | 	git fmt-merge-msg <.git/FETCH_HEAD >actual && | 
 | 	diff -u actual expected | 
 | ' | 
 |  | 
 | cat >expected <<\EOF | 
 | Merge branch 'left' | 
 |  | 
 | * left: | 
 |   Left #5 | 
 |   Left #4 | 
 |   Left #3 | 
 |   Common #2 | 
 |   Common #1 | 
 | EOF | 
 |  | 
 | test_expect_success 'merge-msg test #3' ' | 
 |  | 
 | 	git repo-config merge.summary true && | 
 |  | 
 | 	git checkout master && | 
 | 	setdate && | 
 | 	git fetch . left && | 
 |  | 
 | 	git fmt-merge-msg <.git/FETCH_HEAD >actual && | 
 | 	diff -u actual expected | 
 | ' | 
 |  | 
 | cat >expected <<\EOF | 
 | Merge branches 'left' and 'right' | 
 |  | 
 | * left: | 
 |   Left #5 | 
 |   Left #4 | 
 |   Left #3 | 
 |   Common #2 | 
 |   Common #1 | 
 |  | 
 | * right: | 
 |   Right #5 | 
 |   Right #4 | 
 |   Right #3 | 
 |   Common #2 | 
 |   Common #1 | 
 | EOF | 
 |  | 
 | test_expect_success 'merge-msg test #4' ' | 
 |  | 
 | 	git repo-config merge.summary true && | 
 |  | 
 | 	git checkout master && | 
 | 	setdate && | 
 | 	git fetch . left right && | 
 |  | 
 | 	git fmt-merge-msg <.git/FETCH_HEAD >actual && | 
 | 	diff -u actual expected | 
 | ' | 
 |  | 
 | test_expect_success 'merge-msg test #5' ' | 
 |  | 
 | 	git repo-config merge.summary yes && | 
 |  | 
 | 	git checkout master && | 
 | 	setdate && | 
 | 	git fetch . left right && | 
 |  | 
 | 	git fmt-merge-msg <.git/FETCH_HEAD >actual && | 
 | 	diff -u actual expected | 
 | ' | 
 |  | 
 | test_done |