[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Tree-conflicts branch - log message / review

From: Neels Hofmeyr <neels_at_elego.de>
Date: Tue, 09 Sep 2008 02:03:29 +0200

Julian Foad wrote:
> Yes, we decided that we should handle "obstructions" (all cases where
> the disk is inconsistent with the metadata, including where the disk
> file or directory is missing), as an error condition, first, and after
> that proceed to checking for tree conflicts once we know that the WC
> state is sane in itself.

So, a local file edit is *not* an obstruction (something done without
explicitly telling svn about it), but removing a directory *is* an
obstruction (unless svn is explicitly told about it). Right?

Intuitively, I assumed that just removing a directory (`rm -rf D1`, not
using svn) also counts sort of as a valid local edit...

>
>>> Index: subversion/libsvn_wc/update_editor.c
>>> ===================================================================
>>> --- subversion/libsvn_wc/update_editor.c (revision 32658)
>>> +++ subversion/libsvn_wc/update_editor.c (working copy)
>>> @@ -1198,31 +1198,47 @@
>>> else
>>> {
>>> svn_boolean_t modified;
>>> + svn_node_kind_t kind;
>>>
>>> - /* If we are about to delete a path that has local mods,
>>> + /* If we are about to delete a path that is locally missing,
>>> * mark the containing directory as tree conflicted.
>>> - * This is tree conflict use case 2 as described in the
>>> - * paper attached to issue #2282
>>> + * This is tree conflict use case 3.
>>> * See also notes/tree-conflicts/detection.txt
>> detection.txt says:
>>
>> If 'svn update' deletes a file that has been scheduled for deletion in
>> the working copy, the file is a tree conflict victim
>>
>> But the file has not been scheduled for deletion in this case.
>>
>> I'd suggest simply stating:
>>
>> /* If we are about to delete a path that is missing from disk
>> * but present in meta data, raise a tree conflict.
>> * The merge cannot succeed because the working copy is broken.
>> */
>>
>> Essentially, this is the inverse of our 'obstructed' tree conflict
>> cases, which happen when a path is present on disk which meta data
>> says should not be there (yet).
>
> We ought to tweak that comment.

Yes, looks good.

~Neels

-- 
Neels Hofmeyr -- elego Software Solutions GmbH
Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23458696  mobile: +49 177 2345869  fax: +49 30 23458695
http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelsreg: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194

Received on 2008-09-09 02:04:06 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.