You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Alexander Kitaev <Al...@svnkit.com> on 2008/05/13 14:21:40 UTC

1.5.x bug: property that have to be deleted by update remains in the working copy after update

Hello,

There is a bug in 1.5.x that results in wc corruption.

To reproduce the problem:

$ svn ps prop value .
$ svn ci -m "propset"
Committed revision N.

$ svn mkdir dir
$ svn pd prop .
$ svn ci -m "prop deletion and mkdir" .
Committed revision M.

$ svn up -rN .
  U .
D  dir

$ mkdir dir
$ svn up .
// update fails with obstruction, WC is marked as "incomplete"
$ rm -rf dir
$ svn up .
$ svn pl -v .
// bug: property remains in WC in revision M after update
prop value

The reason of the problem is the way properties are updated for 
"incomplete" directories - all properties are sent as they are at target 
revision and no existing property is deleted (see libsvn_repos/delta.c:565).

One of the ways to fix this problem is to keep track of paths reported 
as "incomplete" (with send_all == true) and then "manually" delete all 
properties that were not modified during update in close_dir/file for 
that paths.

I've already submitted and issue for that: 
http://subversion.tigris.org/issues/show_bug.cgi?id=3192

-- 
Alexander Kitaev,
TMate Software,
http://svnkit.com/ - Java [Sub]Versioning Library!

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: 1.5.x bug: property that have to be deleted by update remains in the working copy after update

Posted by Julian Foad <ju...@btopenworld.com>.
Alexander,

Thanks for this report (here and in issue #3192). I verified your reproduction 
recipe, and I will investigate because I am already looking at this area of the 
code for tree conflicts detection.

- Julian


Alexander Kitaev wrote:
> Hello,
> 
> There is a bug in 1.5.x that results in wc corruption.
> 
> To reproduce the problem:
> 
> $ svn ps prop value .
> $ svn ci -m "propset"
> Committed revision N.
> 
> $ svn mkdir dir
> $ svn pd prop .
> $ svn ci -m "prop deletion and mkdir" .
> Committed revision M.
> 
> $ svn up -rN .
>  U .
> D  dir
> 
> $ mkdir dir
> $ svn up .
> // update fails with obstruction, WC is marked as "incomplete"
> $ rm -rf dir
> $ svn up .
> $ svn pl -v .
> // bug: property remains in WC in revision M after update
> prop value
> 
> The reason of the problem is the way properties are updated for 
> "incomplete" directories - all properties are sent as they are at target 
> revision and no existing property is deleted (see 
> libsvn_repos/delta.c:565).
> 
> One of the ways to fix this problem is to keep track of paths reported 
> as "incomplete" (with send_all == true) and then "manually" delete all 
> properties that were not modified during update in close_dir/file for 
> that paths.
> 
> I've already submitted and issue for that: 
> http://subversion.tigris.org/issues/show_bug.cgi?id=3192

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org