NAME
Developer::Dashboard::SeedSync - md5-based content checks for staged seed files
SYNOPSIS
use Developer::Dashboard::SeedSync qw();
my $same = Developer::Dashboard::SeedSync::file_matches_content_md5(
$path,
$wanted_content,
);
DESCRIPTION
This module centralizes the content-digest checks used when Developer Dashboard decides whether built-in helper files or shipped seeded bookmark files need to be rewritten.
PURPOSE
This module provides the MD5-based content comparison helpers used when the dashboard stages private helpers and seeds starter pages. It answers the question “did the shipped managed content actually change?” without relying on external checksum tools.
WHY IT EXISTS
It exists because seed refresh and helper staging have to distinguish unchanged managed files from files that need a rewrite. Putting that digest logic in one module keeps the non-destructive bootstrap contract portable and testable.
WHEN TO USE
Use this file when changing how managed seed files are compared, when adding a new dashboard-managed asset type, or when diagnosing why init/bootstrap did or did not refresh a managed runtime file.
HOW TO USE
Call content_md5, same_content_md5, or file_matches_content_md5 before rewriting a managed file. The helpers accept either in-memory strings or an on-disk file path, so callers do not need shelling-out checksum code.
WHAT USES IT
It is used by helper staging, seeded-page refresh logic, historical managed-digest bridges, and tests that verify non-destructive managed file updates.
EXAMPLES
Example 1:
perl -Ilib -MDeveloper::Dashboard::SeedSync -e 1
Do a direct compile-and-load check against the module from a source checkout.
Example 2:
prove -lv t/04-update-manager.t t/26-sql-dashboard.t
Run the focused regression tests that most directly exercise this module's behavior.
Example 3:
HARNESS_PERL_SWITCHES=-MDevel::Cover prove -lr t
Recheck the module under the repository coverage gate rather than relying on a load-only probe.
Example 4:
prove -lr t
Put any module-level change back through the entire repository suite before release.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 80:
Non-ASCII character seen before =encoding in '“did'. Assuming UTF-8