I played racquetball yesterday against a Web developer
who sometimes works as a vendor at Microsoft (a V-Dash in Microspeak). After he
beat me soundly in three straight games, he asked me what a "programmer/writer"
does on a daily basis. He had seen my job title in my Outlook personnel
properties. I explained that a programmer/writer writes
documentation. Specifically, I write the documentation for Visual
SourceSafe and source control integration features in Visual Studio .NET.
I took a deep breath and prepared myself for the normal barrage of
questions. Alas, my racquetball partner asked some questions that I can
answer. In fact, I have answered many of his
questions in this weblog. He asked questions like,
Q: How can I move a database from one computer to another?
drag and drop the entire database directory.
Q: How can I work on my laptop and synchronize with the VSS database when I
go back online.
A: In VS.NET, checkout the project and then click File|Source
Control|Change Source Control, select your solution and click Disconnect.
Go offline. Upon reconnecting, repeat steps above, click Connect in the Change
Source Control dialog box, and then check in your project.
And then he said something funny (at least I think it's funny:). When
discussing how to take his projects offline he mentioned that somebody
on his team had suggested Shadow Folders. Whoa!
Stop right there.
Q: What is a Shadow Folder?
A: A Shadow folder is a read-only copy of the
tip version* of all files in a given VSS project folder. It is regularly
updated, or at least it should be.
Q: When should I use Shadow Folders?
A: I use shadow folders to give
non-team members a glimpse into the latest state of my source files and
projects. Shadow folders are great for managers and the members of related
teams because they aren't tempted to checkout (and screw up) your source
Q: Is there anything I can do to make Shadow Folders more usable?
When naming your VSS project folders and when creating any file
that might be added to the VSS database, create filenames that contain no
whitespaces. I use underscores instead (eg, My_Project_1.csproj in
$/Projects_2/SourceFiles). Doing so allows me to embed live UNC links to the
shadow copies of my source controlled files in emails and other documents
Q: How can I setup Shadow Folders for my database?
A: You can do so on a
project by project basis using VSS Administrator. Click Tools|Options, select
the Shadow Folders tab, click the Browse button and select a desired VSS project
folder. Then, click the 2nd Browse button and specify the path on physical disk
where you'd like to save the shadow copies of the files in this VSS project
folder. To shadow the entire database, select $/.
*The "Tip Version" is the version of a file in a VSS
database that sits atop its version stack. It is the most recently created
version. The Tip Version is not necessarily the Latest Database Version
however. If you pin a file at a particular version (say v5 of 10 vers), that
version (v5) becomes the Latest Database Version.
Este mensaje se proporciona "como
está" sin garantías de ninguna clase, y no otorga ningún