summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 49cf822)
raw | patch | inline | side by side (parent: 49cf822)
author | Avery Pennarun <apenwarr@gmail.com> | |
Sun, 26 Apr 2009 21:43:53 +0000 (17:43 -0400) | ||
committer | Avery Pennarun <apenwarr@gmail.com> | |
Sun, 26 Apr 2009 21:43:53 +0000 (17:43 -0400) |
test.sh | patch | blob | history |
index 44d5da3f206eef4226b54e84dab1716da5187a8c..4e00b536d719dd8dae66d561cd716c0c60622ed7 100755 (executable)
--- a/test.sh
+++ b/test.sh
# meaningless to subproj since one side of the merge refers to the mainline)
check_equal "$(git log --pretty=format:'%s%n%b' HEAD^2 | grep 'git-subtree.*:')" ""
+# make sure no patch changes more than one file. The original set of commits
+# changed only one file each. A multi-file change would imply that we pruned
+# commits too aggressively.
+joincommits()
+{
+ echo "hello world"
+ commit=
+ all=
+ while read x y; do
+ echo "{$x}" >&2
+ if [ -z "$x" ]; then
+ continue
+ elif [ "$x" = "commit:" ]; then
+ if [ -n "$commit" ]; then
+ echo "$commit $all"
+ all=
+ fi
+ commit="$y"
+ else
+ all="$all $y"
+ fi
+ done
+ echo "$commit $all"
+}
+x=0
+git log --pretty=format:'commit: %H' | joincommits |
+( while read commit a b; do
+ echo "Verifying commit $commit"
+ check_equal "$b" ""
+ x=$(($x + 1))
+ done
+ check_equal $x 23
+) || exit 1
+
echo
echo 'ok'