On Apr 14, 2009, at 12:43 PM, Greg Stein wrote:
> On Tue, Apr 14, 2009 at 19:19, Hyrum K. Wright
> <hyrum_at_hyrumwright.org> wrote:
>> ...
>> +++ trunk/subversion/libsvn_wc/log.c Tue Apr 14 10:19:44
>> 2009 (r37259)
>> ...
>> @@ -1496,14 +1490,13 @@ log_do_upgrade_format(struct log_runner
>> /* Remove the .svn/format file, if it exists. */
>> svn_error_clear(svn_io_remove_file(path, loggy->pool));
>>
>> - /* The nice thing is that, just by setting this flag, the
>> entries file will
>> - be rewritten in the desired format. */
>> - loggy->entries_modified = TRUE;
>> -
>> /* Reading the entries file will support old formats, even if
>> this number
>> is updated. */
>> SVN_ERR(svn_wc__adm_set_wc_format(fmt, loggy->adm_access, loggy-
>> >pool));
>>
>> + SVN_ERR(svn_wc_entries_read(&entries, loggy->adm_access, TRUE,
>> loggy->pool));
>> + SVN_ERR(svn_wc__entries_write(entries, loggy->adm_access, loggy-
>> >pool));
>
> Might be safer to read the entries *first*, set the format, then write
> the entries. I doubt it will happen, but we don't want that read() to
> reset the format to what was found in the WC.
I can't comment on what would be "safer", but I will note that the
"reset format-read entries-write entries" method of upgrading is what
we've been doing all along. It's just been hidden by the way loggy
works and the entries_modified flag.
> Better yet: one function to do the above.
Eh, possibly, but I hope to rework this entire section at some point
to do proper upgrading.
-Hyrum
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1713911
Received on 2009-04-14 19:51:38 CEST