Leo Davis | 11 Jan 2005 06:53
Favicon

patch for creating a restartable history-building scan of a VSS database

Hello,

I am migrating a VSS database over a slow, flaky link.  After a few 
hours ss mysteriously dies, and I can't tell if ss is dying because of 
the link (likely) or if the database has problems (also likely).  So I 
added some code to v0.3.3 help debug my situation faster.  Maybe someone 
else would find these changes helpful.

This patch assumes that no one is making changes to the project, and 
that you'll be running it again with the same flags (except for the 
--restart flag).

Leo

--- C:\foo\vss2svn-0.3.3\vss2svn.pl	Mon Sep 06 04:01:30 2004
+++ C:\foo\vss2svn-0.3.3\vss2svn.pl.save	Mon Jan 10 22:11:06 2005
 <at>  <at>  -26,6 +26,8  <at>  <at> 
 use DBD::SQLite;
 use DBI;

+use Data::Dumper;
+
 use Win32::TieRegistry (Delimiter => '/');

 our(%gCfg, $VSS, $SVN, $TREE, %USERS,);
 <at>  <at>  -49,6 +51,7  <at>  <at> 

 &GetProjectTree;
(Continue reading)

Nathan Kidd | 11 Jan 2005 07:49
Picon

Re: patch for creating a restartable history-building scan of a VSS database

Leo Davis wrote:
> I am migrating a VSS database over a slow, flaky link.  After a few 
> hours ss mysteriously dies, and I can't tell if ss is dying because of 
> the link (likely) or if the database has problems (also likely).

If your VSS database is not on the same machine doing the conversion, I 
highly recommend copying it locally first.  It eliminates possibility of 
network problems (which VSS certinaly doesn't handle well), and will 
speed things up too!

-Nathan
Harvey Bernstein | 18 Jan 2005 20:29

converting VSS to SVN

Please copy on replies
 
I am trying to evaluate SVN by converting my VSS60 test database .
I have tried using the perl script using the following command, but keep getting an error.
 
 
COMMAND
C:\vss2svn>perl vss2svn.pl -vssproject $\SOFTWARE\VSS60\test\srcsafe.ini -svnrep
o c:\test\svncpp
 
ERROR
Can't locate warnings.pm in <at> INC at vss2svn.pl line 17.
BEGIN failed--compilation aborted at vss2svn.pl line 17.
 
I only have perl version 5.0
 
I also tried using the win32 exe (vss2svn-0.3.3.exe) using following command and keep getting :
C:\downloads>vss2svn-0.3.3 -vssproject T:\SOFTWARE\VSS60\test\srcsafe.ini -svnrep
o C:\Test\SVNCPP
 
Project path must be absolute (begin with
) at vss2svn-for-exe.pl line 722
 
I have tried a couple of different ways, without the drive letters and without srcsafe.ini .
 
Nothing works.
 
Any ideas?

Thanks.
Harvey
Toby Johnson | 18 Jan 2005 21:05
Picon

Re: converting VSS to SVN

Harvey Bernstein wrote:

> ERROR
> Can't locate warnings.pm in  <at> INC at vss2svn.pl line 17.
> BEGIN failed--compilation aborted at vss2svn.pl line 17.
>  
> I only have perl version 5.0

Perl 5.8 is recommended, but you would need at least 5.6. Both of these 
can be downloaded freely (the "ActivePerl" distros) from ActiveState.com.

>  
> I also tried using the win32 exe (vss2svn-0.3.3.exe) using following 
> command and keep getting :
> C:\downloads>vss2svn-0.3.3 -vssproject 
> T:\SOFTWARE\VSS60\test\srcsafe.ini -svnrep
> o C:\Test\SVNCPP
>  
> Project path must be absolute (begin with
> ) at vss2svn-for-exe.pl line 722
>  
> I have tried a couple of different ways, without the drive letters and 
> without srcsafe.ini .
>  
> Nothing works.

--vssproject must be a VSS path, not a drive path. So it'll be something 
like $/project. %SSDIR% must be set as well.

Be sure to read readme.txt, "vss2svn --help" and all documentation that 
came with vss2svn. This isn't (yet) a simple turn-the-crank operation, 
and if you keep trudging forward without reading up a little more, 
you'll end up wasting a lot of your time. Converting an entire 
repository can take days, and you may otherwise end up with something 
you can't use in the end.
Toby Johnson | 18 Jan 2005 22:59
Picon

Re: vss2svn

arif m wrote:

> Hi,
>  
> I got an error while executing vss2svn.
>  
> Could not open user init file 
> \\ws..\......../users/............/ss.ini 
> <file://%5C%5Cws..%5C......../users/............/ss.ini> at vss2svn.pl 
> line 706

Make sure your SSDIR environment variable is set correctly. Read the 
readme.txt and the output of vss2svn --help.

Also, vss2svn is a separate project with a separate mailing list; please 
send any further replies to just the vss2svn list.
Harvey Bernstein | 19 Jan 2005 14:35

RE: converting VSS to SVN

Copy me on reply.

Thank-you for the reply.
I took the advice and downloaded ActivePerl 5.8.6
I still have an issue. The pl is looking for SQLite.pm . Can
you direct me in where to find this? It did not come in 
the install/download.
This is the error
Can't locate DBD/SQLite.pm in  <at> INC ( <at> INC contains: C:/Perl/lib C:/Perl/site/lib
.) at vss2svn.pl line 26.
BEGIN failed--compilation aborted at vss2svn.pl line 26.

The database is really small . Again this is just evaluation purposes only at this time.

Thanks again
Harvey

-----Original Message-----
From: Toby Johnson [mailto:toby <at> etjohnson.us]
Sent: Tuesday, January 18, 2005 3:05 PM
To: users <at> vss2svn.tigris.org; Harvey Bernstein
Subject: Re: converting VSS to SVN

Harvey Bernstein wrote:

> ERROR
> Can't locate warnings.pm in  <at> INC at vss2svn.pl line 17.
> BEGIN failed--compilation aborted at vss2svn.pl line 17.
>  
> I only have perl version 5.0

Perl 5.8 is recommended, but you would need at least 5.6. Both of these 
can be downloaded freely (the "ActivePerl" distros) from ActiveState.com.

>  
> I also tried using the win32 exe (vss2svn-0.3.3.exe) using following 
> command and keep getting :
> C:\downloads>vss2svn-0.3.3 -vssproject 
> T:\SOFTWARE\VSS60\test\srcsafe.ini -svnrep
> o C:\Test\SVNCPP
>  
> Project path must be absolute (begin with
> ) at vss2svn-for-exe.pl line 722
>  
> I have tried a couple of different ways, without the drive letters and 
> without srcsafe.ini .
>  
> Nothing works.

--vssproject must be a VSS path, not a drive path. So it'll be something 
like $/project. %SSDIR% must be set as well.

Be sure to read readme.txt, "vss2svn --help" and all documentation that 
came with vss2svn. This isn't (yet) a simple turn-the-crank operation, 
and if you keep trudging forward without reading up a little more, 
you'll end up wasting a lot of your time. Converting an entire 
repository can take days, and you may otherwise end up with something 
you can't use in the end.
Toby Johnson | 19 Jan 2005 16:22
Picon

Re: converting VSS to SVN

There are instructions in install.txt on how to install all the 
necessary Perl modules. Again, reading the instructions is necessary in 
order to get a successful migration, even for a small repository. There 
are certain changes you must make to your Subversion repository in order 
to get anywhere.

Read through install.txt and follow all the directions there. Then read 
readme.txt, especially "Known Problems". Then type vss2svn.pl --help and 
read about the possible arguments.

toby

Harvey Bernstein wrote:

>Copy me on reply.
>
>Thank-you for the reply.
>I took the advice and downloaded ActivePerl 5.8.6
>I still have an issue. The pl is looking for SQLite.pm . Can
>you direct me in where to find this? It did not come in 
>the install/download.
>This is the error
>Can't locate DBD/SQLite.pm in  <at> INC ( <at> INC contains: C:/Perl/lib C:/Perl/site/lib
>.) at vss2svn.pl line 26.
>BEGIN failed--compilation aborted at vss2svn.pl line 26.
>
>The database is really small . Again this is just evaluation purposes only at this time.
>
>Thanks again
>Harvey
>
>-----Original Message-----
>From: Toby Johnson [mailto:toby <at> etjohnson.us]
>Sent: Tuesday, January 18, 2005 3:05 PM
>To: users <at> vss2svn.tigris.org; Harvey Bernstein
>Subject: Re: converting VSS to SVN
>
>
>Harvey Bernstein wrote:
>
>  
>
>>ERROR
>>Can't locate warnings.pm in  <at> INC at vss2svn.pl line 17.
>>BEGIN failed--compilation aborted at vss2svn.pl line 17.
>> 
>>I only have perl version 5.0
>>    
>>
>
>Perl 5.8 is recommended, but you would need at least 5.6. Both of these 
>can be downloaded freely (the "ActivePerl" distros) from ActiveState.com.
>
>  
>
>> 
>>I also tried using the win32 exe (vss2svn-0.3.3.exe) using following 
>>command and keep getting :
>>C:\downloads>vss2svn-0.3.3 -vssproject 
>>T:\SOFTWARE\VSS60\test\srcsafe.ini -svnrep
>>o C:\Test\SVNCPP
>> 
>>Project path must be absolute (begin with
>>) at vss2svn-for-exe.pl line 722
>> 
>>I have tried a couple of different ways, without the drive letters and 
>>without srcsafe.ini .
>> 
>>Nothing works.
>>    
>>
>
>--vssproject must be a VSS path, not a drive path. So it'll be something 
>like $/project. %SSDIR% must be set as well.
>
>Be sure to read readme.txt, "vss2svn --help" and all documentation that 
>came with vss2svn. This isn't (yet) a simple turn-the-crank operation, 
>and if you keep trudging forward without reading up a little more, 
>you'll end up wasting a lot of your time. Converting an entire 
>repository can take days, and you may otherwise end up with something 
>you can't use in the end.
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe <at> vss2svn.tigris.org
>For additional commands, e-mail: users-help <at> vss2svn.tigris.org
>
>  
>
Rutger Dijkstra | 20 Jan 2005 16:40
Picon

--setdate on an existing repository

using --setdate, the script warns that this should only be used
on a brand new repository, otherwise you might end up with a
corrupt database.

Could someone elaborate on this?

I tried it and it worked fine. The order of the revision numbers does
not match the order of the commit-dates but this does not appear to hurt.
Moreover, one recommended (on the svn FAQ) way of merging repositories
uses dump and load in a way that has the same effect, so this would not
appear to be a problem.

cheers, Rutger 
Toby Johnson | 20 Jan 2005 17:29
Picon

Re: --setdate on an existing repository

This warning does need to be clarified. I'm not entirely sure what the 
consequences are of having dates not move in chronological order with 
revision numbers, and it is something I need to look into further.. I do 
know that, at the time I wrote that, TortoiseSVN would fail on certain 
dialogs when this situation existed.

Rutger Dijkstra wrote:

>using --setdate, the script warns that this should only be used
>on a brand new repository, otherwise you might end up with a
>corrupt database.
>
>Could someone elaborate on this?
>
>I tried it and it worked fine. The order of the revision numbers does
>not match the order of the commit-dates but this does not appear to hurt.
>Moreover, one recommended (on the svn FAQ) way of merging repositories
>uses dump and load in a way that has the same effect, so this would not
>appear to be a problem.
>
>cheers, Rutger 
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe <at> vss2svn.tigris.org
>For additional commands, e-mail: users-help <at> vss2svn.tigris.org
>
>  
>
Jon Schewe | 20 Jan 2005 17:54
Gravatar

resource leak in vss2svn?

Has anyone else noticed that when vss2svn is running the commit charge continues to grow until the script finishes and then does not decrease until the system reboots?  I'm seeing this behavior when converting my repositories using ActivePerl 5.8.4 on XP SP2 causing my system to run out of resources (using 1.2GB).


Jon Schewe | http://mtu.net/~jpschewe
GPG signature at http://mtu.net/~jpschewe/gpg.sig.html
For I am convinced that neither death nor life, neither angels
nor demons, neither the present nor the future, nor any
powers, neither height nor depth, nor anything else in all
creation, will be able to separate us from the love of God that
is in Christ Jesus our Lord. - Romans 8:38-39


Gmane