PCLI API problems on conversion from PVCS 6.5

haefy
Posts: 2
Joined: Wed May 17, 2006 7:34 am

PCLI API problems on conversion from PVCS 6.5

Postby haefy » Wed May 17, 2006 7:56 am

Hi everybody,
i am trying to convert a pvcs repository svn.
The pvcs version is 6.5.
Every time execute the java file the file the vlog file is not created and
so nothing is created as you can see in summery of the log file.

In my opinion the problem ist "pcli vlog" command which is not part of the 6.5 API.
Does anybody now a workaround for pvcs version 6.5 ?

Here is the corresponding log:
C:\temp\svn-importer>java -jar svnimporter.jar full config.properties_new
MainConfig:84 INFO - ****************************************************************************
MainConfig:84 INFO - *** Global options ***
MainConfig:84 INFO - Mode = create full dump
MainConfig:84 INFO - Import dump into svn = "false"
MainConfig:84 INFO - Import dump only if svn repository exist = "false"
MainConfig:84 INFO - Full dump path = "C:/Tmp/dump/full_dump_%date%.txt"
MainConfig:84 INFO - Incremental dump path = "incr_dump_%date%.txt"
MainConfig:84 INFO - Incremental history path = "incr_history.txt"
MainConfig:84 INFO - Save files list to = "files_20060517_094613.txt"
MainConfig:84 INFO - Source provider's class = "org.polarion.svnimporter.pvcsprovider.PvcsProvider"
MainConfig:84 INFO - Size limit for dump files (in MB): 400
PvcsConfig:84 INFO - *** PVCS provider configuration ***
PvcsConfig:84 INFO - executable = "H:\AN\TOOLS\pvcs\VM\Win32\Bin\pcli.exe"
PvcsConfig:84 INFO - projectPath = "C:\Tmp\PVCS_TEST\archives"
PvcsConfig:84 INFO - subproject = "null"
PvcsConfig:84 INFO - temp dir = "c:\temp\pvcs.tempdir"
PvcsConfig:84 INFO - log date format = "MMM dd yyyy HH:mm:ss"
PvcsConfig:84 INFO - log date locale = "en"
PvcsConfig:84 INFO - log date time zone = "null"
PvcsConfig:84 INFO - log encoding = "Cp1251"
PvcsConfig:84 INFO - verbose exec = "false"
PvcsConfig:84 INFO - user name = "hdh_shf"
PvcsConfig:84 INFO - password = "null"
PvcsConfig:84 INFO - import archive attributes = "false"
PvcsConfig:84 INFO - keep vlog file = "false"
ProviderConfig:84 INFO - svnimporter_user_name = "SvnImporter"
ProviderConfig:84 INFO - only_trunk = "false"
ProviderConfig:84 INFO - trunk_path = "trunk"
ProviderConfig:84 INFO - branches_path = "branches"
ProviderConfig:84 INFO - tags_path = "tags"
ProviderConfig:84 INFO - use_only_last_revision_content = "false"
ProviderConfig:84 INFO - file_description_property_key = "description"
ProviderConfig:84 INFO - use_file_copy = "false"
MainConfig:84 INFO - ****************************************************************************
historyLogger:84 INFO - **********************************************************************
historyLogger:84 INFO - date: 17.05.2006 09:46:13
historyLogger:84 INFO - mode: create full dump
historyLogger:84 INFO - src provider: class org.polarion.svnimporter.pvcsprovider.PvcsProvider
historyLogger:84 INFO - creating full svn model...
Exec:84 INFO - PVCS Version Manager (VMGUI) v6.5.00 (Build 536) for Windows NT/80x86
Exec:84 INFO - Copyright 1985-1999 INTERSOLV, Inc. All rights reserved.
Exec:84 INFO - This command is provided for customer support purposes. The interface
Exec:84 INFO - is subject to change.
Exec:80 DEBUG - Process exit value: -2
Exec:84 INFO - PVCS Version Manager (VMGUI) v6.5.00 (Build 536) for Windows NT/80x86
Exec:84 INFO - Copyright 1985-1999 INTERSOLV, Inc. All rights reserved.
Exec:84 INFO - This command is provided for customer support purposes. The interface
Exec:84 INFO - is subject to change.
Exec:80 DEBUG - Process exit value: -2
PvcsProvider:84 INFO - PVCS model has been created.
Model:84 INFO - Summary:
Model:84 INFO - Files: 0
Model:84 INFO - Revisions: 0
Model:84 INFO - Commits: 0
PvcsProvider:84 INFO - Svn model has been created
PvcsProvider:84 INFO - total number of revisions in svn model: 0
historyLogger:84 INFO - empty svn model - nothing to import
historyLogger:84 INFO - successfully finished
historyLogger:84 INFO - duration: 1 seconds

Here the config file:
# The source repository provider,
# either cvs or pvcs
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=no

existing_svnrepos=no

clear_svn_parent_dir=no

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

#####################################################################################
full.dump.file=C:/Tmp/dump/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=trunk
branches_path=branches
tags_path=tags
svnimporter_user_name=SvnImporter

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.executable={C:\\Program Files\\Subversion\\bin\\svnadmin.exe}
svnadmin.repository_path=c:\\SVN
svnadmin.parent_dir=.
svnadmin.tempdir=c:\\temp\\
svnclient.executable={C:\\Program Files\\Subversion\\bin\\svn.exe}
svnadmin.verbose_exec=no


#################################################################################
########################## PVCS PROVIDER CONFIGURATION ##########################
#################################################################################
pvcs.class=org.polarion.svnimporter.pvcsprovider.PvcsProvider
pvcs.executable=H:\\AN\\TOOLS\\pvcs\\VM\\Win32\\Bin\\pcli.exe
pvcs.projectpath=C:\\Tmp\\PVCS_TEST\\archives
pvcs.tempdir=c:\\temp\\
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=hdh_shf
#pvcs.password=

# 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





#################################################################################
########################## LOG4J CONFIGURATION ##################################
#################################################################################
# Log options
log4j.rootLogger=DEBUG, stdout
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=yes

haefy
Posts: 2
Joined: Wed May 17, 2006 7:34 am

Postby haefy » Wed May 17, 2006 8:19 am

the vlog command is part of the api as a seperate program (like pcli)
but the used option "-z" is not know by the vlog command.
Does anybody know a workaround ?

dobisekm
Posts: 118
Joined: Wed Mar 23, 2005 3:29 pm
Location: Prague, Czech Republic

Postby dobisekm » Mon May 29, 2006 7:38 am

Hi Haefy,

the SVN Importer was developed against the PVCS v 8.0, there are some differences in the pcli command usage, which make it incompatible with the older version. However we did not dig deeper into it to see, how big the difference is and whether it can be fixed.
Right now we don't have in plan to include PVCS 6.5 support into the importer ourselves (since we don't have resources for that).

I would suggest you the following options:

1) Convert your PVCS to repositories into version 8.0 using the tools provided by PVCS vendor. Then use the importer.

2) Modify the importer to work with version 6.5 (it's open-source), you can then share your work with others by submitting a patch.

I hope this helps.

Best,

Michal Dobisek
Polarion Team


Return to “Polarion SVN Importer (Repository Converter)”

Who is online

Users browsing this forum: No registered users and 4 guests