On Mon, Sep 12, 2011 at 12:08 PM, Philip Martin
<philip.martin_at_wandisco.com> wrote:
> Marc Strapetz <marc.strapetz_at_syntevo.com> writes:
>
>>>> Adding the unversioned directory and removing the missing one
>>>> seems to work:
>>>>
>>>> # svn add a/b/E
>>>> # svn rm a/b/e
>>>> # svn status
>>>> ! a\b\E
>>>> ! a\b\E\alpha
>>>> ! a\b\E\beta
>>>> D a\b\e
>>>> D a\b\e\alpha
>>>> D a\b\e\beta
>>>>
>>>> However, a subsequent commit fails:
>>>>
>>>> # svn commit -m "a/b/e moved to a/b/E"
>>>> svn: E155010: Commit failed (details follow):
>>>> svn: E155010: 'D:\greek-tree.svn\a\b\E' is scheduled for addition, but
>>>> is missing
>>>
>>> That's odd. It looks like a case-only rename and issue 3702 claims to
>>> be fixed:
>>>
>>> http://subversion.tigris.org/issues/show_bug.cgi?id=3702
>>>
>>> If you start with a pristine, unmodified tree and run
>>>
>>> svn mv a\b\e a\b\E
>>>
>>> can you commit that?
>>
>> Yes, that works.
>
> So
>
> # svn mv foo FOO
> # svn ci
>
> works and I would assume that
>
> # svn rm foo
> # svn cp bar FOO
> # svn ci
>
> also works. But
>
> # svn rm foo
> # svn add FOO
> # svn ci
>
> doesn't work. Probably not been tested before on Windows. To me it
> looks like it should be possible to make the code handle that, but
> perhaps the case-rename stuff relies on the copyfrom flags.
No, I don't think that's the problem. That should work (can't test
right now, being @work, but I don't see why it wouldn't work on
Windows). I think the OP means that the following doesn't work:
# move foo FOO
# svn ci
(i.e. doing the rename outside of svn)
--
Johan
Received on 2011-09-12 12:25:28 CEST