mirror of
https://github.com/git/git.git
synced 2024-04-28 10:55:11 +02:00
Merge branch 'bb/sh-scripts-cleanup'
Shell scripts clean-up. * bb/sh-scripts-cleanup: (22 commits) git-quiltimport: avoid an unnecessary subshell contrib/coverage-diff: avoid redundant pipelines t/t9*: merge "grep | sed" pipelines t/t8*: merge "grep | sed" pipelines t/t5*: merge a "grep | sed" pipeline t/t4*: merge a "grep | sed" pipeline t/t3*: merge a "grep | awk" pipeline t/t1*: merge a "grep | sed" pipeline t/t9*: avoid redundant uses of cat t/t8*: avoid redundant use of cat t/t7*: avoid redundant use of cat t/t6*: avoid redundant uses of cat t/t5*: avoid redundant uses of cat t/t4*: avoid redundant uses of cat t/t3*: avoid redundant uses of cat t/t1*: avoid redundant uses of cat t/t0*: avoid redundant uses of cat t/perf: avoid redundant use of cat t/annotate-tests.sh: avoid redundant use of cat t/lib-cvs.sh: avoid redundant use of cat ...
This commit is contained in:
commit
a7f0fcb335
|
@ -100,7 +100,7 @@ info "The user is: '$username'"
|
|||
|
||||
if test -f "$allowed_users_file"
|
||||
then
|
||||
rc=$(cat $allowed_users_file | grep -v '^#' | grep -v '^$' |
|
||||
rc=$(grep -Ev '^(#|$)' $allowed_users_file |
|
||||
while read heads user_patterns
|
||||
do
|
||||
# does this rule apply to us?
|
||||
|
@ -138,7 +138,7 @@ info "'$groups'"
|
|||
|
||||
if test -f "$allowed_groups_file"
|
||||
then
|
||||
rc=$(cat $allowed_groups_file | grep -v '^#' | grep -v '^$' |
|
||||
rc=$(grep -Ev '^(#|$)' $allowed_groups_file |
|
||||
while read heads group_patterns
|
||||
do
|
||||
# does this rule apply to us?
|
||||
|
|
|
@ -74,8 +74,7 @@ do
|
|||
sort >uncovered_lines.txt
|
||||
|
||||
comm -12 uncovered_lines.txt new_lines.txt |
|
||||
sed -e 's/$/\)/' |
|
||||
sed -e 's/^/ /' >uncovered_new_lines.txt
|
||||
sed -e 's/$/\)/' -e 's/^/ /' >uncovered_new_lines.txt
|
||||
|
||||
grep -q '[^[:space:]]' <uncovered_new_lines.txt &&
|
||||
echo $file >>coverage-data.txt &&
|
||||
|
@ -91,11 +90,7 @@ cat coverage-data.txt
|
|||
|
||||
echo "Commits introducing uncovered code:"
|
||||
|
||||
commit_list=$(cat coverage-data.txt |
|
||||
grep -E '^[0-9a-f]{7,} ' |
|
||||
awk '{print $1;}' |
|
||||
sort |
|
||||
uniq)
|
||||
commit_list=$(awk '/^[0-9a-f]{7,}/ { print $1 }' coverage-data.txt | sort -u)
|
||||
|
||||
(
|
||||
for commit in $commit_list
|
||||
|
|
|
@ -63,7 +63,7 @@ test_create_pre2_32_repo () {
|
|||
git -C "$1" log -1 --format=%B HEAD^2 >msg &&
|
||||
test_commit -C "$1-sub" --annotate sub2 &&
|
||||
git clone --no-local "$1" "$1-clone" &&
|
||||
new_commit=$(cat msg | sed -e "s/$commit/$tag/" | git -C "$1-clone" commit-tree HEAD^2^{tree}) &&
|
||||
new_commit=$(sed -e "s/$commit/$tag/" msg | git -C "$1-clone" commit-tree HEAD^2^{tree}) &&
|
||||
git -C "$1-clone" replace HEAD^2 $new_commit
|
||||
}
|
||||
|
||||
|
|
|
@ -148,7 +148,7 @@ do
|
|||
if [ -z "$dry_run" ] ; then
|
||||
git apply --index -C1 ${level:+"$level"} "$tmp_patch" &&
|
||||
tree=$(git write-tree) &&
|
||||
commit=$( (echo "$SUBJECT"; echo; cat "$tmp_msg") | git commit-tree $tree -p $commit) &&
|
||||
commit=$( { echo "$SUBJECT"; echo; cat "$tmp_msg"; } | git commit-tree $tree -p $commit) &&
|
||||
git update-ref -m "quiltimport: $patch_name" HEAD $commit || exit 4
|
||||
fi
|
||||
done 3<"$QUILT_SERIES"
|
||||
|
|
|
@ -532,7 +532,7 @@ test_expect_success 'blame -L :funcname with userdiff driver' '
|
|||
"$(cat file.template)" &&
|
||||
test_commit --author "B <B@test.git>" \
|
||||
"change" "$fortran_file" \
|
||||
"$(cat file.template | sed -e s/ChangeMe/IWasChanged/)" &&
|
||||
"$(sed -e s/ChangeMe/IWasChanged/ file.template)" &&
|
||||
check_count -f "$fortran_file" -L:RIGHT A 3 B 1
|
||||
'
|
||||
|
||||
|
|
|
@ -71,8 +71,8 @@ test_cmp_branch_tree () {
|
|||
find . -type d -name .git -prune -o -type f -print
|
||||
) | sort >module-git-"$1".list &&
|
||||
test_cmp module-cvs-"$1".list module-git-"$1".list &&
|
||||
cat module-cvs-"$1".list | while read f
|
||||
while read f
|
||||
do
|
||||
test_cmp_branch_file "$1" "$f" || return 1
|
||||
done
|
||||
done <module-cvs-"$1".list
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ do
|
|||
done
|
||||
|
||||
git ls-tree -r HEAD >GEN_src_list
|
||||
nr_src_files=$(cat GEN_src_list | wc -l)
|
||||
nr_src_files=$(wc -l <GEN_src_list)
|
||||
|
||||
src_branch=$(git symbolic-ref --short HEAD)
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ test_expect_success 'final setup + check rev-parse --git-dir' '
|
|||
|
||||
test_expect_success 'check hash-object' '
|
||||
echo "foo" >bar &&
|
||||
SHA=$(cat bar | git hash-object -w --stdin) &&
|
||||
SHA=$(git hash-object -w --stdin <bar) &&
|
||||
test_path_is_file "$REAL/objects/$(objpath $SHA)"
|
||||
'
|
||||
|
||||
|
|
|
@ -239,7 +239,7 @@ test_expect_success 'grow / shrink' '
|
|||
echo value40 >> expect &&
|
||||
echo size >> in &&
|
||||
echo 64 39 >> expect &&
|
||||
cat in | test-tool hashmap > out &&
|
||||
test-tool hashmap <in >out &&
|
||||
test_cmp expect out
|
||||
|
||||
'
|
||||
|
|
|
@ -131,8 +131,8 @@ do
|
|||
test_when_finished "rm -f crlf.utf${i}.raw lf.utf${i}.raw" &&
|
||||
test_when_finished "git reset --hard HEAD^" &&
|
||||
|
||||
cat lf.utf8.raw | write_utf${i} >lf.utf${i}.raw &&
|
||||
cat crlf.utf8.raw | write_utf${i} >crlf.utf${i}.raw &&
|
||||
write_utf${i} <lf.utf8.raw >lf.utf${i}.raw &&
|
||||
write_utf${i} <crlf.utf8.raw >crlf.utf${i}.raw &&
|
||||
cp crlf.utf${i}.raw eol.utf${i} &&
|
||||
|
||||
cat >expectIndexLF <<-EOF &&
|
||||
|
|
|
@ -82,7 +82,7 @@ test_expect_success GETTEXT_ISO_LOCALE 'gettext.c: git init UTF-8 -> ISO-8859-1'
|
|||
printf "Bjó til tóma Git lind" >expect &&
|
||||
LANGUAGE=is LC_ALL="$is_IS_iso_locale" git init repo >actual &&
|
||||
test_when_finished "rm -rf repo" &&
|
||||
grep "^$(cat expect | iconv -f UTF-8 -t ISO8859-1) " actual
|
||||
grep "^$(iconv -f UTF-8 -t ISO8859-1 <expect) " actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
|
|
@ -124,8 +124,8 @@ test_expect_success 'check that appropriate filter is invoke when --path is used
|
|||
path0_sha=$(git hash-object --path=file0 file1) &&
|
||||
test "$file0_sha" = "$path0_sha" &&
|
||||
test "$file1_sha" = "$path1_sha" &&
|
||||
path1_sha=$(cat file0 | git hash-object --path=file1 --stdin) &&
|
||||
path0_sha=$(cat file1 | git hash-object --path=file0 --stdin) &&
|
||||
path1_sha=$(git hash-object --path=file1 --stdin <file0) &&
|
||||
path0_sha=$(git hash-object --path=file0 --stdin <file1) &&
|
||||
test "$file0_sha" = "$path0_sha" &&
|
||||
test "$file1_sha" = "$path1_sha"
|
||||
'
|
||||
|
@ -154,7 +154,7 @@ test_expect_success '--path works in a subdirectory' '
|
|||
test_expect_success 'check that --no-filters option works' '
|
||||
nofilters_file1=$(git hash-object --no-filters file1) &&
|
||||
test "$file0_sha" = "$nofilters_file1" &&
|
||||
nofilters_file1=$(cat file1 | git hash-object --stdin) &&
|
||||
nofilters_file1=$(git hash-object --stdin <file1) &&
|
||||
test "$file0_sha" = "$nofilters_file1"
|
||||
'
|
||||
|
||||
|
|
|
@ -968,7 +968,7 @@ test_expect_success 'check-rules non-cone mode' '
|
|||
git -C bare sparse-checkout check-rules --no-cone --rules-file ../rules\
|
||||
>check-rules-file <all-files &&
|
||||
|
||||
cat rules | git -C repo sparse-checkout set --no-cone --stdin &&
|
||||
git -C repo sparse-checkout set --no-cone --stdin <rules &&
|
||||
git -C repo ls-files -t >out &&
|
||||
sed -n "/^S /!s/^. //p" out >ls-files &&
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ rsync --exclude-from t/t1509/excludes -Ha . "$R$(pwd)"
|
|||
# env might slip through, see test-lib.sh, unset.*PERL_PATH
|
||||
sed 's|^PERL_PATH=.*|PERL_PATH=/bin/true|' GIT-BUILD-OPTIONS > "$R$(pwd)/GIT-BUILD-OPTIONS"
|
||||
for cmd in git $BB;do
|
||||
ldd $cmd | grep '/' | sed 's,.*\s\(/[^ ]*\).*,\1,' | while read i; do
|
||||
ldd $cmd | sed -n '/\//s,.*\s\(/[^ ]*\).*,\1,p' | while read i; do
|
||||
mkdir -p "$R$(dirname $i)"
|
||||
cp "$i" "$R/$i"
|
||||
done
|
||||
|
|
|
@ -576,7 +576,7 @@ EOF
|
|||
|
||||
# ...and that the comments for those sections are also
|
||||
# preserved.
|
||||
cat config.branch | sed "s/\"source\"/\"dest\"/" >expect &&
|
||||
sed "s/\"source\"/\"dest\"/" config.branch >expect &&
|
||||
sed -n -e "/Note the lack/,\$p" .git/config >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
|
|
@ -442,7 +442,7 @@ test_expect_success 'add note by specifying "-C", "--no-stripspace" is the defau
|
|||
${LF}
|
||||
EOF
|
||||
|
||||
cat expect | git hash-object -w --stdin >blob &&
|
||||
git hash-object -w --stdin <expect >blob &&
|
||||
git notes add -C $(cat blob) &&
|
||||
git notes show >actual &&
|
||||
test_cmp expect actual &&
|
||||
|
@ -468,7 +468,7 @@ test_expect_success 'reuse note by specifying "-C" and "--stripspace"' '
|
|||
second-line
|
||||
EOF
|
||||
|
||||
cat data | git hash-object -w --stdin >blob &&
|
||||
git hash-object -w --stdin <data >blob &&
|
||||
git notes add --stripspace -C $(cat blob) &&
|
||||
git notes show >actual &&
|
||||
test_cmp expect actual
|
||||
|
@ -492,7 +492,7 @@ test_expect_success 'reuse with "-C" and add note with "-m", "-m" will stripspac
|
|||
third-line
|
||||
EOF
|
||||
|
||||
cat data | git hash-object -w --stdin >blob &&
|
||||
git hash-object -w --stdin <data >blob &&
|
||||
git notes add -C $(cat blob) -m "third-line" &&
|
||||
git notes show >actual &&
|
||||
test_cmp expect actual
|
||||
|
@ -511,7 +511,7 @@ test_expect_success 'add note with "-m" and reuse note with "-C", "-C" will not
|
|||
second-line
|
||||
EOF
|
||||
|
||||
cat data | git hash-object -w --stdin >blob &&
|
||||
git hash-object -w --stdin <data >blob &&
|
||||
git notes add -m "first-line" -C $(cat blob) &&
|
||||
git notes show >actual &&
|
||||
test_cmp expect actual
|
||||
|
|
|
@ -10,7 +10,7 @@ LIB_CRLF_BRANCHES=""
|
|||
create_crlf_ref () {
|
||||
branch="$1" &&
|
||||
cat >.crlf-orig-$branch.txt &&
|
||||
cat .crlf-orig-$branch.txt | append_cr >.crlf-message-$branch.txt &&
|
||||
append_cr <.crlf-orig-$branch.txt >.crlf-message-$branch.txt &&
|
||||
grep 'Subject' .crlf-orig-$branch.txt | tr '\n' ' ' | sed 's/[ ]*$//' | tr -d '\n' >.crlf-subject-$branch.txt &&
|
||||
grep 'Body' .crlf-orig-$branch.txt | append_cr >.crlf-body-$branch.txt &&
|
||||
LIB_CRLF_BRANCHES="${LIB_CRLF_BRANCHES} ${branch}" &&
|
||||
|
@ -97,7 +97,7 @@ test_expect_success 'branch: --verbose works with messages using CRLF' '
|
|||
git branch -v >tmp &&
|
||||
# Remove first two columns, and the line for the currently checked out branch
|
||||
current=$(git branch --show-current) &&
|
||||
grep -v $current <tmp | awk "{\$1=\$2=\"\"}1" >actual &&
|
||||
awk "/$current/ { next } { \$1 = \$2 = \"\" } 1" <tmp >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
|
|
|
@ -405,7 +405,7 @@ test_expect_success 'diff-tree -r B A == diff-tree -r -R A B' '
|
|||
|
||||
test_expect_success 'diff can read from stdin' '
|
||||
test_must_fail git diff --no-index -- MN - < NN |
|
||||
grep -v "^index" | sed "s#/-#/NN#" >.test-a &&
|
||||
sed "/^index/d; s#/-#/NN#" >.test-a &&
|
||||
test_must_fail git diff --no-index -- MN NN |
|
||||
grep -v "^index" >.test-b &&
|
||||
test_cmp .test-a .test-b
|
||||
|
|
|
@ -232,7 +232,7 @@ keep_only_cr () {
|
|||
test_expect_success 'external diff with autocrlf = true' '
|
||||
test_config core.autocrlf true &&
|
||||
GIT_EXTERNAL_DIFF=./fake-diff.sh git diff &&
|
||||
test $(wc -l < crlfed.txt) = $(cat crlfed.txt | keep_only_cr | wc -c)
|
||||
test $(wc -l <crlfed.txt) = $(keep_only_cr <crlfed.txt | wc -c)
|
||||
'
|
||||
|
||||
test_expect_success 'diff --cached' '
|
||||
|
|
|
@ -156,7 +156,7 @@ test_expect_success 'NUL termination with --reflog --pretty=oneline' '
|
|||
for r in $revs
|
||||
do
|
||||
git show -s --pretty=oneline "$r" >raw &&
|
||||
cat raw | lf_to_nul || return 1
|
||||
lf_to_nul <raw || return 1
|
||||
done >expect &&
|
||||
# the trailing NUL is already produced so we do not need to
|
||||
# output another one
|
||||
|
|
|
@ -313,7 +313,7 @@ test_expect_success 'rename/add handling' '
|
|||
# First, check that the bar that appears at stage 3 does not
|
||||
# correspond to an individual blob anywhere in history
|
||||
#
|
||||
hash=$(cat out | tr "\0" "\n" | head -n 3 | grep 3.bar | cut -f 2 -d " ") &&
|
||||
hash=$(tr "\0" "\n" <out | head -n 3 | grep 3.bar | cut -f 2 -d " ") &&
|
||||
git rev-list --objects --all >all_blobs &&
|
||||
! grep $hash all_blobs &&
|
||||
|
||||
|
@ -380,7 +380,7 @@ test_expect_success SYMLINKS 'rename/add, where add is a mode conflict' '
|
|||
# First, check that the bar that appears at stage 3 does not
|
||||
# correspond to an individual blob anywhere in history
|
||||
#
|
||||
hash=$(cat out | tr "\0" "\n" | head -n 3 | grep 3.bar | cut -f 2 -d " ") &&
|
||||
hash=$(tr "\0" "\n" <out | head -n 3 | grep 3.bar | cut -f 2 -d " ") &&
|
||||
git rev-list --objects --all >all_blobs &&
|
||||
! grep $hash all_blobs &&
|
||||
|
||||
|
@ -630,8 +630,8 @@ test_expect_success 'mod6: chains of rename/rename(1to2) and add/add via collidi
|
|||
# conflict entries do not appear as individual blobs anywhere
|
||||
# in history.
|
||||
#
|
||||
hash1=$(cat out | tr "\0" "\n" | head | grep 2.four | cut -f 2 -d " ") &&
|
||||
hash2=$(cat out | tr "\0" "\n" | head | grep 3.two | cut -f 2 -d " ") &&
|
||||
hash1=$(tr "\0" "\n" <out | head | grep 2.four | cut -f 2 -d " ") &&
|
||||
hash2=$(tr "\0" "\n" <out | head | grep 3.two | cut -f 2 -d " ") &&
|
||||
git rev-list --objects --all >all_blobs &&
|
||||
! grep $hash1 all_blobs &&
|
||||
! grep $hash2 all_blobs &&
|
||||
|
|
|
@ -70,7 +70,7 @@ test_expect_success 'respect NULs' '
|
|||
|
||||
git mailsplit -d3 -o. "$DATA/nul-plain" &&
|
||||
test_cmp "$DATA/nul-plain" 001 &&
|
||||
(cat 001 | git mailinfo msg patch) &&
|
||||
git mailinfo msg patch <001 &&
|
||||
test_line_count = 4 patch
|
||||
|
||||
'
|
||||
|
|
|
@ -455,7 +455,7 @@ test_expect_success 'setup r1 - delete loose blobs' '
|
|||
test_parse_ls_files_stage_oids <ls_files_result |
|
||||
sort >expected &&
|
||||
|
||||
for id in `cat expected | sed "s|..|&/|"`
|
||||
for id in `sed "s|..|&/|" expected`
|
||||
do
|
||||
rm r1/.git/objects/$id || return 1
|
||||
done
|
||||
|
|
|
@ -123,7 +123,7 @@ remote: STDOUT post-update
|
|||
remote: STDERR post-update
|
||||
EOF
|
||||
test_expect_success 'send-pack stderr contains hook messages' '
|
||||
grep ^remote: send.err | sed "s/ *\$//" >actual &&
|
||||
sed -n "/^remote:/s/ *\$//p" send.err >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
|
|
|
@ -303,7 +303,7 @@ test_expect_success GPGSM 'fail without key and heed user.signingkey x509' '
|
|||
EOF
|
||||
sed -n -e "s/^nonce /NONCE=/p" -e "/^$/q" dst/push-cert
|
||||
) >expect.in &&
|
||||
key=$(cat "${GNUPGHOME}/trustlist.txt" | cut -d" " -f1 | tr -d ":") &&
|
||||
key=$(cut -d" " -f1 <"${GNUPGHOME}/trustlist.txt" | tr -d ":") &&
|
||||
sed -e "s/^KEY=/KEY=${key}/" expect.in >expect &&
|
||||
|
||||
noop=$(git rev-parse noop) &&
|
||||
|
|
|
@ -670,7 +670,7 @@ test_expect_success 'rev-list W/ --missing=print' '
|
|||
awk -f print_2.awk ls_files_result |
|
||||
sort >expected &&
|
||||
|
||||
for id in `cat expected | sed "s|..|&/|"`
|
||||
for id in `sed "s|..|&/|" expected`
|
||||
do
|
||||
rm r1/.git/objects/$id || return 1
|
||||
done &&
|
||||
|
|
|
@ -34,14 +34,14 @@ test_expect_success setup '
|
|||
test_expect_success 'Check "ours" is CRLF' '
|
||||
git reset --hard initial &&
|
||||
git merge side -s ours &&
|
||||
cat file | remove_cr | append_cr >file.temp &&
|
||||
remove_cr <file | append_cr >file.temp &&
|
||||
test_cmp file file.temp
|
||||
'
|
||||
|
||||
test_expect_success 'Check that conflict file is CRLF' '
|
||||
git reset --hard a &&
|
||||
test_must_fail git merge side &&
|
||||
cat file | remove_cr | append_cr >file.temp &&
|
||||
remove_cr <file | append_cr >file.temp &&
|
||||
test_cmp file file.temp
|
||||
'
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ test_expect_success '--expire-to stores pruned objects (now)' '
|
|||
# ...in other words, the combined contents of this
|
||||
# repository and expired.git should be the same as the
|
||||
# set of objects we started with.
|
||||
cat expired.objects remaining.objects | sort >actual &&
|
||||
sort expired.objects remaining.objects >actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
# The "moved" objects (i.e., those in expired.git)
|
||||
|
|
|
@ -43,7 +43,7 @@ test_expect_success 'cat-file --textconv --path=<path> works' '
|
|||
sha1=$(git rev-parse -q --verify HEAD:world.txt) &&
|
||||
test_config diff.txt.textconv "tr A-Za-z N-ZA-Mn-za-m <" &&
|
||||
git cat-file --textconv --path=hello.txt $sha1 >rot13 &&
|
||||
test uryyb = "$(cat rot13 | remove_cr)"
|
||||
test uryyb = "$(remove_cr <rot13)"
|
||||
'
|
||||
|
||||
test_expect_success '--path=<path> complains without --textconv/--filters' '
|
||||
|
|
|
@ -25,11 +25,11 @@ test_expect_success setup '
|
|||
|
||||
git blame --line-porcelain file >blame_raw &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 1/s/ .*//p" blame_raw >actual &&
|
||||
git rev-parse X >expect &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 2" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 2/s/ .*//p" blame_raw >actual &&
|
||||
git rev-parse X >expect &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
@ -53,11 +53,11 @@ do
|
|||
test_expect_success "ignore_rev_changing_lines ($I)" '
|
||||
git blame --line-porcelain --ignore-rev $I file >blame_raw &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 1/s/ .*//p" blame_raw >actual &&
|
||||
git rev-parse A >expect &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 2" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 2/s/ .*//p" blame_raw >actual &&
|
||||
git rev-parse B >expect &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
@ -79,10 +79,10 @@ test_expect_success ignore_rev_adding_unblamable_lines '
|
|||
git rev-parse Y >expect &&
|
||||
git blame --line-porcelain file --ignore-rev Y >blame_raw &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 3" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 3/s/ .*//p" blame_raw >actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 4" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 4/s/ .*//p" blame_raw >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
|
@ -92,11 +92,11 @@ test_expect_success ignore_revs_from_files '
|
|||
git rev-parse Y >ignore_y &&
|
||||
git blame --line-porcelain file --ignore-revs-file ignore_x --ignore-revs-file ignore_y >blame_raw &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 1/s/ .*//p" blame_raw >actual &&
|
||||
git rev-parse A >expect &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 2" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 2/s/ .*//p" blame_raw >actual &&
|
||||
git rev-parse B >expect &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
@ -106,11 +106,11 @@ test_expect_success ignore_revs_from_configs_and_files '
|
|||
git config --add blame.ignoreRevsFile ignore_x &&
|
||||
git blame --line-porcelain file --ignore-revs-file ignore_y >blame_raw &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 1/s/ .*//p" blame_raw >actual &&
|
||||
git rev-parse A >expect &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 2" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 2/s/ .*//p" blame_raw >actual &&
|
||||
git rev-parse B >expect &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
@ -121,10 +121,10 @@ test_expect_success override_ignore_revs_file '
|
|||
git blame --line-porcelain file --ignore-revs-file "" --ignore-revs-file ignore_y >blame_raw &&
|
||||
git rev-parse X >expect &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 1/s/ .*//p" blame_raw >actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 2" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 2/s/ .*//p" blame_raw >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
test_expect_success bad_files_and_revs '
|
||||
|
@ -279,11 +279,11 @@ test_expect_success ignore_merge '
|
|||
test_merge M B &&
|
||||
git blame --line-porcelain file --ignore-rev M >blame_raw &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 1/s/ .*//p" blame_raw >actual &&
|
||||
git rev-parse B >expect &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
grep -E "^[0-9a-f]+ [0-9]+ 9" blame_raw | sed -e "s/ .*//" >actual &&
|
||||
sed -ne "/^[0-9a-f][0-9a-f]* [0-9][0-9]* 9/s/ .*//p" blame_raw >actual &&
|
||||
git rev-parse C >expect &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
|
|
@ -38,7 +38,7 @@ test_expect_success 'setup svnrepo' '
|
|||
# SVN 1.7 will truncate "not-a%40{0]" to just "not-a".
|
||||
# Look at what SVN wound up naming the branch and use that.
|
||||
# Be sure to escape the @ if it shows up.
|
||||
non_reflog=$(svn_cmd ls "$svnrepo/pr ject/branches" | grep not-a | sed 's/\///' | sed 's/@/%40/')
|
||||
non_reflog=$(svn_cmd ls "$svnrepo/pr ject/branches" | sed -ne '/not-a/ { s/\///; s/@/%40/; p }')
|
||||
|
||||
test_expect_success 'test clone with funky branch names' '
|
||||
git svn clone -s "$svnrepo/pr ject" project &&
|
||||
|
|
|
@ -986,7 +986,7 @@ test_expect_success 'L: nested tree copy does not corrupt deltas' '
|
|||
test_when_finished "git update-ref -d refs/heads/L2" &&
|
||||
git fast-import <input &&
|
||||
git ls-tree L2 g/b/ >tmp &&
|
||||
cat tmp | cut -f 2 >actual &&
|
||||
cut -f 2 <tmp >actual &&
|
||||
test_cmp expect actual &&
|
||||
git fsck $(git rev-parse L2)
|
||||
'
|
||||
|
@ -2007,12 +2007,11 @@ test_expect_success 'Q: verify first notes commit' '
|
|||
'
|
||||
|
||||
test_expect_success 'Q: verify first notes tree' '
|
||||
cat >expect.unsorted <<-EOF &&
|
||||
sort >expect <<-EOF &&
|
||||
100644 blob $commit1
|
||||
100644 blob $commit2
|
||||
100644 blob $commit3
|
||||
EOF
|
||||
cat expect.unsorted | sort >expect &&
|
||||
git cat-file -p refs/notes/foobar~2^{tree} | sed "s/ [0-9a-f]* / /" >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
@ -2048,12 +2047,11 @@ test_expect_success 'Q: verify second notes commit' '
|
|||
'
|
||||
|
||||
test_expect_success 'Q: verify second notes tree' '
|
||||
cat >expect.unsorted <<-EOF &&
|
||||
sort >expect <<-EOF &&
|
||||
100644 blob $commit1
|
||||
100644 blob $commit2
|
||||
100644 blob $commit3
|
||||
EOF
|
||||
cat expect.unsorted | sort >expect &&
|
||||
git cat-file -p refs/notes/foobar^^{tree} | sed "s/ [0-9a-f]* / /" >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
@ -2088,10 +2086,9 @@ test_expect_success 'Q: verify third notes commit' '
|
|||
'
|
||||
|
||||
test_expect_success 'Q: verify third notes tree' '
|
||||
cat >expect.unsorted <<-EOF &&
|
||||
sort >expect <<-EOF &&
|
||||
100644 blob $commit1
|
||||
EOF
|
||||
cat expect.unsorted | sort >expect &&
|
||||
git cat-file -p refs/notes/foobar2^{tree} | sed "s/ [0-9a-f]* / /" >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
@ -2115,10 +2112,9 @@ test_expect_success 'Q: verify fourth notes commit' '
|
|||
'
|
||||
|
||||
test_expect_success 'Q: verify fourth notes tree' '
|
||||
cat >expect.unsorted <<-EOF &&
|
||||
sort >expect <<-EOF &&
|
||||
100644 blob $commit2
|
||||
EOF
|
||||
cat expect.unsorted | sort >expect &&
|
||||
git cat-file -p refs/notes/foobar^{tree} | sed "s/ [0-9a-f]* / /" >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
|
|
@ -236,7 +236,7 @@ EOF
|
|||
|
||||
test_expect_success 'set up faked signed tag' '
|
||||
|
||||
cat signed-tag-import | git fast-import
|
||||
git fast-import <signed-tag-import
|
||||
|
||||
'
|
||||
|
||||
|
@ -537,7 +537,7 @@ test_expect_success 'full-tree re-shows unmodified files' '
|
|||
|
||||
test_expect_success 'set-up a few more tags for tag export tests' '
|
||||
git checkout -f main &&
|
||||
HEAD_TREE=$(git show -s --pretty=raw HEAD | grep tree | sed "s/tree //") &&
|
||||
HEAD_TREE=$(git show -s --pretty=raw HEAD | sed -n "/tree/s/tree //p") &&
|
||||
git tag tree_tag -m "tagging a tree" $HEAD_TREE &&
|
||||
git tag -a tree_tag-obj -m "tagging a tree" $HEAD_TREE &&
|
||||
git tag tag-obj_tag -m "tagging a tag" tree_tag-obj &&
|
||||
|
|
|
@ -117,12 +117,12 @@ END VERIFICATION REQUEST
|
|||
EOF
|
||||
|
||||
test_expect_success 'pserver authentication' '
|
||||
cat request-anonymous | git-cvsserver pserver >log 2>&1 &&
|
||||
git-cvsserver pserver <request-anonymous >log 2>&1 &&
|
||||
sed -ne \$p log | grep "^I LOVE YOU\$"
|
||||
'
|
||||
|
||||
test_expect_success 'pserver authentication failure (non-anonymous user)' '
|
||||
if cat request-git | git-cvsserver pserver >log 2>&1
|
||||
if git-cvsserver pserver <request-git >log 2>&1
|
||||
then
|
||||
false
|
||||
else
|
||||
|
@ -132,17 +132,17 @@ test_expect_success 'pserver authentication failure (non-anonymous user)' '
|
|||
'
|
||||
|
||||
test_expect_success 'pserver authentication success (non-anonymous user with password)' '
|
||||
cat login-git-ok | git-cvsserver pserver >log 2>&1 &&
|
||||
git-cvsserver pserver <login-git-ok >log 2>&1 &&
|
||||
sed -ne \$p log | grep "^I LOVE YOU\$"
|
||||
'
|
||||
|
||||
test_expect_success 'pserver authentication (login)' '
|
||||
cat login-anonymous | git-cvsserver pserver >log 2>&1 &&
|
||||
git-cvsserver pserver <login-anonymous >log 2>&1 &&
|
||||
sed -ne \$p log | grep "^I LOVE YOU\$"
|
||||
'
|
||||
|
||||
test_expect_success 'pserver authentication failure (login/non-anonymous user)' '
|
||||
if cat login-git | git-cvsserver pserver >log 2>&1
|
||||
if git-cvsserver pserver <login-git >log 2>&1
|
||||
then
|
||||
false
|
||||
else
|
||||
|
@ -172,7 +172,7 @@ Root $WORKDIR
|
|||
EOF
|
||||
|
||||
test_expect_success 'req_Root failure (relative pathname)' '
|
||||
if cat request-relative | git-cvsserver pserver >log 2>&1
|
||||
if git-cvsserver pserver <request-relative >log 2>&1
|
||||
then
|
||||
echo unexpected success
|
||||
false
|
||||
|
@ -183,28 +183,26 @@ test_expect_success 'req_Root failure (relative pathname)' '
|
|||
'
|
||||
|
||||
test_expect_success 'req_Root failure (conflicting roots)' '
|
||||
cat request-conflict | git-cvsserver pserver >log 2>&1 &&
|
||||
git-cvsserver pserver <request-conflict >log 2>&1 &&
|
||||
tail log | grep "^error 1 Conflicting roots specified$"
|
||||
'
|
||||
|
||||
test_expect_success 'req_Root (strict paths)' '
|
||||
cat request-anonymous | git-cvsserver --strict-paths pserver "$SERVERDIR" >log 2>&1 &&
|
||||
git-cvsserver --strict-paths pserver "$SERVERDIR" <request-anonymous >log 2>&1 &&
|
||||
sed -ne \$p log | grep "^I LOVE YOU\$"
|
||||
'
|
||||
|
||||
test_expect_success 'req_Root failure (strict-paths)' '
|
||||
! cat request-anonymous |
|
||||
git-cvsserver --strict-paths pserver "$WORKDIR" >log 2>&1
|
||||
! git-cvsserver --strict-paths pserver "$WORKDIR" <request-anonymous >log 2>&1
|
||||
'
|
||||
|
||||
test_expect_success 'req_Root (w/o strict-paths)' '
|
||||
cat request-anonymous | git-cvsserver pserver "$WORKDIR/" >log 2>&1 &&
|
||||
git-cvsserver pserver "$WORKDIR/" <request-anonymous >log 2>&1 &&
|
||||
sed -ne \$p log | grep "^I LOVE YOU\$"
|
||||
'
|
||||
|
||||
test_expect_success 'req_Root failure (w/o strict-paths)' '
|
||||
! cat request-anonymous |
|
||||
git-cvsserver pserver "$WORKDIR/gitcvs" >log 2>&1
|
||||
! git-cvsserver pserver "$WORKDIR/gitcvs" <request-anonymous >log 2>&1
|
||||
'
|
||||
|
||||
cat >request-base <<EOF
|
||||
|
@ -217,27 +215,26 @@ Root /gitcvs.git
|
|||
EOF
|
||||
|
||||
test_expect_success 'req_Root (base-path)' '
|
||||
cat request-base | git-cvsserver --strict-paths --base-path "$WORKDIR/" pserver "$SERVERDIR" >log 2>&1 &&
|
||||
git-cvsserver --strict-paths --base-path "$WORKDIR/" pserver "$SERVERDIR" <request-base >log 2>&1 &&
|
||||
sed -ne \$p log | grep "^I LOVE YOU\$"
|
||||
'
|
||||
|
||||
test_expect_success 'req_Root failure (base-path)' '
|
||||
! cat request-anonymous |
|
||||
git-cvsserver --strict-paths --base-path "$WORKDIR" pserver "$SERVERDIR" >log 2>&1
|
||||
! git-cvsserver --strict-paths --base-path "$WORKDIR" pserver "$SERVERDIR" <request-anonymous >log 2>&1
|
||||
'
|
||||
|
||||
GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled false || exit 1
|
||||
|
||||
test_expect_success 'req_Root (export-all)' '
|
||||
cat request-anonymous | git-cvsserver --export-all pserver "$WORKDIR" >log 2>&1 &&
|
||||
git-cvsserver --export-all pserver "$WORKDIR" <request-anonymous >log 2>&1 &&
|
||||
sed -ne \$p log | grep "^I LOVE YOU\$"
|
||||
'
|
||||
|
||||
test_expect_success 'req_Root failure (export-all w/o directory list)' '
|
||||
! (cat request-anonymous | git-cvsserver --export-all pserver >log 2>&1 || false)'
|
||||
! (git-cvsserver --export-all pserver <request-anonymous >log 2>&1 || false)'
|
||||
|
||||
test_expect_success 'req_Root (everything together)' '
|
||||
cat request-base | git-cvsserver --export-all --strict-paths --base-path "$WORKDIR/" pserver "$SERVERDIR" >log 2>&1 &&
|
||||
git-cvsserver --export-all --strict-paths --base-path "$WORKDIR/" pserver "$SERVERDIR" <request-base >log 2>&1 &&
|
||||
sed -ne \$p log | grep "^I LOVE YOU\$"
|
||||
'
|
||||
|
||||
|
|
|
@ -175,7 +175,7 @@ test_expect_success 'keyword file create' '
|
|||
cp k-text-k k-text-ko &&
|
||||
p4 add -t text+ko k-text-ko &&
|
||||
|
||||
cat k-text-k | iconv -f ascii -t utf-16 >k-utf16-k &&
|
||||
iconv -f ascii -t utf-16 <k-text-k >k-utf16-k &&
|
||||
p4 add -t utf16+k k-utf16-k &&
|
||||
|
||||
cp k-utf16-k k-utf16-ko &&
|
||||
|
|
|
@ -418,7 +418,7 @@ test_expect_success 'description with Jobs and values on separate lines' '
|
|||
marshal_dump job0 <change &&
|
||||
marshal_dump job1 <change
|
||||
) | sort >jobs &&
|
||||
cat jobname1 jobname2 | sort >expected &&
|
||||
sort jobname1 jobname2 >expected &&
|
||||
test_cmp expected jobs
|
||||
)
|
||||
'
|
||||
|
|
|
@ -17,8 +17,8 @@ test_file_in_lfs () {
|
|||
sed -n '2,2 p' "$FILE" | grep "^oid " &&
|
||||
sed -n '3,3 p' "$FILE" | grep "^size " &&
|
||||
test_line_count = 3 "$FILE" &&
|
||||
cat "$FILE" | grep "size $SIZE" &&
|
||||
HASH=$(cat "$FILE" | grep "oid sha256:" | sed -e "s/oid sha256://g") &&
|
||||
grep "size $SIZE" "$FILE" &&
|
||||
HASH=$(sed -ne "/oid sha256:/s/oid sha256://gp" "$FILE") &&
|
||||
LFS_FILE=".git/lfs/objects/$(echo "$HASH" | cut -c1-2)/$(echo "$HASH" | cut -c3-4)/$HASH" &&
|
||||
echo $EXPECTED_CONTENT >expect &&
|
||||
test_path_is_file "$FILE" &&
|
||||
|
|
Loading…
Reference in New Issue