Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
This commit is contained in:
commit
1b593e1ea4
3629 changed files with 1139935 additions and 0 deletions
89
t/t4045-diff-relative.sh
Executable file
89
t/t4045-diff-relative.sh
Executable file
|
|
@ -0,0 +1,89 @@
|
|||
#!/bin/sh
|
||||
|
||||
test_description='diff --relative tests'
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success 'setup' '
|
||||
git commit --allow-empty -m empty &&
|
||||
echo content >file1 &&
|
||||
mkdir subdir &&
|
||||
echo other content >subdir/file2 &&
|
||||
blob=$(git hash-object subdir/file2) &&
|
||||
git add . &&
|
||||
git commit -m one
|
||||
'
|
||||
|
||||
check_diff () {
|
||||
dir=$1
|
||||
shift
|
||||
expect=$1
|
||||
shift
|
||||
short_blob=$(git rev-parse --short $blob)
|
||||
cat >expected <<-EOF
|
||||
diff --git a/$expect b/$expect
|
||||
new file mode 100644
|
||||
index 0000000..$short_blob
|
||||
--- /dev/null
|
||||
+++ b/$expect
|
||||
@@ -0,0 +1 @@
|
||||
+other content
|
||||
EOF
|
||||
test_expect_success "-p $*" "
|
||||
git -C '$dir' diff -p $* HEAD^ >actual &&
|
||||
test_cmp expected actual
|
||||
"
|
||||
}
|
||||
|
||||
check_numstat () {
|
||||
dir=$1
|
||||
shift
|
||||
expect=$1
|
||||
shift
|
||||
cat >expected <<-EOF
|
||||
1 0 $expect
|
||||
EOF
|
||||
test_expect_success "--numstat $*" "
|
||||
echo '1 0 $expect' >expected &&
|
||||
git -C '$dir' diff --numstat $* HEAD^ >actual &&
|
||||
test_cmp expected actual
|
||||
"
|
||||
}
|
||||
|
||||
check_stat () {
|
||||
dir=$1
|
||||
shift
|
||||
expect=$1
|
||||
shift
|
||||
cat >expected <<-EOF
|
||||
$expect | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
EOF
|
||||
test_expect_success "--stat $*" "
|
||||
git -C '$dir' diff --stat $* HEAD^ >actual &&
|
||||
test_i18ncmp expected actual
|
||||
"
|
||||
}
|
||||
|
||||
check_raw () {
|
||||
dir=$1
|
||||
shift
|
||||
expect=$1
|
||||
shift
|
||||
cat >expected <<-EOF
|
||||
:000000 100644 0000000000000000000000000000000000000000 $blob A $expect
|
||||
EOF
|
||||
test_expect_success "--raw $*" "
|
||||
git -C '$dir' diff --no-abbrev --raw $* HEAD^ >actual &&
|
||||
test_cmp expected actual
|
||||
"
|
||||
}
|
||||
|
||||
for type in diff numstat stat raw
|
||||
do
|
||||
check_$type . file2 --relative=subdir/
|
||||
check_$type . file2 --relative=subdir
|
||||
check_$type subdir file2 --relative
|
||||
check_$type . dir/file2 --relative=sub
|
||||
done
|
||||
|
||||
test_done
|
||||
Loading…
Add table
Add a link
Reference in a new issue