mirror of
https://github.com/git/git.git
synced 2024-11-05 16:52:59 +01:00
test.sh: make sure no commit changes more than one file at a time.
This commit is contained in:
parent
49cf82288a
commit
fa16ab36ad
1 changed files with 34 additions and 0 deletions
34
test.sh
34
test.sh
|
@ -169,5 +169,39 @@ check_equal "$(git log --pretty=format:'%s' HEAD^2 | grep -i split)" ""
|
||||||
# meaningless to subproj since one side of the merge refers to the mainline)
|
# 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.*:')" ""
|
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
|
||||||
echo 'ok'
|
echo 'ok'
|
||||||
|
|
Loading…
Reference in a new issue