Hello,
I screwed up by importing a project structure into the wrong repository.
This happened because (I'm a newbie) and I configured svnserve to run as a
service and pointed the --root argument to the wrong folder.
My repositories are located in a folder named c:\svn
I have 2 repositories: repos and repos-josh in the following paths
(respectively):
c:\svn\repos
c:\svn\repos-josh
System Specs:
===========
Windows XP SP2
C:\work\project123>svn --version
svn, version 1.4.4 (r25188)
compiled Jun 8 2007, 18:49:42
. . .
The following repository access (RA) modules are available:
* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
When I configured the svnserve.exe to run as a service, I used the following
command-line syntax:
sc create svn.local binpath= "\"C:\program
files\subversion\bin\svnserve.exe\" --service -r C:\svn"
displayname="Subversion Server" depend= Tcpip start= auto
I didn't realize that I was configuring svnserve to only point to the
c:\svn\repos repository.
I ran the following 'svn import' command and it imported the project
structure into the wrong repository (just like I told it too):
C:\work\project123>svn import svn://svn/repos-josh/project123
Adding trunk
Adding trunk\GLOSSARY.txt
Adding trunk\db
Adding trunk\doc
Adding trunk\src
. . .
Adding trunk\src\Web.Config
Adding tags
Committed revision 64.
What is the best way to back out this import (rev 64)? Should I do a
'svnadmin dump' for rev 0 to 63 and then load into a clear repository?
I tried to merge from -r64:63 (backwards one rev) but I kept making it worse
by merging a ton of stuff into the wrong places (I'm a newbie).
So to correct the svnserve configuration, I removed the service definition
and recreated the svnservice definition like this:
net stop svn.local
sc delete svn.local
sc create svn.local binpath= "\"C:\program
files\subversion\bin\svnserve.exe\" --service -r C:\svn" displayname=
"Subversion Server" depend= Tcpip start= auto
Here is some diagnostic info for reference:
From Apache using the following URL, you can see how my project structure
was imported into a folder named repos-josh in the repos repository instead
of the repository named repos-josh:
http://svn:81/svn/repos/
Revision 64: /
* projectA/
* projectB/
* projectC/
* repos-josh/
* sesame/
Powered by Subversion version 1.4.4 (r25188).
=========
-- With the svnserve service pointing to the wrong --root arg (--root
C:\svn\repos")
C:\work\project123>svn info svn://svn/repos-josh
Path: repos-josh
URL: svn://svn/repos-josh
Repository Root: svn://svn/repos-josh
Repository UUID: 597f87e5-9855-9b49-ba40-0ea89346b779
Revision: 0
Node Kind: directory
Last Changed Rev: 0
Last Changed Date: 2007-06-21 13:53:44 -0600 (Thu, 21 Jun 2007)
C:\work\project123>svn info svn://svn/repos
Path: repos
URL: svn://svn/repos
Repository Root: svn://svn/repos
Repository UUID: 4f2e4724-5a75-6344-933e-457405bb1887
Revision: 64
Node Kind: directory
Last Changed Author: JOSH
Last Changed Rev: 64
Last Changed Date: 2007-06-21 14:09:43 -0600 (Thu, 21 Jun 2007)
-- With the svnserve service pointing to the correct --root arg (--root
C:\svn")
C:\work\project123>svn info svn://svn/repos
Path: repos
URL: svn://svn/repos
Repository Root: svn://svn/repos
Repository UUID: 4f2e4724-5a75-6344-933e-457405bb1887
Revision: 64
Node Kind: directory
Last Changed Author: JOSH
Last Changed Rev: 64
Last Changed Date: 2007-06-21 14:09:43 -0600 (Thu, 21 Jun 2007)
C:\work\project123>svn info svn://svn/repos-josh
Path: repos-josh
URL: svn://svn/repos-josh
Repository Root: svn://svn/repos-josh
Repository UUID: 597f87e5-9855-9b49-ba40-0ea89346b779
Revision: 0
Node Kind: directory
Last Changed Rev: 0
Last Changed Date: 2007-06-21 13:53:44 -0600 (Thu, 21 Jun 2007)
Thanks for your assistance,
--
Josh Blair
Golden, CO
Received on Thu Jun 21 23:33:12 2007