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

svn cp treats filename as directory name

From: Steve Strobel <steve.strobel_at_link-comm.com>
Date: Tue, 07 Oct 2008 10:24:39 -0600

I am having trouble with the following command (under Ubuntu 8.04
using Subversion command-line client, version 1.4.6):

svn cp -r232 svn:// \
             svn:// \
             -m "Copying from rev 232 to maintain history of the files we changed."

I am trying to copy an older revision of that Makefile to the head.
A similar command works fine on some other files, but in this case
(and a few others) I get the error message:

svn: Failure opening '/trunk/linux-2.6.x/sound/blackfin/Makefile/Makefile'
svn: '/trunk/linux-2.6.x/sound/blackfin/Makefile' is not a directory in filesystem 'C:/Shared/SVN_Repo_uClinux/db'

Note that the error message indicates that it is looking
for .../Makefile/Makefile, which is not what the command says.

Also note that the filesystem it refers to, 'C:/Shared/SVN_Repo_uClinux/db'
is on a different computer that is running svnserve under Windows Vista (and
has worked fine for weeks). That path means nothing on my computer; I
always access the repository using svn://...

Running a verbose log and snipping the details about the other files:

svn log -v svn://

r300 | (no author) | 2008-10-06 16:30:35 -0600 (Mon, 06 Oct 2008) | 3 lines
Changed paths:
   A /trunk (from /branches/vendor:299)

Copying the vendor branch with uClinux-dist-2008R1.5-RC3.tar.bz2.

r234 | (no author) | 2008-09-04 15:12:03 -0600 (Thu, 04 Sep 2008) | 2 lines
Changed paths:
   M /branches/vendor/linux-2.6.x/sound/blackfin/Makefile


r233 | Matt | 2008-09-04 10:56:29 -0600 (Thu, 04 Sep 2008) | 1 line
Changed paths:
   A /branches/vendor (from /trunk:2)

Copied remotely
r2 | (no author) | 2007-07-17 10:35:25 -0600 (Tue, 17 Jul 2007) | 2 lines
Changed paths:

   A /trunk/linux-2.6.x/sound/blackfin/Makefile

As originally extracted from uClinux-dist-2007R1-RC3.tar.bz2.


It appears to me that the Makefile was added to trunk in rev 2, then added again
(because of a copy) in rev 300. I think the changes in branches/vendor should be irrelevant.

Using svn ls to check whether the Makefile can be found in various revisions:

svn ls -r232 svn://
svn: Unable to find repository location for 'svn://' in revision 232

It doesn't seem to think that the Makefile existed in revision 232. That might explain why it
would try to treat .../blackfin/Makefile as a directory, but I still can't understand why it would
look for .../blackfin/Makefile/Makefile - that seems like a bug to me. The command only says
"Makefile" once; it might be a filename or a directory, but it shouldn't be both.

Trying svn ls on various revisions and noting the versions in which it can be found:
1 - no
2 - yes
3 - no
232 - no
233 - yes
234 - yes
299 - yes
300 - yes
301 - yes
head - yes

I don't understand why it disappeared between rev 2 and rev 233. I would think that
after being added in rev 2, that it would continue to exist on that path unless later
deleted. I also don't understand why it came back in rev 233; that should have just
added it in the branches/vendor directory and had no effect on trunk.

I don't see any reason it would exist in the trunk (per svn ls -r) in rev 2, then
disappear until rev 233. Am I missing something? Is there a problem with Subversion
or my repository? Thanks for any help.


Steve Strobel
Link Communications, Inc.
1035 Cerise Rd
Billings, MT 59101-7378
(406) 245-5002 ext 102
(406) 245-4889 (fax)
WWW: http://www.link-comm.com
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-10-07 18:25:19 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.