Deduplicate entry freshness filesystem work
This commit is contained in:
@@ -83,6 +83,16 @@ assert_marker symlink-parent symlink-marker-a
|
||||
ln -sfn "symlink-target-b.uce" "$source_dir/symlink-child.uce"
|
||||
assert_marker symlink-parent symlink-marker-b
|
||||
|
||||
# A repeated exact transitive load is signature-deduplicated before path
|
||||
# canonicalization, but the shared dependency must still invalidate the parent.
|
||||
printf '%s\n' '#ifndef UCE_DIAMOND_COMMON' '#define UCE_DIAMOND_COMMON' 'String diamond_marker() { return("diamond-a"); }' '#endif' >"$source_dir/diamond-common.uce"
|
||||
printf '%s\n' '#load "diamond-common.uce"' >"$source_dir/diamond-left.uce"
|
||||
printf '%s\n' '#load "diamond-common.uce"' >"$source_dir/diamond-right.uce"
|
||||
printf '%s\n' '#load "diamond-left.uce"' '#load "diamond-right.uce"' 'CLI(Request& context) { print(diamond_marker()); }' >"$source_dir/diamond-parent.uce"
|
||||
assert_marker diamond-parent diamond-a
|
||||
sed -i 's/diamond-a/diamond-b/' "$source_dir/diamond-common.uce"
|
||||
assert_marker diamond-parent diamond-b
|
||||
|
||||
# HTTP entry units can resolve route/components dynamically. A changed dynamic
|
||||
# component must enter the demand-priority queue just like a changed entry unit;
|
||||
# otherwise a common dependency rebuild can leave the requested page stale for
|
||||
|
||||
Reference in New Issue
Block a user