diff --git a/filters/syntax-highlighting.sh b/filters/syntax-highlighting.sh index 6283ce9..5fcc9c9 100755 --- a/filters/syntax-highlighting.sh +++ b/filters/syntax-highlighting.sh @@ -42,4 +42,32 @@ EXTENSION="${BASENAME##*.}" # map Makefile and Makefile.* to .mk [ "${BASENAME%%.*}" == "Makefile" ] && EXTENSION=mk +# highlight versions 2 and 3 have different commandline options. Specifically, +# the -X option that is used for version 2 is replaced by the -O xhtml option +# for version 3. +# +# Version 2 can be found (for example) on EPEL 5, while version 3 can be +# found (for example) on EPEL 6. +# +# This is for version 2 exec highlight --force -f -I -X -S $EXTENSION 2>/dev/null + +# This is for version 3 +# +# On CentOS 6.2 (using highlight from EPEL), when highlight doesn't know about +# an EXTENSION, it outputs a lua error and _no_ text, even when the --force +# option is used. +# +# Also see the bug reports at: +# http://sourceforge.net/tracker/?func=detail&aid=3490017&group_id=215618&atid=1034391 +# https://bugzilla.redhat.com/show_bug.cgi?id=795567 +# +# This workaround can be removed when the bug is fixed upstream and the new +# version is packaged in most distributions. +# +# The workaround is to set the extension to 'txt' (plain text) when highlight +# exits with an error (doesn't know the format). +# +#echo "test" | highlight -f -I -O xhtml -S $EXTENSION &>/dev/null +#[ ${?} -ne 0 ] && EXTENSION="txt" +#exec highlight --force -f -I -O xhtml -S $EXTENSION 2>/dev/null diff --git a/tests/setup.sh b/tests/setup.sh index b21908d..e3c6c17 100755 --- a/tests/setup.sh +++ b/tests/setup.sh @@ -22,7 +22,7 @@ mkrepo() { count=$2 dir=$PWD test -d "$name" && return - printf "Creating testrepo %s\n" $name + printf "Creating testrepo %s\n" "$name" mkdir -p "$name" cd "$name" git init @@ -41,7 +41,7 @@ mkrepo() { git commit -m "add a+b" git branch "1+2" fi - cd $dir + cd "$dir" } setup_repos() diff --git a/tests/t0108-patch.sh b/tests/t0108-patch.sh index e608104..6ee70b3 100755 --- a/tests/t0108-patch.sh +++ b/tests/t0108-patch.sh @@ -25,7 +25,7 @@ run_test 'find `cgit` signature' ' ' run_test 'find initial commit' ' - root=$(git --git-dir=$PWD/trash/repos/foo/.git rev-list HEAD | tail -1) + root=$(git --git-dir="$PWD/trash/repos/foo/.git" rev-list HEAD | tail -1) ' run_test 'generate patch for initial commit' '