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

Subversion Gets Tricked into Following Non-Existent Paths

From: Mihai Danila <mdanila_at_zedak.com>
Date: 2006-11-13 17:32:51 CET

 

We have an issue with Subversion 1.4.0 on Apache 2.0.58 on Windows XP.
(Actually we started with subversion 1.3 but that should not be relevant as
we used dump/load inbetween software updates)

 

We recently migrated our old repositories. To achieve this, we first dumped
and loaded the existing data, as it resided in multiple SVN repositories. It
ended up under directory "oldrepos" of our new SVN repository.

We then created a script which creates the new structure locally, in a
working copy of the new repository. We used SVN Copy, SVN Mkdir, SVN Delete
against the working copy in order to model the structure as desired. We
stayed away from MOVEs as they seemed problematic.

During one such step, we followed this sequence:

cp /oldrepos/app1/trunk /trunk/projects/proj1/apps/app1 (copy the bulk of
application 1 to its new location)

mkdir /trunk/projects/proj1/apps/app1/components/comp1/src (create component
directory structure)

cp /oldrepos/app1/trunk/src/component1classes
/trunk/projects/proj1/apps/app1/components/comp1/src (retrieve some of the
classes that used to belong to the application into the new component)

rm /trunk/projects/proj1/apps/app1/src/component1classes (remove these
classes from the application)

mkdir /trunk/projects/proj1/apps/app1/components/comp2 (create a new
component)

(create more files under comp2)

commit

 

This worked fine and history for all involved files seem to be available
just fine.

 

We later decided to relocate component 1, as follows. This time we made the
changes serverside.

mkdir /trunk/projects/proj1/components (create project level component
directory)

move /trunk/projects/proj1/apps/app1/components/comp1
/trunk/projects/proj1/components (relocate the application component, making
it a project level component)

 

This change also worked fine apparently, for a while at least.

 

The problem appears when trying to export component 2: export
/trunk/projects/proj1/apps/app1/components/comp2 yields:

svn: REPORT request failed on
'/svn/newrepo/!svn/bc/12345/trunk/projects/proj1/apps/app1/components/comp2'

svn: File not found: revision 11111, path
'/oldrepos/app1/trunk/components/comp2'

 

where 12345 is the HEAD revision, and 11111 is a revision valid in oldrepos.

 

Also: export /trunk/projects/proj1/apps/app1/components yields a similar
error involving the components directory.

Whereas: export /trunk/projects/proj1/apps/app1 works just fine

 

Of course there's NEVER been an /oldrepos/app1/trunk/components directory to
begin with. Subversion is messing something up here. I was not able to
reproduce the issue with a small test repository.

 

My questions:

1. is there a hint as to something we may have done wrong given the
above steps?
2. is there a way to trace Subversion's actions and see how exactly it
ends up looking for that non-existent path?

 

 

Thank you,

Mihai Danila

 
Received on Mon Nov 13 17:32:46 2006

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.