PVCS2 SVN empty svn model - nothing to import

MichaelT
Posts: 2
Joined: Tue Jul 12, 2011 3:21 pm

PVCS2 SVN empty svn model - nothing to import

Postby MichaelT » Fri Jul 15, 2011 6:04 pm

I set up two Subversion virtual servers, one for development and one for production. I was able to successfully "dump" the PVCS repository and import it into the development Subversion server. Now I need to repeat the process for production but I get the following output in the svnimporter.log. The "list" feature doesn't work either and I'm using the exact same config.properties file. It worked once but not a second time. My concern is that the full dump set a flag to prevent duplications and now it will not dump flagged repositories. I did not save the history.log files for use with the "incremental" feature. Any suggestions or assistance would be greatly appreciated. The svnimporter.log and config.properties file contents are pasted below:

svnimporter.log
-------------------
13:31:15,852 [main] INFO MainConfig:84 - ****************************************************************************
13:31:15,852 [main] INFO MainConfig:84 - *** Global options ***
13:31:15,852 [main] INFO MainConfig:84 - Mode = create full dump
13:31:15,852 [main] INFO MainConfig:84 - Import dump into svn = "false"
13:31:15,852 [main] INFO MainConfig:84 - Import dump only if svn repository exist = "false"
13:31:15,852 [main] INFO MainConfig:84 - Full dump path = "full_dump_%date%.txt"
13:31:15,852 [main] INFO MainConfig:84 - Incremental dump path = "incr_dump_%date%.txt"
13:31:15,852 [main] INFO MainConfig:84 - Incremental history path = "incr_history.txt"
13:31:15,852 [main] INFO MainConfig:84 - Save files list to = "files_20110715_133115.txt"
13:31:15,852 [main] INFO MainConfig:84 - Source provider's class = "org.polarion.svnimporter.pvcsprovider.PvcsProvider"
13:31:15,852 [main] INFO MainConfig:84 - Size limit for dump files (in MB): 800
13:31:15,852 [main] INFO PvcsConfig:84 - *** PVCS provider configuration ***
13:31:15,852 [main] INFO PvcsConfig:84 - executable = "pcli.exe"
13:31:15,852 [main] INFO PvcsConfig:84 - projectPath = "F:\Labstat-BLSCentral"
13:31:15,852 [main] INFO PvcsConfig:84 - subproject = "null"
13:31:15,868 [main] INFO PvcsConfig:84 - temp dir = "c:\temp\local\pvcs.tempdir"
13:31:15,868 [main] INFO PvcsConfig:84 - log date format = "MMM dd yyyy HH:mm:ss"
13:31:15,868 [main] INFO PvcsConfig:84 - log date locale = "en"
13:31:15,868 [main] INFO PvcsConfig:84 - log date time zone = "null"
13:31:15,868 [main] INFO PvcsConfig:84 - log encoding = "Cp1251"
13:31:15,868 [main] INFO PvcsConfig:84 - verbose exec = "true"
13:31:15,868 [main] INFO PvcsConfig:84 - user name = "null"
13:31:15,868 [main] INFO PvcsConfig:84 - password = "null"
13:31:15,868 [main] INFO PvcsConfig:84 - import archive attributes = "false"
13:31:15,868 [main] INFO PvcsConfig:84 - keep vlog file = "true"
13:31:15,868 [main] INFO PvcsConfig:84 - validate checkouts = "false"
13:31:15,868 [main] INFO PvcsConfig:84 - checkouttempdir = "svn2pvcs\pvcs.checkouttempdir"
13:31:15,868 [main] INFO ProviderConfig:84 - svnimporter_user_name = "Thompson_Michael"
13:31:15,868 [main] INFO ProviderConfig:84 - only_trunk = "false"
13:31:15,868 [main] INFO ProviderConfig:84 - trunk_path = "trunk"
13:31:15,868 [main] INFO ProviderConfig:84 - branches_path = "branches"
13:31:15,868 [main] INFO ProviderConfig:84 - tags_path = "tags"
13:31:15,868 [main] INFO ProviderConfig:84 - use_only_last_revision_content = "false"
13:31:15,868 [main] INFO ProviderConfig:84 - file_description_property_key = "descriptions"
13:31:15,868 [main] INFO ProviderConfig:84 - use_file_copy = "false"
13:31:15,868 [main] INFO MainConfig:84 - ****************************************************************************
13:31:15,868 [main] INFO historyLogger:84 - **********************************************************************
13:31:15,868 [main] INFO historyLogger:84 - date: Jul 15, 2011 1:31:15 PM
13:31:15,868 [main] INFO historyLogger:84 - mode: create full dump
13:31:15,868 [main] INFO historyLogger:84 - src provider: class org.polarion.svnimporter.pvcsprovider.PvcsProvider
13:31:15,868 [main] INFO historyLogger:84 - creating full svn model...
13:31:15,884 [main] INFO Exec:84 - exec pcli.exe run ->c:/temp/local/pvcs.tempdir/files.tmp -q listversionedfiles -prF:/Labstat-BLSCentral -l -z /
13:31:16,384 [stderr] INFO Exec:84 - Serena PVCS Version Manager (PCLI) v8.4.3.0 (Build 965) for Windows NT/80x86
13:31:16,399 [stderr] INFO Exec:84 - Copyright 1985-2010 Serena Software. All rights reserved.
13:31:17,024 [main] DEBUG Exec:80 - Process exit value: -3
13:31:17,056 [main] INFO Exec:84 - exec pcli.exe run ->c:/temp/local/pvcs.tempdir/vlog.tmp -q vlog -prF:/Labstat-BLSCentral -z /
13:31:17,618 [stderr] INFO Exec:84 - Serena PVCS Version Manager (PCLI) v8.4.3.0 (Build 965) for Windows NT/80x86
13:31:17,618 [stderr] INFO Exec:84 - Copyright 1985-2010 Serena Software. All rights reserved.
13:31:18,259 [main] DEBUG Exec:80 - Process exit value: -3
13:31:18,274 [main] INFO PvcsProvider:84 - PVCS model has been created.
13:31:18,274 [main] INFO Model:84 - Summary:
13:31:18,274 [main] INFO Model:84 - Files: 0
13:31:18,274 [main] INFO Model:84 - Revisions: 0
13:31:18,274 [main] INFO Model:84 - Commits: 0
13:31:18,290 [main] INFO PvcsProvider:84 - Svn model has been created
13:31:18,306 [main] INFO PvcsProvider:84 - total number of revisions in svn model: 0
13:31:18,306 [main] DEBUG PvcsProvider:80 - get all contents for c:\temp\local\pvcs.tempdir
13:31:18,306 [main] INFO Exec:84 - exec pcli.exe run -sc:\temp\local\pvcs.tempdir\instr.tmp
13:31:18,806 [stderr] INFO Exec:84 - Serena PVCS Version Manager (PCLI) v8.4.3.0 (Build 965) for Windows NT/80x86
13:31:18,821 [stderr] INFO Exec:84 - Copyright 1985-2010 Serena Software. All rights reserved.
13:31:19,134 [main] DEBUG Exec:80 - Process exit value: 0
13:31:19,134 [main] INFO historyLogger:84 - empty svn model - nothing to import
13:31:19,134 [main] INFO historyLogger:84 - successfully finished
13:31:19,134 [main] DEBUG PvcsProvider:80 - cleanup
13:31:19,149 [main] INFO historyLogger:84 - duration: 3 seconds

config.properties file contents
------------------------------------

# The source repository provider,
# either cvs,cvsrcs,pvcs,mks,cc,vss or st
# set JAVA_OPTS=-Xmx1500m
### Provider Settings
srcprovider=pvcs
pvcs.checkouttempdir=pvcs


###########################################################################
# Import dump settings
#
# import_dump_into_svn - If enabled then after dump creation,
# it will be imported into svn repository via svnadmin
# (you must write proper svn autoimport options)
# If svn repository is not exist it will be created.
#
# existing-svnrepos - if enables and if import enabled by previous
# option then dump will be imported into svn repository ONLY IF REPOSITORY EXISTS
#
# clear_svn_parent_dir - if enabled and import enabled then application will delete all
# existing records in svn's parent directory before import dump to it.
# (affect for full dump only)
#

### Import Options
#import_dump_into_svn=yes
existing_svnrepos=no
clear_svn_parent_dir=yes

# Option enables that feature:
# "Now the importer always import whole history(with possibilities like trunk-only etc.).
# It should be possible to import only current state as one revision. It is useful for
# the incremental import. In current situation we will never be able to import whole because
# of the size of the dump file."
# But see the new parameter "dump.file.sizelimit.mb" below.
#
# AFFECT FOR FULL DUMP CREATION ONLY!
use_only_last_revision_content=no

# VM systems often allow to set a description on a versioned file (one for all revisions).
# svnimporter is able to migrate it to a svn property. Since there is no predefined
# property key for this purpose in subversion, you can configure it here. If you do
# not give a property key name, the file description will not be migrated.
# NOTE: migration of properties is presently implemented only for PVCS
#
file_description_property_key=description

# If use_file_copy is set to yes, svnimporter uses SVN file copy operations for tags and
# branches. This raises the quality of the import dramatically. On the other hand,
# it works reliably for one-shot imports only. DO NOT SET THIS TO YES if you
# want to make incremental imports to synchronize repositories; otherwise the resulting
# dump files may not be importable to SVN.
#
# If set to no, every branch and tag operation is implemented as a simple file add operation.
# The origin of the tag or branch from the trunk is not recorded.
#
# Presently, this flag is evaluated only by the import from PVCS, CVS, MKS, ClearCase.
#
use_file_copy=no

#####################################################################################
# FILE SETTINGS
#
# full.dump.file - file name pattern for saving full dump
# incr.dump.file - file name pattern for saving incremental dump
# incr.history.file - file for saving history for incremental dump
# list.files.to - destination file for saving scm's files list
# dump.file.sizelimit.mb - rough maximum dump file size in MegaBytes. See below.

#####################################################################################
### File Options
full.dump.file=M:/full_dump_%date%.txt
incr.dump.file=M:/incr_dump_%date%.txt
incr.history.file=M:/incr_history.txt
list.files.to=M:/files_%date%.txt

# svnimporter checks the size of the current dump file before dump of each revision. If
# the size (in Megabytes) exceeds this limit, a new dump file is created. For large
# source repositories and/or small size limits, a run of svnimporter will generate a
# sequence of dump files. Their actual sizes will be slightly larger than the limit
# specified here.
#
# Take care not to set the limit too small. The dump file names are distinguished
# by their date part only which has a resolution of one second. Producing one dump file
# should therefore take longer than one second.
#
# Set the value to 0 to switch off this feature.

dump.file.sizelimit.mb=0

#######################################################################################
# SVN DUMP OPTIONS
#
# trunk_path - location of "trunk" folder. Can be "." if "only_trunk" option is enabled
# branches_path - location of "branches" folder
# tags_path - location of "tags" path
# svnimporter_user_name - name of service user, which create first revision etc.
# only_trunk - if enabled then convert only trunk of repository (skip tags and branches)
#######################################################################################
### SVN dump options
trunk_path=trunk
branches_path=branches
tags_path=tags
svnimporter_user_name=Thompson_Michael
only_trunk=no


#######################################################################################
# SVN AUTOIMPORT OPTIONS
#
# svnadmin.executable - path to svnadmin executable
# svnadmin.repository_path - path to svn repository
# svnadmin.parent_dir - parent dir in svn repository for importing dump (must be created manually)
# svnadmin.tempdir - temp directory for svnadmin
# svnclient.executable - path to svn executable
# svnadmin.import_timeout - The value is length of time to wait in milliseconds,
# if this parameter is set and "svnadmin load" did not finished after specified length of time
# then it's process will be killed and svnimporter execution will be aborted.
# svnadmin.path_not_exist_signature - when importer checks repository path for existing
# it compares output of "svn ls" command with given string. If given string not found
# in command output and command return code is not null then importer cannot determine
# path exist or not, then exception will be thrown.
# If you runs importer not in English locale and log file contains similar as following error:
# EXCEPTION CAUGHT: org.polarion.svnimporter.svnprovider.SvnAdminException:
error during execution 'svn ls' command: svn: URL 'file:///c:/tmp/ImportFromCvs/zzzzz' existiert nicht in dieser Revision
# then you should change signature to "existiert nicht in dieser Revision"
#######################################################################################
### SVN Options
svnadmin.executable=//dewsdev1.psb.bls.gov/C$/csvn/bin/svnadmin.exe
svnadmin.repository_path=//dewsdev1.psb.bls.gov/C$/csvn/data/repositories
svnadmin.parent_dir=//dewsdev1.psb.bls.gov/C$/csvn
svnadmin.tempdir=//dewsdev1.psb.bls.gov/C$/temp/local
svnclient.executable=//dewsdev1.psb.bls.gov/C$/csvn/bin/svn.exe
svnadmin.verbose_exec=yes
#svnadmin.import_timeout=1800000

svnadmin.path_not_exist_signature=non-existent in that revision
#svnadmin.path_not_exist_signature=existiert nicht in dieser Revision

#################################################################################
########################## PVCS PROVIDER CONFIGURATION ##########################
#################################################################################

pvcs.class=org.polarion.svnimporter.pvcsprovider.PvcsProvider
# BTW, pcli.exe - must be in the search path
pvcs.executable="D:/Program Files/Serena/vm/win32/bin/pcli.exe"
pvcs.projectpath=F:/Labstat-BLSCentral
pvcs.subproject=
pvcs.tempdir=c:/temp/local
pvcs.log.dateformat=MMM dd yyyy HH:mm:ss
pvcs.log.datelocale=en
pvcs.log.encoding=Cp1251
#pvcs.log.datetimezone=Europe/Berlin
pvcs.verbose_exec=yes
#pvcs.username=MILLER_E
#pvcs.password=smile

# If you set keep_vlogfile to "yes", and there already exist vlog.tmp and files.tmp
# files in the tempdir from a previous run of svnimporter, these files will not
# be regenerated. This is useful in some special situations, for example when you
# want to make sure you import the same state of the PVCS archive as before.
#
# pvcs.keep_vlogfile=yes

# If import_attributes=yes, svnimporter will try to map the PVCS archive attributes
# to SVN properties. However, it is usually better to use the auto-props feature of Subversion
# to set properties during the import.
#
# pvcs.import_attributes=yes

# The bug was occasionally observed during import of big projects
# (many files/revisions) and heavy PVCS load (probably).
# This bug is actually caused by invalid behaviour of pcli.exe get command,
# which sometimes returns invalid file content (wich less than 0.1% probability)
# if pvcs.validate_checkouts set to "yes" then importer will detect this bug
# and try to fix it.
# It may slow down import process because each checkout will be performed twice (at least)

pvcs.validate_checkouts=yes




#################################################################################

#################################################################################
########################## LOG4J CONFIGURATION ##################################
#################################################################################
log4j.rootLogger=DEBUG, file

#log4j.logger.cz=DEBUG, file
#log4j.logger.cz=DEBUG, stdout

log4j.logger.historyLogger=DEBUG, historyFile

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=svnimporter.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%t] %5p %c{1}:%L - %m%n

log4j.appender.historyFile=org.apache.log4j.FileAppender
log4j.appender.historyFile.File=history.log
log4j.appender.historyFile.layout=org.apache.log4j.PatternLayout
log4j.appender.historyFile.layout.ConversionPattern=%m%n

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%c{1}:%L %5p - %m%n


#################################################################################
############################### DEBUG OPTIONS ###################################
#################################################################################
#
# do not delete provider's temporary files
#
disable_cleanup=no

# Create or playback a playback log file
# This playback log file, plus your config.properties file can be emailed
# to the developers who can play it back to identify specific problems with
# your migration attempts.

# record.mode = normal - normal operation, nothing will be recorded or played
# record - record all interactions with RCS system
# record-stubs - same as record, except actual contents of
# member files will be replaced with a single
# line containing the file name and revision number
# Makes a much smaller file that reveals much
# less sensitive information.
# playback - Play back previously recorded playback log file
# record.file = name of playback log file to record or playback

record.mode=normal
record.file=playback-log.txt

NickEntin
Posts: 472
Joined: Tue Oct 24, 2006 10:27 am
Location: Polarion Software GmbH, Stuttgart
Contact:

Re: PVCS2 SVN empty svn model - nothing to import

Postby NickEntin » Wed Jul 20, 2011 10:20 am

Hi Michael,

the repositories themselves are not marked anyhow.
There are files stored for incremental migration, but as you say you don't keep them. I don't know what might be wrong here, but a simple try worths:
- make new folder and extract default SVNImport package there (so you're sure there is no files from the test repository migration).
- copy only configuration file from the test importer folder.
- run the importer. I guess it will succeed.

Best regards,
Nick

MichaelT
Posts: 2
Joined: Tue Jul 12, 2011 3:21 pm

Re: PVCS2 SVN empty svn model - nothing to import

Postby MichaelT » Thu Jul 21, 2011 1:17 pm

I tried that as one of my troubleshooting procedures. Additionally, I restored the History.log and the svnimporter.log and attempted an incremental export with the same results.

Recently, I was informed that between my first export and my subsequent attempt, PVCS was upgraded from Version Manager 8.1 to 8.4. I suspect that either it didn't go well or Serena has modified it's databases to prevent a mass exodus from PVCS to Subversion. Is your converter tool compatible with Serena Version Manager 8.4?

kencorbin
Posts: 197
Joined: Fri Nov 16, 2007 10:30 pm
Location: Corvallis, OR

Re: PVCS2 SVN empty svn model - nothing to import

Postby kencorbin » Tue Aug 09, 2011 11:01 pm

FWIW, I would never do a migration without setting file_copy to yes. Doing that results in a much cleaner (and much smaller) repository. Even if it does preclude doing incremental migrations.

I am curious why you couldn't load the dump files into your production system. Do I understand this correctly that the same dump files you loaded successfully into the development server would not load into the production server? That would pretty much rule out everything except permission problems, or possibly trying to load the dump files on top of preexisting data. What does the output of the load command look like?


Return to “Polarion SVN Importer (Repository Converter)”

Who is online

Users browsing this forum: No registered users and 4 guests