Re: Issue SVN-4767: svnadmin dump shouldn't canonicalize svn:date
From: Julian Foad <julianfoad_at_apache.org>
Date: Tue, 31 Jul 2018 14:14:32 +0100
Branko Čibej wrote on 2018-07-31:
I wasn't clear but the repository contains ".0Z" in the revprop value, explicitly set by a "propset"; the ".000000Z" line is produced by "svnadmin dump" after going through from_cstring() and to_cstring(); and the ".0Z" line is produced by "svnrdump dump" which prints the property value sent by the server (after normalizing EOLs).
> > "svnadmin dump" "canonicalizes" each svn:date revprop while dumping, in the function write_revision_record().
That's not what's happening.
> > [...] such a transformation should have been done during "svnadmin load" [...]
I'm not yet sure what "load" should do.
> > While "svnadmin dump" makes this transformation, "svnrdump dump" and "svndumpfilter" do not. This could lead to unintended differences in dump output depending on which tool is used.
In general I agree that's the right way round, but in this case I think the overriding decision is that this is a bug in "svnadmin dump" that the other utilities happen to have not copied.
> > Therefore I will remove this code path. It even has a comment saying "### Remove this when it is no longer needed for sure" which referred to being needed for pre-0.14 upgrades. We definitely no longer need that.
> It's possible
There are two kinds of change in question: changing old format to new (ISO) format, and canonicalizing details (such as number of decimal places) in an ISO format date. The only case where dump would stop producing ISO format is where the repository contains old format dates. That can't happen "naturally" because a dump-load was required between v0.14 and v1.0 (and the dump was programmed to convert the format). It could only happen if users have loaded those old-format dates in again.
Before r871212 there was no validation of svn:date value entering the repo, I think, so old-format dates could have been put in.
But if anyone put old-format dates into their repo, and even if users do currently have some tools that expect the conversion to happen, I still don't see that as a good enough reason why future 'svnadmin dump' should not read out exactly what's in there.
It also happens to be a data bug that's extremely easy to fix -- just enable revprop changes and script the propedits.
> 2. Our dumpfile format is documented. With your proposed change, there
Invalid how? I don't see the contents of svn:date documented in 'notes/dump-load-format.txt'.
> This is in effect a corollary of point 1., above. Note that
-- - JulianReceived on 2018-07-31 15:14:41 CEST
This is an archived mail posted to the Subversion Dev mailing list.