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

Re: svn commit: rev 5814 - in trunk/subversion: libsvn_wc tests/clients/cmdline

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2003-05-14 02:12:52 CEST

Brian Denny <brian@briandenny.net> writes:

> On Tue, May 13, 2003 at 01:31:41PM -0500, Ben Collins-Sussman wrote:
> >
> > I'm about to make major changes to update_editor.c.
> >
> > * add_dir() will immediately add an entry to the parent's entries
> > file, and create a new directory containing an entries file with
> > only a THIS_DIR entry at update's target-revnum, with an
> > 'incomplete=true' attribute.
> >
> > * open_dir() will immediately mark the directory as incomplete, and as
> > being at the update's target-revnum
> >
> > * close_dir() will still call maybe_bump_dir_info()
> >
> > * maybe_bump_dir_info() will remove the 'incomplete' flag if the dir's
> > refcount hits zero (rather than changing the revnum)
> >
> > Dunno if this has weird affects regarding your patch....?
>
> if the process is interrupted inbetween open_dir and close_dir,
> leaving the directory marked as incomplete (and at the target revnum),
> what happens when you run 'update' again?
>
> (i assume that dealing with this case is one reason for the 'incomplete'
> flag, but how does it work?)

Yes, that's exactly the case we're trying to handle.

When 'svn up' sees an incomplete directory, it tells the server that
it "has revision N of the directory, but assume it's empty". Then it
forcibly reports exactly the entries it has. And thus the server
knows exactly what needs to be sent to 'complete' the directory.

Voila, restartable checkouts.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed May 14 02:14:08 2003

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.