<?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 common_saveWikiText.test.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>01e8d739c8b53aeb1d0a653331d65eb1f8394002 - refactor(changelog): persist external-edit detection on first read</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#01e8d739c8b53aeb1d0a653331d65eb1f8394002</link>
        <description>refactor(changelog): persist external-edit detection on first readThis addresses the flaky test that makes tests randomly fail (mostly onwindows runners).The flake in common_saveWikiText_test::test_savesequence5 came fromthis line in ChangeLog::getCurrentRevisionInfo():    &apos;date&apos; =&gt; max($lastRev + 1, time() - 1)The synthesized &quot;external delete&quot; entry was kept in memory only andonly persisted later, when saveWikiText next called detectExternalEdit.That meant the formula was evaluated twice on different ChangeLoginstances &#8212; once during the test&apos;s inspection, and again during thefollowing saveWikiText &#8212; and the two evaluations could pick differentseconds depending on how long the surrounding I/O took. The testcached the first result in $expectExternal and asserted it against theon-disk entry written during the second call. On the slower Windowsrunner the second call sometimes crossed a second boundary, producingthe off-by-one date mismatch.The questions I had was, why are we persisting external file deletions(or edits) only when a page is saved when we are obviously alreadydetecting it earlier during the changelog read already?Instead of recording the external delete at the time a new page iswritten, it makes sense to record it as soon as we detect it (when thechangelog is requested by a user or a bot). This will make the recodedtimestamp closer to the actual deletion.This patch refactors the changelog accordingly, but still tries to beminimal invasive (I think the changelog handling would need much morerefactoring, but that&apos;s beyond the scope of this change).To enable proper locking (when logging an external edit and copyingthe attic file), locking had to be moved to the Changelog class,duplicating some code of io_saveFile.PageFile::detectExternalEdit() and the deprecated procedural wrapperdetectExternalEdit() in inc/common.php are removed. A codesearch.dokuwiki.orgcheck confirmed no plugin calls the method directly; the only externalcaller of the procedural function is the farmsync plugin, which needsa parallel update.

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Sat, 25 Apr 2026 15:30:23 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>36784b8f1ddef00979e564c401775ae0bde57bcf - use new expectLogMessage to check condition tested in test_savesequence4()</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#36784b8f1ddef00979e564c401775ae0bde57bcf</link>
        <description>use new expectLogMessage to check condition tested in test_savesequence4()

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Wed, 27 Nov 2024 08:15:07 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>9ad2b9131dcbe90c5d256acd8f9f347b14d958fb - replace deprecated phpunit assertions</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#9ad2b9131dcbe90c5d256acd8f9f347b14d958fb</link>
        <description>replace deprecated phpunit assertions

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Mon, 25 Nov 2024 10:08:14 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>5e23cdb839ce9c70147b15b339a1a5f33571df69 - Update common_saveWikiText.test.php</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#5e23cdb839ce9c70147b15b339a1a5f33571df69</link>
        <description>Update common_saveWikiText.test.phpallow 2nd to last revision check for normal save

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Mon, 29 Nov 2021 01:48:35 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b7b9a99d2034ac5fb9d9ebc3f7143c92420f61c0 - update unittest checkChangeLogAfterNormalSave</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#b7b9a99d2034ac5fb9d9ebc3f7143c92420f61c0</link>
        <description>update unittest checkChangeLogAfterNormalSaveadd routine for &quot;save on top of external edit&quot; assertions

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Sun, 28 Nov 2021 09:19:28 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>8fb3ff96577de597f80427aa9e8e6748f7ced775 - saveWikiText() unittest 5</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#8fb3ff96577de597f80427aa9e8e6748f7ced775</link>
        <description>saveWikiText() unittest 55.1 create a page5.2 external edit5.3 edit and save5.4 delete5.5 create a page, second time5.6 externally delete5.7 create a page, third time

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Sat, 27 Nov 2021 07:28:00 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>e21f9472bdac703f74298ec8317c519f0f06d1a3 - saveWikiText() unittest 3.3</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#e21f9472bdac703f74298ec8317c519f0f06d1a3</link>
        <description>saveWikiText() unittest 3.3second to last revision check after repeated external edit

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Sat, 27 Nov 2021 07:22:18 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>92fda7f440544e5ff12a80177b0bd16fa6ef9233 - saveWikiText() unittest 4</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#92fda7f440544e5ff12a80177b0bd16fa6ef9233</link>
        <description>saveWikiText() unittest 44.1 externally create a page4.2 edit and save4.3 externally edit (file older than last rev)

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Sat, 27 Nov 2021 07:12:09 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>3c425c4333b71a561c0eb88f425fa762e66e3387 - group assertions for saveWikiText()</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#3c425c4333b71a561c0eb88f425fa762e66e3387</link>
        <description>group assertions for saveWikiText()

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Wed, 24 Nov 2021 13:06:39 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>df60c5f923d134ccd435e5655ebd17d84c424870 - Update common_saveWikiText.test.php</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#df60c5f923d134ccd435e5655ebd17d84c424870</link>
        <description>Update common_saveWikiText.test.phpgetRevisions() may return empty array when changelog file does not yet exist.

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Sat, 06 Nov 2021 09:01:13 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>3d3f60569fc9f67e7ded6b3bf3f228a57af09e9a - rewrite unit test of saveWikiText</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#3d3f60569fc9f67e7ded6b3bf3f228a57af09e9a</link>
        <description>rewrite unit test of saveWikiText

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Sat, 06 Nov 2021 08:30:51 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7866d571c1663ca5af2bcfe66b48f09d4f4e7e63 - UnitTest of pageinfo(), saveWikiText()</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#7866d571c1663ca5af2bcfe66b48f09d4f4e7e63</link>
        <description>UnitTest of pageinfo(), saveWikiText()ChangeLog creates early .change file, p_get_metadata() will get full  &quot;meta_last_change&quot; entry. The current key in the revinfo need to be excluded prior to p_set_metadata() call.

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Sun, 24 Oct 2021 06:52:34 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>e1d9dcc8b460b6f029ac9c8d5d3b8d23b6e73402 - First go at moving the plugin classes into their own namespace</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#e1d9dcc8b460b6f029ac9c8d5d3b8d23b6e73402</link>
        <description>First go at moving the plugin classes into their own namespace

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Fri, 15 Jun 2018 15:05:16 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>0c3a5702735953748f68955d51bb478538fb6eda - split changelog classes into their own namespace</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#0c3a5702735953748f68955d51bb478538fb6eda</link>
        <description>split changelog classes into their own namespaceThe remaining functions in inc/changelog.php should be moved into autility class.

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Fri, 15 Jun 2018 09:45:58 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>ea466a98bcd9ffcfa5dd4f61b8155f4626d16586 - Added more testing to ensure correct handling of delayed writes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#ea466a98bcd9ffcfa5dd4f61b8155f4626d16586</link>
        <description>Added more testing to ensure correct handling of delayed writes

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Sun, 01 Jan 2017 18:08:42 +0000</pubDate>
        <dc:creator>Michael Hamann &lt;michael@content-space.de&gt;</dc:creator>
    </item>
<item>
        <title>aaf4f55e4a232b769d7b7901f63d2343f42eed8e - use waitForTick in all our tests</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#aaf4f55e4a232b769d7b7901f63d2343f42eed8e</link>
        <description>use waitForTick in all our tests

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Thu, 01 Dec 2016 10:44:55 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
<item>
        <title>6072486de81281681338816816f1c3568ee987ce - bunch of tests for saveWikiText</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#6072486de81281681338816816f1c3568ee987ce</link>
        <description>bunch of tests for saveWikiText

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Sat, 19 Mar 2016 00:52:42 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4b5aebc14b3cb0ef994231900623500c020612ac - filesize zero cases, compressed revisions</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#4b5aebc14b3cb0ef994231900623500c020612ac</link>
        <description>filesize zero cases, compressed revisions- handle all cases where not an old file exist, or when that old file iszero size.- When using old revision normally these files are compressed, useuncompressed size.

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Fri, 18 Mar 2016 21:33:26 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>023953f040c1f54e1ec2a8c92362d4bf4afc0812 - added test for saveWikiTest()</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/inc/common_saveWikiText.test.php#023953f040c1f54e1ec2a8c92362d4bf4afc0812</link>
        <description>added test for saveWikiTest()for possible upcoming refactoring

            List of files:
            /dokuwiki/_test/tests/inc/common_saveWikiText.test.php</description>
        <pubDate>Wed, 17 Feb 2016 15:27:56 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
</channel>
</rss>
