deckhand/tools/whitespace-linter.sh
Felipe Monteiro 6f86088a9a replacement: Fix update substitution source for replacement
This patchset fixes an edge case with respect to updating
substitution sources after a document has been rendered vis-a-vis
replacement.

Substitution sources only use schema/name which doesn't uniquely
identify replacement documents. Thus, an additional check is
required in `update_substitution_sources` to ensure that the
parent-replacement document doesn't overwrite data for the
child-replacement document.

Note that Deckhand prioritizes the child-replacement to be rendered
immediately after the parent-replacement document, meaning that the
child-replacement document will be the one who correctly updates
the substitution sources (which don't include parent-replacement
documents). Afterward, all other documents that reference the
parent-replacement should get the correct data.

Unit and functional tests have been added for a multi-layer
replacement scenario which regression-test the bug.

Change-Id: Ie6d921d98b7aa87e35a7aa5256cc7da2c0a256b0
2018-06-21 21:51:14 +00:00

17 lines
314 B
Bash
Executable File

#!/usr/bin/env bash
set -xe
RES=$(find . \
-not -path "*/\.*" \
-not -path "*/*.egg-info/*" \
-not -path "*/releasenotes/build/*" \
-not -path "*/doc/build/*" \
-not -name "*.tgz" \
-not -name "*.html" \
-not -name "*.pyc" \
-type f -exec egrep -l " +$" {} \;)
if [[ -n $RES ]]; then
exit 1
fi