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

Perl module in the Developer Dashboard codebase. This file provides reusable MD5-based content comparison helpers for runtime seed files and staged helper scripts. Open this file when you need the implementation, regression coverage, or runtime entrypoint for that responsibility rather than guessing which part of the tree owns it.

WHY IT EXISTS

It exists so dashboard init and related bootstrap paths can skip copying identical managed files without relying on shell commands or external md5 tools. Keeping the digest logic in Perl makes the copy contract portable, testable, and explicit.

WHEN TO USE

Use this file when you are deciding whether a dashboard-managed helper, seeded bookmark, or another shipped runtime file actually changed before rewriting it.

HOW TO USE

Load Developer::Dashboard::SeedSync and call content_md5, same_content_md5, or file_matches_content_md5. Use those helpers before rewriting a managed runtime file so identical files can be skipped cleanly.

WHAT USES IT

This file is used by the private helper staging path, the seeded bookmark bootstrap/update flow, and the focused regression tests under t/.

EXAMPLES

perl -Ilib -MDeveloper::Dashboard::SeedSync -e '
  print Developer::Dashboard::SeedSync::same_content_md5("a\n", "a\n") ? "same\n" : "different\n";
'

perl -Ilib -MDeveloper::Dashboard::SeedSync -e '
  print Developer::Dashboard::SeedSync::content_md5("api-dashboard\n"), "\n";
'