Using Visual SourceSafe - Working folder
This article is a part of SourceSafe / VSS Tutorial
Navigation Links: Working folder introduction Setting working folder Working folder is inheritable Clear working folder
Working folder introduction
A working folder is the specified corresponding folders on a user’s local computer used to store files when working with VSS projects. By default, the files are retrieved to the corresponding working folder when a user does Get or Check Out. A user can make changes to files in the working folder and then check the modified files back into the VSS database for version tracking.
A working folder is required for many version control commands. For example, if a working folder is not set, when you do Get Latest Version, VSS will prompt you to set a working folder for the current VSS project or else the Get operation cannot continue.
View File is the only command working on files that does not require a working folder is.
A working folder is based on per project, per user and per machine. That means one user can have different working folders for different VSS projects on one machine, different users can have different working folders for the same VSS project on the same machine and one user can have different working folders for a VSS project on different machines.
Setting working folder
To set a working folder for a VSS project, you can select a VSS project first, then click the Set Working Folder icon in the toolbar or click Set Working Folder on the File menu.
The following figure shows the Set Working Folder dialog box of VSS 6. This dialog box was designed a long time ago and we can see the old-style presentation of the UI.
(Set working folder dialog box in VSS 6)
This design was kept for more than 10 years and when Microsoft released Visual SourceSafe 2005, the SourceSafe team had a new implementation of the Set Working Folder dialog box. A system standard Browse For Folder dialog box is used.
(Set working folder dialog box in VSS 2005)
However, there is a serious flaw in the new Set Working Folder interface. I will explain it in the coming Working Folder Is Inheritable and Clearing Working Folder sections.
Working folder is inheritable
Working folder is inheritable, which means that if a working folder is set for a parent project, the sub projects automatically inherit the relative working folder from its nearest parent. For example, we have a VSS project of $/Work/WebService, with a working folder of C:\Kevin\Work\WebService. For $/Work/WebService/Res, if its working folder is not set explicitly, it has a working folder of C:\Kevin\Work\WebService\Res automatically. In most cases, it is recommended that you only need to set the working folder for a parent project and let all the sub projects inherit working folders from the parent. But if you like, you can always set working folder for any project explicitly.
If a working folder is set for a project, the project does not inherit working folders from its nearest parent anymore.
Clear working folder
Sometime, you need to clear the working folder settings of a project to make it inherit working folder from its parent.
To clear the working folder, you just set the working folder to blank.
But in the SourceSafe 2005 set working folder interface, there is NO way to set the folder to blank. If we ever set a working folder for a project in VSS 2005, there is no way to clear it so it is impossible for the project to inherit working folders from its nearest parent. This caused a huge problem for our team. Luckily, the Microsoft Visual SourceSafe had an undocumented “backdoor” to handle this problem. To bring up the VSS 6 style Set Working Folder dialog box, you need to press the Shift key and then click the toolbar icon or the menu item.
The SQL Server-based Source Control Software Designed to be a SourceSafe Replacement
The Fastest SourceSafe Remote Access Tool Recommeded by Microsoft
Links: Previous article ««: Some Screenshots of SourceSafe Next article »»: Add operation of SourceSafe SourceSafe How To series home page: VSS / SourceSafe Tutorial