PVCStoSVN - Error in SVN dump Load

thariqueakbar
Posts: 9
Joined: Tue Oct 19, 2010 1:21 pm

PVCStoSVN - Error in SVN dump Load

Postby thariqueakbar » Thu Feb 17, 2011 1:37 pm

Hi, I am migrating from PVCS 7.5 to SVN 1.6.5 using Polarion.

The migration goes on smoothly until dump creation and it throws up errors during the SVN Load. Below is the error,

12:18:41,439 [main] INFO Exec:84 - exec C:/Program Files (x86)/CollabNet/Subversion Server/svn.exe ls --non-interactive file:///C:/svn_repository/dea/.
12:18:41,501 [stdout] INFO Exec:84 - branches/
12:18:41,501 [stdout] INFO Exec:84 - tags/
12:18:41,501 [stdout] INFO Exec:84 - trunk/
12:18:41,517 [main] DEBUG Exec:80 - Process exit value: 0
12:18:41,517 [main] INFO historyLogger:84 - parent dir is exist
12:18:41,517 [main] INFO historyLogger:84 - import dump into svn...
12:18:41,517 [main] INFO SvnAdmin:84 - importing dump file "dea_20110217_092206.dmp" ...
12:18:41,517 [main] INFO Exec:84 - exec C:/Program Files (x86)/CollabNet/Subversion Server/svnadmin.exe load --parent-dir . C:\svn_repository\dea
12:18:41,580 [stderr] INFO Exec:84 - svnadmin: File already exists: filesystem 'C:\svn_repository\dea\db', transaction '1-2', path 'trunk'
12:18:41,580 [stdout] INFO Exec:84 - <<< Started new transaction, based on original revision 1
12:18:41,580 [stdout] INFO Exec:84 - * adding path : trunk ...
12:18:41,580 [Thread-17186] ERROR SvnAdminImportExec:100 - can't copy dump file to svnadmin stdin:
java.io.IOException: The pipe has been ended
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:260)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:106)
at org.polarion.svnimporter.common.Util.copy(Util.java:303)
at org.polarion.svnimporter.svnprovider.internal.svnadmin.SvnAdminImportExec$1.run(SvnAdminImportExec.java:58)
12:18:41,580 [main] DEBUG Exec:80 - Process exit value: 1
12:18:41,595 [main] INFO historyLogger:84 - EXCEPTION CAUGHT: org.polarion.svnimporter.svnprovider.SvnAdminException: Error during execution command C:/Program Files (x86)/CollabNet/Subversion Server/svnadmin.exe load --parent-dir . C:\svn_repository\dea: process exit code 1
at org.polarion.svnimporter.svnprovider.SvnAdmin.executeCommand(SvnAdmin.java:339)
at org.polarion.svnimporter.svnprovider.SvnAdmin.importDump(SvnAdmin.java:85)
at org.polarion.svnimporter.main.Main.importDump(Main.java:172)
at org.polarion.svnimporter.main.Main.run(Main.java:94)
at org.polarion.svnimporter.main.Main.main(Main.java:49)



I even tried to create only dump and import the dump manually into SVN, I face same issue.
Please note the repository is huge and I use Win 2008 server r2 with a decent 4gb RAM. I am running it in 32-bit compatibility mode.

Below is the contents of config.properties file.


# 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=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, 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=dea_%date%.dmp
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=990

#######################################################################################
# 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
svnimporter_user_name=e1016588
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"
#######################################################################################
svnadmin.executable=C:/Program Files (x86)/CollabNet/Subversion Server/svnadmin.exe
#svnadmin.repository_path=C:/svn_repository/cheena
svnadmin.repository_path=C:/svn_repository/dea
svnadmin.parent_dir=.
svnadmin.tempdir=c:/temp/local-dea
svnclient.executable=C:/Program Files (x86)/CollabNet/Subversion Server/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=C:/Program Files (x86)/PVCS/vm/win32/bin/pcli.exe
pvcs.projectpath=C:/PVCSLocal/Projects/DEA
#pvcs.subproject=
pvcs.tempdir=c:/temp/local-DEA
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=d12599
pvcs.username=e1016588
pvcs.password=

# 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=no

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


#################################################################################
########################## 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.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=ru
#mks.log.encoding=ibm866
#mks.tempdir=c:/temp/local
#mks.verbose_exec=yes

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



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

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

Re: PVCStoSVN - Error in SVN dump Load

Postby kencorbin » Sat Feb 19, 2011 12:27 am

That's a puzzle.

You weren't by any chance running the migration twice on the same subversions repository were you? It failed so early that I can't think of anything else that would cause this. The svnadmin import will construct everything it needs to import the migrated repository. You would get this error if a previous run had already build all of the files and directories that this one is trying to build.

Good luck,
-Ken

thariqueakbar
Posts: 9
Joined: Tue Oct 19, 2010 1:21 pm

Re: PVCStoSVN - Error in SVN dump Load

Postby thariqueakbar » Sun Feb 20, 2011 6:54 am

Hi Ken,

I am sure i wasn't running two migrations to one SVN repo. I deleted the existing repo and re-run the migration again. This puzzle is troubling me a lot..

The dump gets created perfectly, but when I try to import, it failed. I checked the pvcs directories, the files are good with no locks or anything on them. The 'pipe has ended' message confuses me. Can you suggest me what to do..

Thanks,

Tharique

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

Re: PVCStoSVN - Error in SVN dump Load

Postby kencorbin » Sun Feb 20, 2011 8:26 am

The Pipe has ended message is a quaint way of saying that svnadmin failed to import the dump file. Svnimport goes through a lot of work to build the dump file, then invokes the svnadmin program in a separate process to actually load the dump file into the repository. It communicates with the svnadmin process through a pair of input and output pipes. And when svnadmin unexpectedly failes, svnimporter reads and EOF on the output pipe and reports that the pipe has ended.

When I was doing migrations, I never let svnimporter run svnadmin, preferring to run it myself as part of the migration scripts. You get clearer logs and much better indications of problems when you run it yourself. I would strongly suggest doing that and reporting what kind of errors you see.

Good luck,
-Ken

thariqueakbar
Posts: 9
Joined: Tue Oct 19, 2010 1:21 pm

Re: PVCStoSVN - Error in SVN dump Load

Postby thariqueakbar » Mon Feb 21, 2011 12:45 pm

Hi Ken,

I let polarion to just create a dump for me and manually loaded that dump into the SVN and below is the error that I see. i checked PVCS for the particular file and it looked good to me..

c:\apps\svn-importer-DEA>svnadmin load c:\svn_repository\dea < dea_20110217_0922
06.dmp
<<< Started new transaction, based on original revision 1
* adding path : trunk ... done.
* adding path : branches ... done.
* adding path : tags ... done.

------- Committed revision 1 >>>

<<< Started new transaction, based on original revision 2
* editing path : trunk/DEA/DEAWeb/source/com/efunds/dea/domain/CustomerLiai
son.java ...svnadmin: File not found: transaction '1-1', path '/trunk/DEA/DEAWeb
/source/com/efunds/dea/domain/CustomerLiaison.java'


Regards,

Tharique

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

Re: PVCStoSVN - Error in SVN dump Load

Postby kencorbin » Tue Feb 22, 2011 11:01 pm

It didn't get very far. Looks like that was the first commit it tried to post.

I think our next step is to try building a playback log.

1) Edit config.properties to set the record.mode setting to record-stubs
2) Run svnimporter again to build a new dump file. In addition it will log all interactions with the PVCS system to the file name specified by the record.file setting, usually playback-log.txt
3) Zip that file and your config.properties file and email it to me, I'll include a real email address in a private post.

Hopefully, I can use those files to play back your svnimporter run and try to figure out where it went wrong.

Good luck,
-Ken

thariqueakbar
Posts: 9
Joined: Tue Oct 19, 2010 1:21 pm

Re: PVCStoSVN - Error in SVN dump Load

Postby thariqueakbar » Wed Feb 23, 2011 12:21 pm

Hi Ken,

Thanks for your reply and the email address. As per your instructions, I have sent you the log and config.properties file in a seperate email to you.

Thanks,

Tharique

thariqueakbar
Posts: 9
Joined: Tue Oct 19, 2010 1:21 pm

Re: PVCStoSVN - Error in SVN dump Load

Postby thariqueakbar » Mon Feb 28, 2011 12:33 pm

Hi Ken,

any luck ?

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

Re: PVCStoSVN - Error in SVN dump Load

Postby kencorbin » Wed Mar 02, 2011 8:56 pm

Sorry, not yet. I've been swamped with other stuff and am just now getting to look at it.

I'll let you know what I come up with.
-Ken

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

Re: PVCStoSVN - Error in SVN dump Load

Postby kencorbin » Thu Mar 03, 2011 1:47 am

Well, that was a less than compellingly useful exercise. I found that the PVCS migrator has a backward way of passing file information to and from the PVCS client executable,so the playback log didn't include most of the information I needed. I'm going to try putting in some logic to do a better job. But rather than wait for that, could you zip up and email me the vlog.tmp and files.tmp files that the last migration run should have left in the configured temp directory. And the resulting svnimporter.log file from that run. It turns out that virtually all of the information I need about your archive is packed in those two tmp files. Those plus the the log file should give me enough information to pieced together what happened. Also could you include the first 100 lines or so of the dump file that the importer generated. That should be enough to get to where the error occurred.

I apologize for taking so long to get to this. Life just got very crazy last week.
-Ken

vasanth
Posts: 1
Joined: Thu Sep 25, 2014 7:44 am

Re: PVCStoSVN - Error in SVN dump Load

Postby vasanth » Thu Sep 25, 2014 8:00 am

Hi Ken,
I'm migrating from PVCS to SVN, so i tried creating dump in windows which is successful but i face issue with my Linux server.

I need your advice on the below issue which I'm facing while creating a dump in Linux server.. In my Windows machine Dump creation was successful with the same Config file except for the paths.

Error i face:

03:02:11,890 [main] INFO historyLogger:84 - mode: create full dump
03:02:11,890 [main] INFO historyLogger:84 - src provider: class org.polarion.svnimporter.pvcsprovider.PvcsProvider
03:02:11,891 [main] INFO historyLogger:84 - creating full svn model...
03:02:11,899 [main] INFO Exec:84 - exec /usr/serena/vm/linux/bin/pcli.exe run ->/home/achellap/svnimporter/temp/temp/local/pvcs.tempdir/files.tmp -q listversionedfiles -pr/serenafs/axafinancial/ETGDb -idUsername:Password -l -z /AXA Equitable Portal/ULS
03:02:11,949 [main] ERROR Main:96 - EXCEPTION CAUGHT: org.polarion.svnimporter.pvcsprovider.PvcsException: error during execution command /usr/serena/vm/linux/bin/pcli.exe run ->/home/achellap/svnimporter/temp/temp/local/pvcs.tempdir/files.tmp -q listversionedfiles -pr/serenafs/axafinancial/ETGDb -idUsername:Passowrd -l -z /AXA Equitable Portal/ULS, 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.buildSvnModel(PvcsProvider.java:165)
at org.polarion.svnimporter.main.Main.buildFullSvnModel(Main.java:158)
at org.polarion.svnimporter.main.Main.run(Main.java:88)
at org.polarion.svnimporter.main.Main.main(Main.java:51)
Caused by: java.io.IOException: Cannot run program "/usr/serena/vm/linux/bin/pcli.exe" (in directory "/home/achellap/svnimporter/temp/temp/local/pvcs.tempdir"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
at java.lang.Runtime.exec(Runtime.java:617)
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.buildSvnModel(PvcsProvider.java:165)
at org.polarion.svnimporter.main.Main.buildFullSvnModel(Main.java:158)
at org.polarion.svnimporter.main.Main.run(Main.java:88)
at org.polarion.svnimporter.main.Main.main(Main.java:51)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
at java.lang.Runtime.exec(Runtime.java:617)
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.buildSvnModel(PvcsProvider.java:165)
at org.polarion.svnimporter.main.Main.buildFullSvnModel(Main.java:158)
at org.polarion.svnimporter.main.Main.run(Main.java:88)
at org.polarion.svnimporter.main.Main.main(Main.java:51)

03:02:11,950 [main] INFO historyLogger:84 - duration: 0 seconds


Verification i did.. All paths are available and the Server is also up and running, i could access from GUI :
I did the below verification

"/home/achellap/svnimporter/temp/temp/local/pvcs.tempdir is available in server with full permission. I get Project could not be loaded in files.tmp file and vlog vfiles are not created.

My config.properties file is given below

# 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=no

#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=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)
#######################################################################################
trunk_path=trunk
branches_path=branches
tags_path=tags
svnimporter_user_name=vasu
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"
#######################################################################################
svnadmin.executable=svnadmin.exe
svnadmin.repository_path=/var/www/svn
svnadmin.parent_dir=.
svnadmin.tempdir=/home/achellap/svnimporter/temp/local/
svnclient.executable=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
pvcs.executable=/usr/serena/vm/linux/bin/pcli.exe
pvcs.projectpath=\\serenafs\\axafinancial\/ETGDb
pvcs.subproject=AXA Equitable Portal\/ULS
pvcs.tempdir=/home/achellap/svnimporter/temp/temp/local/
pvcs.checkouttempdir=/home/achellap/svnimporter/temp/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=Username
pvcs.password=Password



# 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=no

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

# 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


Return to “Polarion SVN Importer (Repository Converter)”

Who is online

Users browsing this forum: No registered users and 1 guest