mirror of
https://github.com/git/git
synced 2024-11-04 16:17:49 +00:00
f60fec6a16
In Python 3.6, unrecognized escape sequences in regular expressions
started to produce a DeprecationWarning [1]. In Python 3.12, this was
upgraded to a SyntaxWarning and will eventually be raised even further
to a SyntaxError. We indirectly hit such unrecognized escape sequences
via Asciidoc, which results in a bunch of warnings:
$ asciidoc -o /dev/null git-cat-file.txt
<unknown>:1: SyntaxWarning: invalid escape sequence '\S'
<unknown>:1: SyntaxWarning: invalid escape sequence '\S'
This in turn causes our "ci/test-documentation.sh" script to fail, as it
checks that stderr of `make doc` is empty.
These escape sequences seem to be part of Asciidoc itself. In the long
term, we should probably consider dropping support for Asciidoc in favor
of Asciidoctor. Upstream also considers itself to be legacy software and
recommends to move away from it [2]:
It is suggested that unless you specifically require the AsciiDoc.py
toolchain, you should find a processor that handles the modern
AsciiDoc syntax.
For now though, let's expand its lifetime a little bit more by filtering
out these new warnings. We should probably reconsider once the warnings
are upgraded to errors by Python.
[1]: https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals
[2]: 6d9f76cff0/README.md (asciidocpy)
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
46 lines
1.2 KiB
Bash
Executable file
46 lines
1.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
#
|
|
# Perform sanity checks on documentation and build it.
|
|
#
|
|
|
|
. ${0%/*}/lib.sh
|
|
|
|
filter_log () {
|
|
sed -e '/^GIT_VERSION = /d' \
|
|
-e "/constant Gem::ConfigMap is deprecated/d" \
|
|
-e '/^ \* new asciidoc flags$/d' \
|
|
-e '/stripped namespace before processing/d' \
|
|
-e '/Attributed.*IDs for element/d' \
|
|
-e '/SyntaxWarning: invalid escape sequence/d' \
|
|
"$1"
|
|
}
|
|
|
|
make check-builtins
|
|
make check-docs
|
|
|
|
# Build docs with AsciiDoc
|
|
make doc > >(tee stdout.log) 2> >(tee stderr.raw >&2)
|
|
cat stderr.raw
|
|
filter_log stderr.raw >stderr.log
|
|
test ! -s stderr.log
|
|
test -s Documentation/git.html
|
|
test -s Documentation/git.xml
|
|
test -s Documentation/git.1
|
|
grep '<meta name="generator" content="AsciiDoc ' Documentation/git.html
|
|
|
|
rm -f stdout.log stderr.log stderr.raw
|
|
check_unignored_build_artifacts
|
|
|
|
# Build docs with AsciiDoctor
|
|
make clean
|
|
make USE_ASCIIDOCTOR=1 doc > >(tee stdout.log) 2> >(tee stderr.raw >&2)
|
|
cat stderr.raw
|
|
filter_log stderr.raw >stderr.log
|
|
test ! -s stderr.log
|
|
test -s Documentation/git.html
|
|
grep '<meta name="generator" content="Asciidoctor ' Documentation/git.html
|
|
|
|
rm -f stdout.log stderr.log stderr.raw
|
|
check_unignored_build_artifacts
|
|
|
|
save_good_tree
|