Problems converting PVCS 8.1.4.0 to SVN

bgoldca
Posts: 2
Joined: Mon Mar 02, 2015 10:17 pm

Problems converting PVCS 8.1.4.0 to SVN

Postby bgoldca » Mon Mar 02, 2015 10:30 pm

Hi. I'm trying to migrate from PVCS to SVN using PVCS2SVN and not getting very far at all. I'm running this on a Windows 2008 server and my PVCS files are on the network at M:\Engineering\SOUP. I set the trunk_path to M:\Engineering\SOUP and I'm really not sure what to set branches_path to so I just set it to: \branches. Here's the contents of my svnimporter.log file:

Code: Select all

11:20:47,305 [main] ERROR PvcsConfig:96 - trunk path can't be '.' if option 'only_trunk' is disabled
11:20:47,318 [main] ERROR PvcsConfig:96 - configuration property 'pvcs.checkouttempdir' is not set
11:24:56,399 [main] ERROR PvcsConfig:96 - configuration property 'branches_path' is not set
11:27:16,976 [main] ERROR PvcsConfig:96 - configuration property 'branches_path' is not set
11:29:47,079 [main] ERROR PvcsConfig:96 - configuration property 'branches_path' is not set
11:31:02,332 [main]  INFO MainConfig:84 - ****************************************************************************
11:31:02,337 [main]  INFO MainConfig:84 - *** Global options ***
11:31:02,337 [main]  INFO MainConfig:84 - Mode = list files
11:31:02,337 [main]  INFO MainConfig:84 - Import dump into svn = "true"
11:31:02,338 [main]  INFO MainConfig:84 - Import dump only if svn repository exist = "false"
11:31:02,338 [main]  INFO MainConfig:84 - Full dump path = "full_dump_%date%.txt"
11:31:02,339 [main]  INFO MainConfig:84 - Incremental dump path = "incr_dump_%date%.txt"
11:31:02,340 [main]  INFO MainConfig:84 - Incremental history path = "incr_history.txt"
11:31:02,341 [main]  INFO MainConfig:84 - Save files list to = "files_20150302_113102.txt"
11:31:02,341 [main]  INFO MainConfig:84 - Source provider's class = "org.polarion.svnimporter.pvcsprovider.PvcsProvider"
11:31:02,341 [main]  INFO MainConfig:84 - Size limit for dump files (in MB): 400
11:31:02,342 [main]  INFO PvcsConfig:84 - *** PVCS provider configuration ***
11:31:02,342 [main]  INFO PvcsConfig:84 - executable = "pcli.exe"
11:31:02,342 [main]  INFO PvcsConfig:84 - projectPath = "M:EngineeringSOUPpvcs.subproject="
11:31:02,343 [main]  INFO PvcsConfig:84 - subproject = "null"
11:31:02,345 [main]  INFO PvcsConfig:84 - temp dir = "c:\temp\local\pvcs.tempdir"
11:31:02,347 [main]  INFO PvcsConfig:84 - log date format = "MMM dd yyyy HH:mm:ss"
11:31:02,350 [main]  INFO PvcsConfig:84 - log date locale = "en"
11:31:02,350 [main]  INFO PvcsConfig:84 - log date time zone = "null"
11:31:02,351 [main]  INFO PvcsConfig:84 - log encoding = "Cp1251"
11:31:02,351 [main]  INFO PvcsConfig:84 - verbose exec = "true"
11:31:02,351 [main]  INFO PvcsConfig:84 - user name = "beng"
11:31:02,351 [main]  INFO PvcsConfig:84 - password = "MyPasswordHere"
11:31:02,353 [main]  INFO PvcsConfig:84 - import archive attributes = "false"
11:31:02,353 [main]  INFO PvcsConfig:84 - keep vlog file = "false"
11:31:02,353 [main]  INFO PvcsConfig:84 - validate checkouts = "true"
11:31:02,353 [main]  INFO PvcsConfig:84 - checkouttempdir = "c:pvcs2svncheckout\pvcs.checkouttempdir"
11:31:02,354 [main]  INFO ProviderConfig:84 - svnimporter_user_name = "beng"
11:31:02,354 [main]  INFO ProviderConfig:84 - only_trunk = "true"
11:31:02,354 [main]  INFO ProviderConfig:84 - trunk_path = "M:EngineeringSOUP"
11:31:02,354 [main]  INFO ProviderConfig:84 - branches_path = "branches"
11:31:02,354 [main]  INFO ProviderConfig:84 - tags_path = "tags"
11:31:02,355 [main]  INFO ProviderConfig:84 - use_only_last_revision_content = "false"
11:31:02,355 [main]  INFO ProviderConfig:84 - file_description_property_key = "description"
11:31:02,355 [main]  INFO ProviderConfig:84 - use_file_copy = "true"
11:31:02,355 [main]  WARN ProviderConfig:88 - WARNING: you enabled use_file_copy, so you will not be able to make incremental imports to synchronize repositories
11:31:02,356 [main]  INFO MainConfig:84 - ****************************************************************************
11:31:02,356 [main]  INFO historyLogger:84 - **********************************************************************
11:31:02,357 [main]  INFO historyLogger:84 - date: Mar 2, 2015 11:31:02 AM
11:31:02,358 [main]  INFO historyLogger:84 - mode: list files
11:31:02,358 [main]  INFO historyLogger:84 - src provider: class org.polarion.svnimporter.pvcsprovider.PvcsProvider
11:31:02,360 [main]  INFO Main:84 - List files to files_20150302_113102.txt
11:31:02,378 [main]  INFO Exec:84 - exec pcli.exe run ->c:/temp/local/pvcs.tempdir/files.tmp -q listversionedfiles -prM:EngineeringSOUPpvcs.subproject= -idbeng:Longword2! -l -z /
11:31:02,476 [main] ERROR Main:96 - EXCEPTION CAUGHT: org.polarion.svnimporter.pvcsprovider.PvcsException: error during execution command pcli.exe run ->c:/temp/local/pvcs.tempdir/files.tmp -q listversionedfiles -prM:EngineeringSOUPpvcs.subproject= -idbeng:Longword2! -l -z /, exception caught
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.executeCommand(PvcsProvider.java:494)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.getLogInformation(PvcsProvider.java:212)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.buildPvcsModel(PvcsProvider.java:128)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.listFiles(PvcsProvider.java:154)
   at org.polarion.svnimporter.main.Main.listFiles(Main.java:169)
   at org.polarion.svnimporter.main.Main.run(Main.java:86)
   at org.polarion.svnimporter.main.Main.main(Main.java:51)
Caused by: java.io.IOException: Cannot run program "pcli.exe" (in directory "c:\temp\local\pvcs.tempdir"): CreateProcess error=2, The system cannot find the file specified
   at java.lang.ProcessBuilder.start(Unknown Source)
   at java.lang.Runtime.exec(Unknown Source)
   at org.polarion.svnimporter.common.Exec.exec(Exec.java:218)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.executeCommand(PvcsProvider.java:491)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.getLogInformation(PvcsProvider.java:212)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.buildPvcsModel(PvcsProvider.java:128)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.listFiles(PvcsProvider.java:154)
   at org.polarion.svnimporter.main.Main.listFiles(Main.java:169)
   at org.polarion.svnimporter.main.Main.run(Main.java:86)
   at org.polarion.svnimporter.main.Main.main(Main.java:51)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
   at java.lang.ProcessImpl.create(Native Method)
   at java.lang.ProcessImpl.<init>(Unknown Source)
   at java.lang.ProcessImpl.start(Unknown Source)
   at java.lang.ProcessBuilder.start(Unknown Source)
   at java.lang.Runtime.exec(Unknown Source)
   at org.polarion.svnimporter.common.Exec.exec(Exec.java:218)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.executeCommand(PvcsProvider.java:491)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.getLogInformation(PvcsProvider.java:212)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.buildPvcsModel(PvcsProvider.java:128)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.listFiles(PvcsProvider.java:154)
   at org.polarion.svnimporter.main.Main.listFiles(Main.java:169)
   at org.polarion.svnimporter.main.Main.run(Main.java:86)
   at org.polarion.svnimporter.main.Main.main(Main.java:51)

11:31:02,481 [main] DEBUG PvcsProvider:80 - cleanup
11:31:02,483 [main]  INFO historyLogger:84 - duration: 0 seconds
14:11:40,789 [main]  INFO MainConfig:84 - ****************************************************************************
14:11:40,794 [main]  INFO MainConfig:84 - *** Global options ***
14:11:40,795 [main]  INFO MainConfig:84 - Mode = list files
14:11:40,795 [main]  INFO MainConfig:84 - Import dump into svn = "true"
14:11:40,795 [main]  INFO MainConfig:84 - Import dump only if svn repository exist = "false"
14:11:40,796 [main]  INFO MainConfig:84 - Full dump path = "full_dump_%date%.txt"
14:11:40,796 [main]  INFO MainConfig:84 - Incremental dump path = "incr_dump_%date%.txt"
14:11:40,797 [main]  INFO MainConfig:84 - Incremental history path = "incr_history.txt"
14:11:40,797 [main]  INFO MainConfig:84 - Save files list to = "files_20150302_141140.txt"
14:11:40,798 [main]  INFO MainConfig:84 - Source provider's class = "org.polarion.svnimporter.pvcsprovider.PvcsProvider"
14:11:40,798 [main]  INFO MainConfig:84 - Size limit for dump files (in MB): 400
14:11:40,798 [main]  INFO PvcsConfig:84 - *** PVCS provider configuration ***
14:11:40,799 [main]  INFO PvcsConfig:84 - executable = "pcli.exe"
14:11:40,799 [main]  INFO PvcsConfig:84 - projectPath = "M:EngineeringSOUPpvcs.subproject="
14:11:40,799 [main]  INFO PvcsConfig:84 - subproject = "null"
14:11:40,806 [main]  INFO PvcsConfig:84 - temp dir = "c:\temp\local\pvcs.tempdir"
14:11:40,808 [main]  INFO PvcsConfig:84 - log date format = "MMM dd yyyy HH:mm:ss"
14:11:40,812 [main]  INFO PvcsConfig:84 - log date locale = "en"
14:11:40,812 [main]  INFO PvcsConfig:84 - log date time zone = "null"
14:11:40,812 [main]  INFO PvcsConfig:84 - log encoding = "Cp1251"
14:11:40,812 [main]  INFO PvcsConfig:84 - verbose exec = "true"
14:11:40,813 [main]  INFO PvcsConfig:84 - user name = "beng"
14:11:40,813 [main]  INFO PvcsConfig:84 - password = "MyPasswordHere!"
14:11:40,814 [main]  INFO PvcsConfig:84 - import archive attributes = "false"
14:11:40,814 [main]  INFO PvcsConfig:84 - keep vlog file = "false"
14:11:40,815 [main]  INFO PvcsConfig:84 - validate checkouts = "true"
14:11:40,815 [main]  INFO PvcsConfig:84 - checkouttempdir = "c:pvcs2svncheckout\pvcs.checkouttempdir"
14:11:40,815 [main]  INFO ProviderConfig:84 - svnimporter_user_name = "beng"
14:11:40,815 [main]  INFO ProviderConfig:84 - only_trunk = "true"
14:11:40,816 [main]  INFO ProviderConfig:84 - trunk_path = "M:EngineeringSOUP"
14:11:40,816 [main]  INFO ProviderConfig:84 - branches_path = "branches"
14:11:40,819 [main]  INFO ProviderConfig:84 - tags_path = "tags"
14:11:40,819 [main]  INFO ProviderConfig:84 - use_only_last_revision_content = "false"
14:11:40,819 [main]  INFO ProviderConfig:84 - file_description_property_key = "description"
14:11:40,820 [main]  INFO ProviderConfig:84 - use_file_copy = "true"
14:11:40,820 [main]  WARN ProviderConfig:88 - WARNING: you enabled use_file_copy, so you will not be able to make incremental imports to synchronize repositories
14:11:40,820 [main]  INFO MainConfig:84 - ****************************************************************************
14:11:40,820 [main]  INFO historyLogger:84 - **********************************************************************
14:11:40,821 [main]  INFO historyLogger:84 - date: Mar 2, 2015 2:11:40 PM
14:11:40,825 [main]  INFO historyLogger:84 - mode: list files
14:11:40,825 [main]  INFO historyLogger:84 - src provider: class org.polarion.svnimporter.pvcsprovider.PvcsProvider
14:11:40,827 [main]  INFO Main:84 - List files to files_20150302_141140.txt
14:11:40,840 [main]  INFO Exec:84 - exec pcli.exe run ->c:/temp/local/pvcs.tempdir/files.tmp -q listversionedfiles -prM:EngineeringSOUPpvcs.subproject= -idbeng:Longword2! -l -z /
14:11:40,863 [main] ERROR Main:96 - EXCEPTION CAUGHT: org.polarion.svnimporter.pvcsprovider.PvcsException: error during execution command pcli.exe run ->c:/temp/local/pvcs.tempdir/files.tmp -q listversionedfiles -prM:EngineeringSOUPpvcs.subproject= -idbeng:Longword2! -l -z /, exception caught
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.executeCommand(PvcsProvider.java:494)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.getLogInformation(PvcsProvider.java:212)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.buildPvcsModel(PvcsProvider.java:128)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.listFiles(PvcsProvider.java:154)
   at org.polarion.svnimporter.main.Main.listFiles(Main.java:169)
   at org.polarion.svnimporter.main.Main.run(Main.java:86)
   at org.polarion.svnimporter.main.Main.main(Main.java:51)
Caused by: java.io.IOException: Cannot run program "pcli.exe" (in directory "c:\temp\local\pvcs.tempdir"): CreateProcess error=2, The system cannot find the file specified
   at java.lang.ProcessBuilder.start(Unknown Source)
   at java.lang.Runtime.exec(Unknown Source)
   at org.polarion.svnimporter.common.Exec.exec(Exec.java:218)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.executeCommand(PvcsProvider.java:491)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.getLogInformation(PvcsProvider.java:212)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.buildPvcsModel(PvcsProvider.java:128)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.listFiles(PvcsProvider.java:154)
   at org.polarion.svnimporter.main.Main.listFiles(Main.java:169)
   at org.polarion.svnimporter.main.Main.run(Main.java:86)
   at org.polarion.svnimporter.main.Main.main(Main.java:51)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
   at java.lang.ProcessImpl.create(Native Method)
   at java.lang.ProcessImpl.<init>(Unknown Source)
   at java.lang.ProcessImpl.start(Unknown Source)
   at java.lang.ProcessBuilder.start(Unknown Source)
   at java.lang.Runtime.exec(Unknown Source)
   at org.polarion.svnimporter.common.Exec.exec(Exec.java:218)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.executeCommand(PvcsProvider.java:491)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.getLogInformation(PvcsProvider.java:212)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.buildPvcsModel(PvcsProvider.java:128)
   at org.polarion.svnimporter.pvcsprovider.PvcsProvider.listFiles(PvcsProvider.java:154)
   at org.polarion.svnimporter.main.Main.listFiles(Main.java:169)
   at org.polarion.svnimporter.main.Main.run(Main.java:86)
   at org.polarion.svnimporter.main.Main.main(Main.java:51)

14:11:40,865 [main] DEBUG PvcsProvider:80 - cleanup
14:11:40,867 [main]  INFO historyLogger:84 - duration: 0 seconds

And here's the contents of my config.properties:

Code: Select all

# The source repository provider,
# either cvs,cvsrcs,pvcs,mks,cc,vss or st
srcprovider=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_dump_into_svn=yes

#existing_svnrepos=yes

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=yes

#####################################################################################
# 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.

#####################################################################################
full.dump.file=full_dump_%date%.txt
incr.dump.file=incr_dump_%date%.txt
incr.history.file=incr_history.txt
list.files.to=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=400

#######################################################################################
# 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)
#######################################################################################
trunk_path=M:\Engineering\SOUP
branches_path=\branches
tags_path=tags
svnimporter_user_name=beng
only_trunk=yes


#######################################################################################
# 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"
#######################################################################################
svnadmin.executable=svnadmin.exe
svnadmin.repository_path=C:/Program Files/CollabNet/Subversion Client
svnadmin.parent_dir=.
svnadmin.tempdir=c:/temp/local
svnclient.executable=C:/Program Files/CollabNet/Subversion Client/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

#################################################################################
########################## CVS PROVIDER CONFIGURATION ###########################
#################################################################################

cvs.class=org.polarion.svnimporter.cvsprovider.CvsProvider
cvs.username=anonymous
cvs.password=
cvs.hostname=cvshost
cvs.repository=/var/cvs

# 1) Module name can contains filename in tail (ex.: 'test4/dir/file')
#    then dump will be built for single file
# 2) If modulename=* (or .) then all modules from the repository will be converted
cvs.modulename=cvsmodule

cvs.tempdir=c:/temp/local


#       some repositories uses not standart date format for
#      'log' command. (standart is yyyy/MM/dd HH:mm:ss),
#      in that case you must adjust this option to actual value
#      For example if you receive error
#      'java.lang.Exception: Couldn't parse date 2003/07/21 13:19:09'
#      you must change this option to
#cvs.logdateformat=yyyy-MM-dd HH:mm:ss

#################################################################################
########################## CVSRCS PROVIDER CONFIGURATION ########################
#################################################################################
# This provider works with local CVS repository using RCS tools "rlog" and "co".
# Requirements:
# * You must have CVS repository on your local file system
# * You must have RCS installed
#
# Configuration:
# cvsrcs.repository_path - path to CVS repository
# cvsrcs.rlog_command - path to RCS "rlog" command (can be full path to executable,
#   or name of command if it accessible via PATH)
# cvsrcs.co_command - path to RCS "co" command
# cvsrcs.logdateformat - see cvs.logdateformat
# cvsrcs.tempdir - path to temp directory

cvsrcs.class=org.polarion.svnimporter.cvsprovider.CvsRcsProvider
cvsrcs.repository_path=/var/cvs/test-file-copy
cvsrcs.rlog_command=rlog
cvsrcs.co_command=co
cvsrcs.tempdir=/tmp
#cvsrcs.logdateformat=yyyy-MM-dd HH:mm:ss

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

pvcs.class=org.polarion.svnimporter.pvcsprovider.PvcsProvider
pvcs.executable=pcli.exe
pvcs.projectpath=M:\Engineering\SOUP\
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.checkouttempdir=c:\pvcs2svn\checkout
pvcs.verbose_exec=yes
pvcs.username=beng
pvcs.password=MyPasswordHere
pvcs.branches_path=.
# 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

#################################################################################
########################## VSS PROVIDER CONFIGURATION ###########################
#################################################################################
vss.class=org.polarion.svnimporter.vssprovider.VssProvider
vss.executable=C:\\Program Files\\Microsoft Visual Studio\\VSS\\win32\\ss.exe
vss.path=\\\\gigaltsov\\vss
vss.project=$/test2
vss.username=test
vss.password=test
vss.tempdir=c:/temp/local
vss.log.dateformat=dd.MM.yy HH:mm
vss.log.datelocale=en
vss.log.encoding=Cp1251
# if enabled - dump output of vss.executable command to stdout
vss.verbose_exec=yes
#if enabled, com-api is used instead of ss.exe
vss.use.com.api=no


#################################################################################
########################## CLEAR CASE PROVIDER CONFIGURATION ####################
#################################################################################
cc.class=org.polarion.svnimporter.ccprovider.CCProvider
cc.executable=cleartool.exe
cc.projectpath=p:/ccview/sources/test
cc.log.dateformat=yyyyMMdd.HHmmss
cc.log.encoding=Cp1251
cc.tempdir=c:/temp/local
cc.verbose_exec=yes

#################################################################################
########################## MKS PROVIDER CONFIGURATION ###########################
#################################################################################
# mks.executable       Path to MKS client executable
# mks.project          MKS project being migrated
# mks.log.dateformat   Date format used to parse dates from client output
# mks.log.datelocale     Date locale used to parse dates from client output
# mks.log.encoding      Encoding used to parse client output
# mks.tempdir           directory used for temporary work files
# mks.verbose_exec      yes to log output of all client commands
# mks.tag.option        option controls how tags are generated from checkpoints
#   none            No tags are generated
#   label_only          Tags generarted from checkpoint labels only
#    number_only         Tags generated from checkpoint numbers only
#   label_or_number     Tags generated from labels if present,
#                     otherwise from checkpoint number
#   label_and_number   Tags generated from labels and from checkpoint number
#   label_with_number   If no labels are present, tag is generated from checkpoint
#                       number.  If labels are present, tags will be generated
#                       by concatenating the checkpoint number with each label.
# mks.orphan.branches   Generate orphan branches to hold revisions that are not
#                       on the standard path or on any defined alternate
#                       development path.  In rare cases where these orphaned
#                       revisions have been included in checkpoints, the revision
#                       will be dropped with a warning that it is on an orphaned
#                       branch unless this is set.
# mks.orphan.prefix     Prefix to use to generate orphan branch names.
#                       Defaults to "orphan"
# mks.exec.limit      If not zero, this limits the number of commands
#                       sent to a specific instance of the MKS client before
#                       it will be killed and restarted.  This can be used
#                       for very large projects where mememory leaks in the
#                       client application may run it out of memory if it
#                       is used for too many commands.
# mks.exec.continue     Log error rather than abort when an invoked MKS
#                       command returns an error code.  Its intended use is
#                       to speed up troubleshooting by allowing most MKS
#                       problems to be reported in a single run.  It should
#                       ***NEVER*** be set durring a live migration.
# mks.root.dir          If present, specifies a subdirectory within the MKS
#                       archive which should be migrated to the root of the
#                       Subversion repository dump file.  Any members that are
#                       not in or under this subdirectory will not be migrated
# mks.no.split.branch.on.delete This is used to handle an obtuse situation
#                               that you will probably never have to worry
#                               about.  OK, if you really want to know...
#
# In the MKS archive, if you create a new development path, then delete a member
# from the orginal trunk path while continuing to check in changes on the
# development path.  MKS will continue to assign revision numbers for revisions
# on the development path that look like the standard revision numbers on the
# trunk path.  The importer is expecting this situation.  When it finds that
# a member has been deleted on one development path but still newer revisions
# within that member branch, it splits the branch into two branches moving
# the remaining revisions to that new branch.  When it later encounters the
# new development path, it can assign the new branch to that development path
# and everything comes out just peachy.
#
# Ocasionaly we find an MKS project where a developer has used the setrevision
# feature to set some less than current revision as the current revision.  Then
# later deleted the member altogether.  Lets say that the current revision was
# 1.4, the developer later set the current revision to 1.3, and then deleted it.
# Now when the importer finds that the 1.3 revision has been deleted, but a
# later 1.4 revisions exists, it moves that revision to a split branch anticipating
# it will be assigned to a later development path.  But there is no later
# development path, and when we get to a checkpoint on this development path
# that contains the 1.4 revision, it will be on the wrong path, and later found
# to be orphaned and not included in the Subversion tag that should include it.
#
# If you have the misfortune to run into this situation, which can usually be
# identified in the logs from warnings that a revision is on the wrong branch
# followed by warnings that it is orphaned, you can suppress the normal logic
# to split branches when a revision is deleted by setting the
# mks.no.split.branch.on.delete setting to 'yes'.
mks.class=org.polarion.svnimporter.mksprovider.MksProvider
mks.executable=C:/Program Files/MKS/IntegrityClient/bin/si.exe
mks.project=c:/temp/mks_project/project.pj
mks.log.dateformat=MMM dd, yyyy - hh:mm aa
mks.log.datelocale=en
mks.log.encoding=ibm866
mks.tempdir=c:/temp/local
mks.verbose_exec=yes
mks.tag.option=label_with_number
mks.orphan.branches=no
mks.orphan.prefix=orphan
mks.exec.limit=0
mks.exec.continue=no
mks.root.dir=
mks.no.split.branch.on.delete=

#################################################################################
########################## STAR TEAM PROVIDER CONFIGURATION #####################
#################################################################################
st.class=org.polarion.svnimporter.stprovider.STProvider
### NOTE: The Star Team provider requires the external jar file to access the
### repository. The file has name starteam80.jar and can be found in the Star
### Team installation folder. Copy this jar into the importer lib folder, before
### using the Star Team provider.

#st.url=username:password@server:port/Project/View/Folder
#st.url=username:password@server:port/Project/View
#st.url=username:password@server:port/Project
st.tempdir=D:/temp/starteam/temp

# you can specify an include and/or exclude regular expression that will be
# matched against the view relative path of an item
# (hint: the path is relative and uses "/" as the path separator)
#st.includes.regex=
#st.excludes.regex

# a property file for translating user names (format: logonname=StarTeam Full Name)
# Note: this us useful to translate verbose StarTeam names to Subversion logon names (without spaces)
# if you set a file here each unhandled user name will be replaced with svnimporter_user_name)
# default value: not set (which means no conversion)
#st.usermappings=usermappings.properties

# can be set to completely skip lables
#st.ignorelables=yes

# should we try separating commits using linked change requests?
# Note: Not all StarTeam projects are suitable for this option.
# this option is likly to create overlapping commits; an exception
# is thrown in the case that this overlapping will break the subversion
# dump. You are requested to deactivate this option in that case.
# default value: no
#st.separatecommitsusingcrs=yes

# a properties file to translate cr numbers (eg. 242=JIRA-142)
# default value: not set (which means no conversion)
#st.crmappings=crmappings.properties

# can be set to automatically attach a list of linked crs to a commit message
# Note: whether or not this is enabled, the list of linked CRs is always set ad
# a svn property; this property just attaches it to the commit message
# default value: no
#st.attachlinkedcrs=yes

# the time span in seconds that should be considered as one single commit
# Note: must be from the same author
# Note2: It might happen that the author changed the same file multiple
# times within the specified timespan. In this case, all changes will appear
# as only ONE single commit and only ONE single change. If you don't want
# this behavior you should not set checkintimespan or set it to 0.
# A message is logged with severity INFO in such cases. Thus, you can check your
# log files afterwards.
# Note3: This can also create overlapping commits. Example:
#   st.checkintimespan=300
#   15:01 userA starts committing
#   15:02 userB starts committing
#   15:04 userA finishes committing
#   (time when userB finishes committing doesn't matter)
# This maybe because StarTeam was slow ;). Anyway, the importer checks this case
# and issues a WARNING message. It then further checks that the following
# (overlapping) commit does not conflict with the commit. If a conflict
# is detected the conversion process is aborted and you are requested to
# take further actions (eg. reduce checkintimespan).

#st.checkintimespan=300

# you can specify if derived views for the given 'st.url' be imported. Defaults to no.
#st.import.derived.views=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


Any help would be much appreciated!

Return to “Polarion SVN Importer (Repository Converter)”

Who is online

Users browsing this forum: No registered users and 1 guest