You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Peter Davis <pe...@pdavis.cx> on 2002/12/11 23:28:51 UTC

Re: svn commit: rev 4094 - in trunk/subversion: include libsvn_wc clients/cmdline

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 11 December 2002 13:49, sussman@tigris.org wrote:
> Fix issue #714.  If 'svn revert' attempts to revert a missing
> directory, then send a new "failed revert" notification to the client.
> Our commandline client interprets this signal by recommending an update.

I think this fix breaks the fix committed in r3614 (see 
http://subversion.tigris.org/issues/show_bug.cgi?id=863).  Does it pass the 
test committed in that same revision?

$ svn mkdir foo
$ rm -rf foo
$ svn revert foo
[fails with the new error]
$ svn up foo
[fails hard, and locks the wc]
$ svn revert .
[fails because wc is locked]
$ svn st
  L    .
!      foo
$ svn cleanup .
[fails because it can't unlock foo]

At this point, the only thing to do is trash the wc and start over.

In summary, it is very important to be able to revert scheduled dirs, even if 
they don't exist, since Issue 864 is not yet fixed either.


Here is my entire session, in case the above isn't enough:
cartman:tmp$ svnadmin create test-repos
cartman:tmp$ svn co file://$PWD/test-repos test-wc
Checked out revision 0.
ccartman:tmp$ cd test-wc
cartman:test-wc$ ls
cartman:test-wc$ svn mkdir foo
A         foo
cartman:test-wc$ rm -rf foo
cartman:test-wc$ ls
cartman:test-wc$ svn st
!      foo
cartman:test-wc$ svn revert foo
Failed to revert foo -- try updating instead.
cartman:test-wc$ svn up foo
subversion/libsvn_wc/log.c:288: (apr_err=155009, src_err=0)
svn: Problem running log
svn: in directory
subversion/libsvn_wc/log.c:1193: (apr_err=155009, src_err=0)
svn: start_handler: error processing command 'delete-entry' in
subversion/libsvn_wc/lock.c:422: (apr_err=155005, src_err=0)
svn: Working copy not locked
svn: directory not locked (foo)
cartman:test-wc$ svn revert .
subversion/libsvn_wc/lock.c:108: (apr_err=155004, src_err=0)
svn: Attempted to lock an already-locked dir
svn: working copy locked: .
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
cartman:test-wc$ svn revert . -R
subversion/libsvn_wc/lock.c:108: (apr_err=155004, src_err=0)
svn: Attempted to lock an already-locked dir
svn: working copy locked: .
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
cartman:test-wc$ svn cleanup .
subversion/libsvn_wc/log.c:288: (apr_err=155009, src_err=0)
svn: Problem running log
svn: in directory
subversion/libsvn_wc/log.c:1193: (apr_err=155009, src_err=0)
svn: start_handler: error processing command 'delete-entry' in
subversion/libsvn_wc/lock.c:422: (apr_err=155005, src_err=0)
svn: Working copy not locked
svn: directory not locked (foo)
cartman:test-wc$ svn revert foo
subversion/libsvn_wc/lock.c:108: (apr_err=155004, src_err=0)
svn: Attempted to lock an already-locked dir
svn: working copy locked: .
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
cartman:test-wc$ svn st
  L    .
!      foo
cartman:test-wc$ svn cleanup .
subversion/libsvn_wc/log.c:288: (apr_err=155009, src_err=0)
svn: Problem running log
svn: in directory
subversion/libsvn_wc/log.c:1193: (apr_err=155009, src_err=0)
svn: start_handler: error processing command 'delete-entry' in
subversion/libsvn_wc/lock.c:422: (apr_err=155005, src_err=0)
svn: Working copy not locked
svn: directory not locked (foo)


- -- 
Peter Davis
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE998ozhDAgUT1yirARArSRAJ0cVuUHKu68mo63ttZ/Gztpw+wPQgCeOdV0
ACyxOAvAElBQntA5L7Jv9b8=
=Up/Q
-----END PGP SIGNATURE-----


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

Re: svn commit: rev 4094 - in trunk/subversion: include libsvn_wc clients/cmdline

Posted by Ben Collins-Sussman <su...@collab.net>.
Peter Davis <pe...@pdavis.cx> writes:

> On Wednesday 11 December 2002 15:41, Ben Collins-Sussman wrote:
> > I don't understand this:  before my change, the missing dir didn't
> > actually get reverted, did it?  I thought the command was just dying
> > silently.
> 
> I seem to remember that it did, but I could be wrong.  I just wasted my old 
> svn installation so I can't test an older revision at the moment.

Drat.  I just updated my wc to r4093, and indeed, if "dir" is a
directory that is both scheduled for addition and missing, then 'svn
revert dir' claims to successfully revert it.  After my r4094 change,
you get a message refusing to do so.

Ah, the magic of 'svn up -r'.

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

Re: svn commit: rev 4094 - in trunk/subversion: include libsvn_wc clients/cmdline

Posted by Peter Davis <pe...@pdavis.cx>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 11 December 2002 15:41, Ben Collins-Sussman wrote:
> I don't understand this:  before my change, the missing dir didn't
> actually get reverted, did it?  I thought the command was just dying
> silently.

I seem to remember that it did, but I could be wrong.  I just wasted my old 
svn installation so I can't test an older revision at the moment.

- -- 
Peter Davis
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE999AQhDAgUT1yirARAuayAJ42JXVLsVNcl4ltUle1xTUegO4HsACbBqwV
Uy6XZP7dRmhy2+vjfto76D8=
=xc9+
-----END PGP SIGNATURE-----


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

Re: svn commit: rev 4094 - in trunk/subversion: include libsvn_wc clients/cmdline

Posted by Peter Davis <pe...@pdavis.cx>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 11 December 2002 15:41, Ben Collins-Sussman wrote:
> Absolutely!  I always run 'make check' before committing.  And I just
> reverified that test passes.  Maybe it doesn't have the coverage we
> need.  :-)

Yeah, my mistake, that test was for a different problem (reverting of missing 
directories that are scheduled for *deletion*).

- -- 
Peter Davis
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE998/ThDAgUT1yirARAkctAKCOBsNsxxfbtS/XyaSdpCk4MCtQcACgmx7j
S4ynJe2uhVVYeSE59Uy7dpg=
=6Zjx
-----END PGP SIGNATURE-----


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

Re: svn commit: rev 4094 - in trunk/subversion: include libsvn_wc clients/cmdline

Posted by Ben Collins-Sussman <su...@collab.net>.
Peter Davis <pe...@pdavis.cx> writes:

> On Wednesday 11 December 2002 13:49, sussman@tigris.org wrote:
> > Fix issue #714.  If 'svn revert' attempts to revert a missing
> > directory, then send a new "failed revert" notification to the client.
> > Our commandline client interprets this signal by recommending an update.
> 
> I think this fix breaks the fix committed in r3614 (see 
> http://subversion.tigris.org/issues/show_bug.cgi?id=863).  Does it pass the 
> test committed in that same revision?

Absolutely!  I always run 'make check' before committing.  And I just
reverified that test passes.  Maybe it doesn't have the coverage we
need.  :-)

> 
> $ svn mkdir foo
> $ rm -rf foo
> $ svn revert foo
> [fails with the new error]

Drat and double-drat.  

I don't understand this:  before my change, the missing dir didn't
actually get reverted, did it?  I thought the command was just dying
silently.


> $ svn up foo
> [fails hard, and locks the wc]
> $ svn revert .
> [fails because wc is locked]
> $ svn st
>   L    .
> !      foo
> $ svn cleanup .
> [fails because it can't unlock foo]

Investigating and fixing now.


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

Re: svn commit: rev 4094 - in trunk/subversion: include libsvn_wc clients/cmdline

Posted by Peter Davis <pe...@pdavis.cx>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 11 December 2002 15:28, Peter Davis wrote:
> I think this fix breaks the fix committed in r3614 (see
> http://subversion.tigris.org/issues/show_bug.cgi?id=863).  Does it pass the
> test committed in that same revision?

On second check, 3614 fixed reverting a directory that was scheduled for 
*deletion*, not addition.  But in any case, several things seem broken:

* Update shouldn't fail so hard.
* Cleanup should only warn on missing dirs.
* Remove --force should work on a missing scheduled dir (Issue 864).
* And of course Revert should work on a missing scheduled dir.

- -- 
Peter Davis
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE998uphDAgUT1yirARArpLAJ4zapDmJA+SD7jIyjmQAZeHhOHS7ACfeL+E
H8uXxyS+mxT3n7n3siPB0N8=
=inwC
-----END PGP SIGNATURE-----


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