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

Re: deleted-with-history [sic] after merge

From: David Glasser <glasser_at_davidglasser.net>
Date: Fri, 29 Feb 2008 14:01:02 -0800

On Fri, Feb 29, 2008 at 1:58 PM, Ben Collins-Sussman
<sussman_at_red-bean.com> wrote:
> On Fri, Feb 29, 2008 at 11:06 AM, David Glasser
> <glasser_at_davidglasser.net> wrote:
>
> > You sure? From libsvn_fs_fs/tree.c(merge):
> >
> > /* If SOURCE-ENTRY and TARGET-ENTRY are both null, that's a
> > double delete; flag a conflict. */
> > if (s_entry == NULL || t_entry == NULL)
> > return conflict_err(conflict_p,
> > svn_path_join(target_path,
> > a_entry->name,
> > iterpool));
>
> I have a vague recollection of this code flip-flopping back and forth
> over the years, and cmpilato being at the helm of such decisions.
> Mike, can you remember what's up here?

So what happens (this is based on both reading and running the code)
is that *most* of the time double deletes are ignored. However, if
Client #2 starts its commit drive after Client #1 starts its commit
drive but before Client #1 finalizes its commit, you'll get an error
from the quoted code above. (I was able to reproduce this by running
Client #1 under gdb and throwing in a breakpoint.)

--dave

-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-02-29 23:01:16 CET

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