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

Re: Update blocked and cleanup not possible

From: Ryan Schmidt <subversion-2009b_at_ryandesign.com>
Date: Wed, 29 Jul 2009 01:56:46 -0500

On Jul 28, 2009, at 10:56, Matthias Fechner wrote:

> Am 28.07.09 17:21, schrieb Giulio Troccoli:
>> You can also delete the directory that contain the troubled files
>> and do a svn update on the parent directory. This will restore the
>> original files. You will lose any changes you have done in that
>> directory (unless you save them first somewhere else) but it
>> should be quicker that checking out agin.
>
> that was a good tip.
> I did a svn st to see which file was changed.
> Moved the damaged directory away and removed the .svn folder in it.
> Did an svn up, copied the changed file to the directory and was
> able to
> commit the files.
>
> Removed the damaged directory and everything is fine now.
>
> Should I file a bugreport for this bad behaviour?

Returning to your original message:

On Jul 27, 2009, at 10:23, Matthias Fechner wrote:

> I have a problem on my Mac with subversion 1.6.3.
> (svn, version 1.6.3 (r38063))
>
> Today I had a file abc168P.h in the filesystem.
>
> There was a capital letter in it and I wanted to rename it to small
> letters only.
> I tried
> svn mv abc168P.h abc168p.h
> but it was not successfully.

I am able to reproduce this problem on Mac OS X 10.4.11 with
Subversion 1.6.3. I get:

$ svn mv abc168P.h abc168p.h
svn: Path 'abc168p.h' is not a directory

This problem has been discovered many times before; I found the
following posts mentioning it:

http://www.experts-exchange.com/Software/Development/Management_Debug/
Version_Control_CVS/Subversion/Q_24559192.html

http://www.cygwin.com/ml/cygwin/2009-03/msg00113.html

http://svn.haxx.se/subusers/archive-2007-06/0132.shtml

There is even a FAQ entry explaining that this will not work on case-
insensitive filesystems like the one you have on Mac OS X:

http://subversion.tigris.org/faq.html#case-change

But I can't find a bug report for it. The behavior is not ideal, and
neither is the error message you currently get. It is not an
unreasonable user expectation to be able to change the case of a file
by simply using "svn mv", since changing the case of a file by using
"mv" works fine. If it is not possible to fix this now, then it is
still not unreasonable to expect an error message that makes more
sense than the one given (e.g. "svn: cannot do case-only renames").

But see below about wc-ng before filing a bug.

> So I did the following:
> svn mv abc168P.h abc168p2.h
> svn mv abc168p2.h abc168p.h
> svn commit
>
> That worked and commited the file correctly to the repository.
> But now my local repository is locked completely.

You mean your local working copy.

> svn up
> svn: Working copy '.' locked
> svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for
> details)
>
> If i try a "svn cleanup ." it says
> svn: In directory '.'
> svn: Error processing command 'committed' in '.'
> svn: Log command for directory 'abc168P.h' is mislocated
>
> What can I do to solve that problem?

I am able to reproduce this problem too:

$ svnadmin create repo
$ svn co file://$(pwd)/repo wc
Checked out revision 0.
$ cd wc
$ touch abc168P.h
$ svn add abc168P.h
A abc168P.h
$ svn ci -m x
Adding abc168P.h
Transmitting file data .
Committed revision 1.
$ svn mv abc168P.h abc168p2.h
A abc168p2.h
D abc168P.h
$ svn mv abc168p2.h abc168p.h
A abc168p.h
D abc168p2.h
$ svn ci -m x
Deleting abc168P.h
Adding abc168p.h
svn: Commit succeeded, but other errors follow:
svn: Error bumping revisions post-commit (details follow):
svn: In directory '/private/tmp/wc'
svn: Error processing command 'committed' in '/private/tmp/wc'
svn: Error getting 'affected time' for '/private/tmp/wc/.svn/text-
base/abc168p.h.svn-base'
svn: Can't stat '/private/tmp/wc/.svn/text-base/abc168p.h.svn-base':
No such file or directory
svn: Your commit message was left in a temporary file:
svn: '/private/tmp/wc/svn-commit.tmp'
$

The working copy code is being rewritten for Subversion 1.7. Here is
the design document:

http://svn.collab.net/repos/svn/trunk/notes/wc-ng-design

One of the stated requirements of the rewrite is "Case sensitive
filesystem aware / resilient". I am assuming this is a typo and
should read "Case-insensitive filesystem aware / resilient" so I
would be inclined to wait until that work is done to see whether it
fixes this issues.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2376507

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-07-29 10:50:10 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.