man VCP::Dest::vss () - vss destination driver

NAME

VCP::Dest::vss - vss destination driver

SYNOPSIS

   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.

DESCRIPTION

Experimental. See NOTES for details.

This driver allows vcp to insert revisions in to a VSS repository. There are no options at this time.

OPTIONS

--dont-recover-deleted-files
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 p4 semantics. However, when coming from a VSS repository, it's ok to leave deleted files lie. Use this option in that case.
--mkss-ssdir
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).
--delete-ssdir
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 TEST ENVIRONMENTS.

TODO

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 field tested.

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.

NOTES

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 CWCheckin, however it does set binary (-B) vs. text (-B-) on CWAdd.

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 CWss Delete and CWss Share $file commands do not allow a comment.

Files are recalled from deleted status when added again if they were deleted.

LIMITATIONS

Built and tested against VSS v6.0 only.

AUTHOR

Barrie Slaymaker <barries@slaysys.com>

COPYRIGHT

Copyright (c) 2000, 2001, 2002 Perforce Software, Inc. All rights reserved.

See VCP::License (CWvcp help license) for the terms of use.