<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in MediaChangeLogTest.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>5a285deb52b56fa567c6d217b5c396330c58f297 - fix(changelog): stop media mtime bumps from recording bogus external edits</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/ChangeLog/MediaChangeLogTest.php#5a285deb52b56fa567c6d217b5c396330c58f297</link>
        <description>fix(changelog): stop media mtime bumps from recording bogus external editsCommit 01e8d739c (&quot;persist external-edit detection on first read&quot;) began writingdetected external edits to the changelog and snapshotting the new content to theattic via saveExternalAttic(). That is correct for pages, which archive everyrevision, but wrong for media: a media file&apos;s current revision is never archived(media only copies content to the attic on replace or delete, to save space).So getCurrentRevisionInfo()&apos;s external-change detection had no attic copy of thecurrent revision to work with: the unchanged-content guard always failed and theold-size lookup returned 0. A mere mtime bump (touch, rsync --times, unzip) of anunchanged media file was therefore recorded as an external edit sized as the wholefile, and since detection is now persisted, that bogus entry (plus a redundantattic copy) became permanent.The &quot;before&quot; size of an external change is now taken through a lastRevisionSize()seam: the base reads it from the last revision&apos;s attic copy (unchanged for pages),and MediaChangeLog reconstructs it from the previous revision&apos;s archived size plusthe size change logged for the last revision. currentContentMatchesRevision()compares the current file size against that reconstructed size, so an unchangedsize is treated as a mere touch (mtime reset, no entry) and a changed size is areal external edit with the correct size change.Media no longer snapshots an external edit to the attic at all, consistent withnot archiving the current revision: it will be archived if and when the file islater replaced. The mtime repair for an unreliable external date moved to a baserepairExternalMtime() shared by pages and media.

            List of files:
            /dokuwiki/_test/tests/ChangeLog/MediaChangeLogTest.php</description>
        <pubDate>Mon, 06 Jul 2026 12:32:00 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
</channel>
</rss>
