VCP::Dest::vss - vss destination driver
vcp <source> vss:module
vcp <source> vss:SSDIR:module
vcp <source> vss:SSUSER@SSDIR:module
vcp <source> vss:SSUSER:PASSWORD@SSDIR:module
where module is a module or directory that already exists within VSS.
SSDIR is the value to set the SSDIR environment variable to before running
SS.EXE and is a path to the sourcesafe directory.
This destination driver will check out the indicated destination in a temporary
directory and use it to add, delete, and alter files.
. See NOTES for details.
This driver allows vcp to insert revisions in to a VSS repository. There are no
options at this time.
- VSS, at least as of V6, does not allow you to repeatedly delete and
recover a file. So VCP::Dest::vss normally forces VSS to recover a deleted
file when a new revision shows up, which is close as it can get to CVS or
However, when coming from a VSS repository, it's ok to leave deleted files
lie. Use this option in that case.
- Make a new VSS database in directory named in the SSDIR portion of the
vss: specification. The directory must be nonexistant or empty. The
database is created using the MKSS, DDCONV, and DDUPD commands.
NOTE: you need to use the SSUSER "Admin" to use this option (or
tell me how to add users from the command line).
- This option causes the --mkss option to delete the SSDIR if it exists
(including any contents). THIS IS DANGEROUS AND SHOULD ONLY BE USED IN
This module is here purely to support the VCP test suite, which must import a
bunch of files in to VSS before it can test the export. It works, but is not
While I'm sure there exist pressing reasons for importing files in to VSS from
other repositories, I have never had such a request and do not wish to invest
a lot of effort in advance of such a request.
Therefore, this module does not batch checkins, cope with branches, optimize
comment settings, etc.
Patches or contracts welcome.
VSS does not flag individual revisions as binary vs. text; the change is made on
a per-file basis. This module does not alter the filetype on
"Checkin", however it does set binary (-B) vs. text (-B-) on
VSS allows one label per file, and adding a label (by default) causes a new
versions of the file. This module adds the first label it receives for a file
(which is first may or may not be predictable depending on the source
repository) to the existing version unless the existing version already has a
label, then it just adds new versions as needed.
This leads to the backfilling issue: when backfilling, there are no labels to
request, so backfilling always assumes that the most recent rev is the base
rev for incremental imports.
The "ss Delete" and "ss Share $file" commands do not allow a
Files are recalled from deleted status when added again if they were deleted.
Built and tested against VSS v6.0 only.
Barrie Slaymaker <email@example.com>
Copyright (c) 2000, 2001, 2002 Perforce Software, Inc. All rights reserved.