mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-06 09:41:04 +00:00
crlf: script to generate expected crlf data
Include a shell script that will generate the expected CRLF data, calling git.git to capture its output as a test resource for the current platform.
This commit is contained in:
parent
bd5e59ee72
commit
bf8c0a9b91
73
tests/generate_crlf.sh
Normal file
73
tests/generate_crlf.sh
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$1" == "" -o "$2" == "" ]; then
|
||||||
|
echo "usage: $0 crlfrepo directory [tempdir]"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
input=$1
|
||||||
|
output=$2
|
||||||
|
tempdir=$3
|
||||||
|
|
||||||
|
set -u
|
||||||
|
|
||||||
|
create_repo() {
|
||||||
|
local input=$1
|
||||||
|
local output=$2
|
||||||
|
local tempdir=$3
|
||||||
|
local systype=$4
|
||||||
|
local autocrlf=$5
|
||||||
|
local attr=$6
|
||||||
|
|
||||||
|
local worktree="${output}/${systype}/autocrlf_${autocrlf}"
|
||||||
|
|
||||||
|
if [ "$attr" != "" ]; then
|
||||||
|
local attrdir=`echo $attr | sed -e "s/ /,/g" | sed -e "s/=/_/g"`
|
||||||
|
worktree="${worktree},${attrdir}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$tempdir" = "" ]; then
|
||||||
|
local gitdir="${worktree}/.git"
|
||||||
|
else
|
||||||
|
local gitdir="${tempdir}/generate_crlf_${RANDOM}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Creating ${worktree}"
|
||||||
|
mkdir -p "${worktree}"
|
||||||
|
|
||||||
|
git clone --no-checkout --quiet --bare "${input}/.gitted" "${gitdir}"
|
||||||
|
git --work-tree="${worktree}" --git-dir="${gitdir}" config core.autocrlf ${autocrlf}
|
||||||
|
|
||||||
|
if [ "$attr" != "" ]; then
|
||||||
|
echo "* ${attr}" >> "${worktree}/.gitattributes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
git --work-tree="${worktree}" --git-dir="${gitdir}" checkout HEAD
|
||||||
|
|
||||||
|
if [ "$attr" != "" ]; then
|
||||||
|
rm "${worktree}/.gitattributes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$tempdir" != "" ]; then
|
||||||
|
rm -rf "${gitdir}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ `uname -s` == MINGW* ]]; then
|
||||||
|
systype="windows"
|
||||||
|
else
|
||||||
|
systype="posix"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for autocrlf in true false input; do
|
||||||
|
for attr in "" text text=auto -text crlf -crlf eol=lf eol=crlf \
|
||||||
|
"text eol=lf" "text eol=crlf" \
|
||||||
|
"text=auto eol=lf" "text=auto eol=crlf"; do
|
||||||
|
|
||||||
|
create_repo "${input}" "${output}" "${tempdir}" \
|
||||||
|
"${systype}" "${autocrlf}" "${attr}"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
Loading…
Reference in New Issue
Block a user