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

Re: [PATCH] Explain svn_wc_entry_t's "deleted" flag.

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Mon, 10 Nov 2008 10:28:26 -0500

Julian Foad wrote:
> * subversion/include/svn_wc.h
> (svn_wc_entry_t): Explain the "deleted" flag a bit better.
> [[[
> Index: subversion/include/svn_wc.h
> ===================================================================
> --- subversion/include/svn_wc.h (revision 34116)
> +++ subversion/include/svn_wc.h (working copy)
> @@ -1894,7 +1894,9 @@
> when the entry itself is @c svn_wc_schedule_normal) */
> svn_boolean_t copied;
> - /** deleted, but parent rev lags behind */
> + /** deleted, but parent rev lags behind. Only applicable to a 'this_dir'
> + * entry. An entry can be 'deleted' and also schedule-add, meaning this
> + * entry is for a new directory that will replace the old one. */
> svn_boolean_t deleted;
> /** absent -- we know an entry of this name exists, but that's all
> ]]]
> Is this right?

I ... don't think so. deleted != "scheduled for deletion". I'm not sure
how to best describe it. Maybe a scenario will help (sorry if the below
isn't verbatim ... I'm winging it):

  $ svn update dir
  Updated to revision 4.
  $ svn rm dir/some-file
  $ svn ci -m "delete some-file"
  Deleting dir/some-file
  Committed revision 5.

At this point, we have 'dir' at revision 4, and 'dir/some-file' is gone.
But we need the entries file for 'dir' to list all of dir's children *as of
revision 4*. So we leave 'some-dir' in that entries list, but mark it with
this special 'deleted' flag so we know that the record is there only to
ensure the integrity of the entries list for 'dir'.

Back in the day, we referred to the problems caused by *not* storing these
special "deleted" records as "ghudson bugs" (after their reporter, not their

C. Michael Pilato <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on 2008-11-10 16:28:46 CET

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.