Re: No no-op changes
From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Mon, 22 Sep 2014 17:47:51 +0100
Thanks for the additional examples of the inconsistencies, Philip and Daniel.
Daniel Shahaf wrote:
Right -- I presume the client then commits a no-op change for file 'iota'. That's one effect of the way the client scans the WC first to determine the list of paths to be committed (no-change files are excluded, but 'iota' at this stage has a change), then waits to get a log message, then reads the WC again to calculate the actual change to send for each path (and now 'iota' has no change). This general behaviour affects more than just no-op changes, of course: if you apply a patch to several files while editing the log message, some of the patched files might be committed (those that were already modified at the invocation of the commit command) and others not.
Philip Martin wrote:
(I think you mean the other way around -- the open-file for /A/f is in -c3.)
> The diff reports have
(I assume you mean "new node-revision".) You have observed this correlation between new node-revs and editor method calls in the current typical Subversion software configuration. The client should not assume that an "open-dir" or "open-file" editor method call means a new node-revision in the file system. Node-revisions are meant to be a private implementation detail of the repos or FS layers.
> 'svnlook changed' has behaviour that is somewhere between log and diff
Heh, nice observation.
This is an archived mail posted to the Subversion Dev mailing list.