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

Re: nasty commit bug

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2002-07-15 20:16:13 CEST

Karl Fogel <kfogel@newton.ch.collab.net> writes:

> Philip Martin <philip@codematters.co.uk> writes:
> > That bug (it's in libsvn_client) is not new, it's there in rev 1581
> > when the lock_dir function was introduced.
>
> Sorry, I oversimplified. The bug here is not the ignoring of the
> lock, but rather a difference in assumptions between the old locking
> system and the new one. In the old system, directories were
> deliberately left in a locked state for svn_wc_process_committed() to
> come by and finish up, and then unlock them when it was done. The new
> access baton system assumes that in order to grant a baton, the
> requested dir must be unlocked.
>
> (Ben Collins-Sussman is writing a longer mail right now, describing
> this in more detail.)
>
> Neither of these is right or wrong -- well, in fact, I kind of feel
> the new system is "more right" in spirit, more maintainable, and is
> the way to go in the long run -- the problem is just that the two
> assumptions are incompatible. In other words, solving issue #749
> requires a larger rethinking/revamping of the post-commit process on
> the wc side than we have done so far.
>
> There is no way to get that revamp done before Alpha. It's simply too
> complex -- no way can we cram it into a few days.
>
> Does this match your understanding?

No.

The old system grabbed locks during pre-commit processing, these are
just for the items being committed. While holding the locks it then
sent the commit to the server. Next it dropped all the locks being
held. It then ran the post-commit processing which reacquired locks
as necessary to update the working copy.

The new system grabs the same locks during pre-commit processing. It
still holds those locks while sending the commit to the server. It no
longer drops the locks before post-commit processing. Additional
locks get taken out during the post-commit processing as necessary to
update the working copy.

In some cases (copy-modify-commit) that are not present in the current
regression tests the new system will fail. My latest patch addresses
those problems.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 15 20:16:48 2002

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.