Alexey Neyman wrote on Mon, Mar 05, 2012 at 16:14:24 -0800:
> Hi all,
>
> I ran into the following error message with Subversion:
>
> svn: Attempted to get textual contents of a *non*-file node
>
> The issue, as pointed out by email thread [1], is that the directory being
> merged contains a file with the same name as the directory. I.e., there is
> /trunk/foo directory containing /trunk/foo/foo file.
>
> However, even if I tried the suggestion from Ben Collins-Sussman, it didn't
> help: 'svn merge' still complained with the same error message. Reproduction
> script attached. Is there a way such projects can use 'svn merge' command?
>
> I tried with Subversion trunk and, although the error message is different
> ("svn: E160017: '/trunk/foo' is not a file"), the result is still the same.
> While it is a better message than the one in 1.6, it still does not explain
> why Subversion expects /trunk/foo to be a file for the following commands:
>
> svn merge -c 4 ^/trunk/foo
> svn merge -c 4 ^/trunk/foo .
> svn merge ^/trunk/foo_at_3 ^/trunk/foo_at_4 .
> svn merge -r 3:4 ^/trunk/foo .
>
Yeah, I just tried with trunk, couldn't get the merge to work, with
those commands (some of which are made equivalent by the argument
parser) or with <svn merge ^/trunk/foo_at_3 ^/trunk/foo_at_4 foo>.
Looks like a bug to me, assuming it works when the dir and the file are
not both named the same thing.
> As another side note, Subversion leaves behind a zero-sized temporary file
> created for the merge.
>
And this one too. (the file is in the wc root)
> Regards,
> Alexey.
>
> [1] http://markmail.org/message/qqh3r6d4tcdyjnz2#query:
> +page:1+mid:vcjektlfn37mxyld+state:results
Could you file an issue? Perhaps send a patch adding a regression test
for this (in Python)? (See subversion/tests/cmdline/README)
Thanks --
Daniel
Received on 2012-03-06 08:34:26 CET