You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
965 B

#!/bin/sh
do_filename() {
desc=$1
postimage=$2
rm -fr file-creation &&
git init file-creation &&
(
cd file-creation &&
git commit --allow-empty -m init &&
echo postimage >"$postimage" &&
git add -N "$postimage" &&
git diff HEAD >"../git-$desc.diff"
) &&
rm -fr trad-modification &&
mkdir trad-modification &&
(
cd trad-modification &&
echo preimage >"$postimage.orig" &&
echo postimage >"$postimage" &&
! diff -u "$postimage.orig" "$postimage" >"../diff-$desc.diff"
) &&
rm -fr trad-creation &&
mkdir trad-creation &&
(
cd trad-creation &&
mkdir a b &&
echo postimage >"b/$postimage" &&
! diff -pruN a b >"../add-$desc.diff"
)
}
do_filename plain postimage.txt &&
do_filename 'with spaces' 'post image.txt' &&
do_filename 'with tab' 'post image.txt' &&
do_filename 'with backslash' 'post\image.txt' &&
do_filename 'with quote' '"postimage".txt' &&
expand add-plain.diff >damaged.diff ||
{
echo >&2 Failed. &&
exit 1
}