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

RE: svn update --depth=empty WC corruption issue

From: Bert Huijben <B.Huijben_at_competence.biz>
Date: Tue, 3 Jun 2008 17:09:17 +0200

> -----Original Message-----
> From: Karl Fogel [mailto:kfogel_at_red-bean.com]
> Sent: dinsdag 3 juni 2008 16:26
> To: David Glasser
> Cc: Bert Huijben; dev_at_subversion.tigris.org
> Subject: Re: svn update --depth=empty WC corruption issue
>
> "David Glasser" <glasser_at_davidglasser.net> writes:
> > This is fixed on trunk and nominated for backport to 1.5.x. We're
> > currently debating whether it really needs to make it into 1.5.0.
> >
> > Given that this is the second or third independent report of this
> bug,
> > I'm starting to lean a whole lot towards putting it in 1.5.0. What
> is
> > the point of having release candidates if we don't fix the most
> > reported bug?
>
> Well, the point is also to know what we're sending out there, so we
can
> document known problems, be prepared for certain feedback, etc. Of
> course, getting the fix in is the ultimate goal. But is it worth
> extending the soak? I'm not so sure.
>
> I'd also like to know whether Bert's recipe was derived from something
> a
> client (like Ankh or TSVN) did. If so, the workaround is for the
> client
> to protect against using --depth=empty on a file, which is what TSVN
> has
> done now IIRC. If the common clients do that, the bug is likely to
hit
> a lot fewer users for the short time that it's out there.
>
> Bert, did this really come from command-line usage?

No, but we try to reproduce bug reports with the CLI.

The issue reported was actually a bunch of small problems triggered by
one command sequence, which we tried to separate in separate issues.

This issue comes from a checkbox list which allows selecting files and
folders to update. Many explicit subversion commands show a list with
checkboxes allowing the user to select on which files/directories to
operate out of all by hierarchy selected nodes in the project tree.

(Probably the same issue TortoiseSVN had; and other clients may have
without noticing)

Most explicit subversion commands are explicitly documented to ignore
depth on passed individual files and only to use the depth on folders,
which allows us to pass all selected files and folders to subversion at
once in one call to update (or other commands)

This part of svn_client.h documents (in my opinion) that passing
depth=empty should be valid on all targets passed to update (including
files)

 * If @a depth is @c svn_depth_infinity, update fully recursively.
 * Else if it is @c svn_depth_immediates or @c svn_depth_files, update
 * each target and its file entries, but not its subdirectories. Else
 * if @c svn_depth_empty, update exactly each target, nonrecursively
 * (essentially, update the target's properties).

Our best practices recommend you update on a higher level than the
individual files and folders; and in this case this code path is not
touched.

For AnkhSVN the temporary solution is to merge r31516 into the
subversion build for SharpSVN, just like the merge of r31211 to fix the
commit paths.

        Bert

>
> -Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-06-03 17:09:35 CEST

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.