Returns a reference to the FilesDB for this backend and repository.
Creates an empty one if need be.
This is like VCP::Dest::files() but most other sources do not need to do this, so these are
We lose comments attached to labels: labels are added to the last real (ie non-label-only) revision and the comments are ignored. This can be changed, contact me.
We assume a file has always been text or binary, dont think this is stored per-version in VSS.
VSS does not track renames by version, so a previous name for a file is lost.
VSS lets you add a new file after deleting an old one. This module renames the current file, restores the old one, issues its revisions, then deletes the old on and renames the current file back. In this case, the rev_ids from the current file start at the highest rev_id for the deleted file and continue up. This can cause problems if somebody has the file checked out, use the --undocheckout option to force VCP to undo the checkout and carry on.
NOTE: when recovering a deleted file and using it, the current version takes a create the smallest window of opportunity to leave the source repository in an uncertain state approach: it renames the not-deleted version (if any), restores the deleted one, does the History or Get, and then deletes it and renames the not-deleted version back.
This is so that if something (the OS, the hardware, AC mains, or even VCP code) crashes, the source repository is left as close to the original state as is possible. This does mean that this module can issue many more commands than minimally necessary; perhaps there should be a --speed-over-safety option or a transaction log & recovery system.
No incremental export is supported. VSS -V~Lfoo option, which says all versions since this label does not actually cause the ss.exe History command to emit the indicated checkin. Well need to make the history command much smarter to implement that.
Havent tested many real-world scenarios yet.
If you specify a filespec that matches files branched from files not included in the filespec, VCP pretends that the first revision of the file at the new location is the first revision ever.
SS.EXE, which VCP uses for all SourceSafe operations, may ignore its -I- option, which should prevent it from seeking input, and seek input. This can hang VCP, but its usually when hitting ^C. This can leave SS.EXE running in a state consuming 100% CPU while waiting for a password. Use the Task Manager to clean up such processes.
o Share-ing a project
Barrie Slaymaker <email@example.com>
Copyright (c) 2000, 2001, 2002 Perforce Software, Inc. All rights reserved.
Hey! <B>The above document had some coding errors, which are explained below:B>
Around line 27: You cant have =items (as at line 46) unless the first thing after the =over is an =item Around line 281: =item outside of any =over Around line 1279: You forgot a =back before =head1
|perl v5.20.3||VCP::SOURCE::VSS (3)||2004-11-04|