[p4] VSS migration problem

Robert Cowham robert at vaccaperna.co.uk
Mon Mar 14 03:22:17 PST 2005

> Sorry to sully the board here with discussions of VSS, but I 
> do have a quick question for those of you that have migrated 
> over from the VSS side of the SCM world.

It happens!

> I am tackling the migration of a VSS database (vsstop4 - perl
> convert.pl) that's been around for quite a long time.  The 
> migration scripting fails when it hits a particular file that 
> seems to be missing
> - data\b\bgdhaaaa.  Indeed, when I look in the "data" 
> directory, there is no such file.  When we run an analyze and 
> clean on the VSS database, it does report that this file is 
> missing (and that there are about 15 other files that are 
> corrupt) but the clean doesn't seem to be able to anything 
> about the problems.
> Anybody have any idea how to get past this.  I could give a 
> hang about the particular file.  The source from the database 
> builds just fine.  I just want to get past the failure in the 
> migration.

If you are working with the latest version of the scripts, the config.ini
has the following entries to help such situations:

# Whether VSS database is corrupt
# If set to yes then an alternative method is used to extract VSS metadata
and you need to be 
# careful to set "exclude" option to exclude the corrupt parts.
# Set to no or comment out.
vsscorrupt: yes

# Files or folders to be excluded (comment out if not used)
# Multiple files or folders can be excluded if seperated by '|'.
# Notes:
# - pattern matching is used at the start of the string, so
"$/Proj1/folder1/" will match
#   anything from that folder downwards.
# - "$/Proj1/folder" will match "$/Proj1/folder1" and "$/Proj1/folder2" etc
(so be careful!!)
# - special reg exp characters are turned off in the match string (quotemeta
is used) so don't use *
#   etc and expect it to work.
exclude: $/Proj1/Some folder/|$/Proj2/some other folder/file

All you need to do is identify which file is corrupt/missing and make it, or
the directory containing it an excluded path. The error message when doing a
normal run will tell you which file corresponds to aaaaabc.a or whatever
(and there is probably some other way which I don't know off the top of my


More information about the perforce-user mailing list