Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The following provides a series of corrections and improvements towards this extension tracking outdated pages and managing/tracking publication information to help manage cleanup processes when only subset of pages are updated.
Part of the problem with this extension's original implementation is that lack of consideration for Sphinx's documentation cache. In most use cases, the
-E
argument was used/promoted to start with a clean environment to ensure all documents are processed and published. For uses who did not force a clean environment would see unexpected results, mainly when cleanup options were enabled. Specifically, after publishing documentation, a re-publish of new documentation with a subset of changes could make some valid-but-not-updated pages be removed.This commit should bring proper cache management to handle rebuilds and republish events. We now track a hash of the Confluence-specific configuration hash to help immediately flag pages as outdated when these entries are updated. We also now keep track of last page publish identifiers from a previous publication event. This information can be used to unflag pages that are believed to be legacy pages, ensuring up-to-date pages remain on the target Confluence instance.