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

Re: "deleted" entry attribute.

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2004-11-30 14:22:55 CET

On Nov 30, 2004, at 7:07 AM, Alexander Kitaev wrote:

> Hello All,
>
> Could anyone briefly explain under which circumstances ".svn/entries"
> may
> contain entry with "deleted=true" attribute?
>
>

Yes. It happens when you run

    svn rm foo
    svn commit

After this operation, 'foo' is at HEAD revision, but in 'deleted'
state. The rest of your working copy is still at revision HEAD-1, as
you would expect.

It's important, because when you next run 'svn up', the client tells
the server:

    "I have revision X of this directory, but child 'foo' is missing."

The server responds in one of two ways:

   * re-adds foo (because somebody committed a new file called 'foo')
   * does nothing about foo.

After the server has edited a number of files in the update, the client
walks the entire working copy and 'bumps' every single file and
directory to the new HEAD revision. Whenever it encounters an entry
with 'deleted=true', it destroys the entry completely. This is safe to
do: if the server didn't overwrite the entry with a object, then the
thing must *really* be gone in the new HEAD revision in the repository.

The other important thing to know about 'deleted' entries is that 99%
of the time, they should be invisible to normal client commands. 'svn
status' shouldn't show them, for example. As far as the user is
concerned, it should seem like the entry doesn't exist. A 'deleted'
entry is only kept around for bookkeeping during the next update.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Nov 30 14:28:05 2004

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