One of the powerful tool provided by Microsoft to keep up-to-date of files system its keeps records of file history once we add files to source safe it can be add to database and the changes ade by diffrenet user to this files are maintained in database from that we can get the older version of files to.This also helps in sharing,merging of files.
- Go to MS support online (http://support.microsoft.com/) and
1. Set the product to VisualSourceSafe
2. Set the search option to keywords
3. Enter kbbug for the question
- Search MS online support, Visual SourceSafe, for any of the following keywords, depending on the version of Visual Studio you are using and the Service Pack in which you want to research: kbVS97sp1, kbVS97sp2, kbVS97sp3, kbVS600sp1, kbVS600sp2, kbVS600sp3, kbVS600sp4, kbVS600sp5
- VSS 5.0: http://www.microsoft.com/technet/year2k/product/user_view69202EN.htm
- VSS 6.0: http://www.microsoft.com/technet/year2k/product/user_view69180EN.htm
- This could be caused by having too many "Dir=" or "Shadow=" entries in one of the ini files. Try to create a directory structure on disk which matches the VSS project tree. Then clean up the extra Dir= and Shadow= entries in the .ini files. That way you only need an entry in your ini file for each "tip" project.
- If you find that VC++ is very slow now that you're using the VSS integration, deleting the .NCB file before opening the workspace might help. VC++ 6.0 doesn't have this problem.
- Some user have reported the use of Norton Anti Virus 2001 on Win2K significantly slows VSS down.
- You need to use SourceSafe's keyword expansion. The keyword for getting history information is $History:$. What follows is a general discussion of getting keyword expansion working. See the following FAQ for tips on how to get keyword expansion working.
- Make sure that the srcsafe.ini variable Keyword_Masks is set to the appropriate file types you want to expand keywords in. (e.g. Keyword_Masks=*.cpp,*.h,*.idl)
- Remember that the keywords are case sensitive and include a colon at the end: $History:$
- If you're using something that generates multiple lines, like $History:$, you need to have the section [Keyword Comments] set up to proper values for commenting out each line:
- See 'keyword expansion' in the VSS online help for further info
- All the articles below are a little out of date but they do make some comparisons.
- PC Magazines article, Version-Control Software: Tools for managing change in complex development environments compares SourceSafe, PVCS, and StarTeam.
- Software Team Development web site, PC-Based Version Control
- Software Configuration Management survey, Configuration Management Tools Survey Results
- Microsoft has a web page listing some best practices, and another page containing their own version of frequently asked questions.
- Set up a VPN/
connection between the two locations (for additional information about using VSS over a RAS or ISDN check out KBA Q158219 ) or RAS
- Purchase a third party product like SourceOffSite (http://www.sourceoffsite.com).
- Try DMB Consulting's free (for non-commercial use) VSS.
which is available at http://www.dmbcllc.com/products.htm. NET
- Try VssConnect 1.0, similar to SourceOffSite, it allows optimized access to a SourceSafe database using a client/architecture. Details can be found athttp://www.voxcode.com.
- Try SourceWeb(http://sourceweb.sekonden.se) from Sekonden.
- Use the supplied conversion utility pvcs_ss.exe. Note that this will not work with long file names, and it does not work with logfiles created by the NT version of PVCS. See KBA Q140362
- The easy way is to have everyone access SS via a share. Then you can pause the share, eliminating any new access, send out a message that users are about to be dropped, then delete the share, dropping all users. Once you're done, you can re-establish the share.
- Check out Paul D'Anna batch file at http://www.michaelis.net/SourceSafe/vsshealth.bat.txt
- Create a zero-byte file called admin.lck in the [share]\data\loggedin folder and the database is locked. Delete it when Analyze is done to unlock. Note that this will not kick out currently logged in users.
- You really shouldn't need to do this. SourceSafe's database should be considered a closed database. The fact that you can view files which correspond to your source files is sometimes a convenience, though. If you've run the analyze.exe program and want to know which file in which project is causing the problem, there is a command that will tell you which file(s) to look at. From the
32 subdirectory, use the ss.exe command line program and the "PHYSICAL" option. Here is an example: WIN
SS PHYSICAL $/Project/file.cpp
- The project/file specification can be a single file or a project (or even the root project -- $/ -- if you want a listing of the whole database). You can also use the -r switch to make the command recurse through the project tree.
- Analyze.exe is Visual SourceSafe's database maintenance program. This should be run regularly (suggestions range from nightly to monthly). It can repair damaged databases as long as no users are logged on (use the -f command line option). It also has an option for deleting unused files, which will recover space taken up in the database by files and projects that have been purged (-d option). A compress option, -c, will perform some compression on the database where possible. Four levels of verbosity (-v1, -v2, -v3 and –v4) give plenty of usually cryptic information (see KBA Q152807 for explanations of many of these messages). Other options can be seen by typing 'analyze -?'. Each time analyze is run, it requires a clean directory to store backup files. The default is the folder under the data directory called 'backup'. If this directory isn't empty, analyze won't run.
- Check out KBA Q176909
- To move a database, refer to the KBA Q176909 HOWTO: Move a VSS Database or Project to New Location.
- To create a new database, refer to KBA Q123467 How to Create a New Database in SourceSafe.
- Note that in addition to the instructions in Q123467, you also need to create a new srcsafe.ini file, users.txt file and temp and users directories. The srcsafe.ini file and the users.txt file can be copied from an existing installation and then edited: Remove everything from the srcsafe.ini file except Data_Path, Temp_Path, Users_Path, Users_Txt, and File_Types in the new version. Remove all users from users.txt except Admin and Guest. Also, create a guest and admin directory in the users directory. Copy the template.ini file from the users directory of your existing installation to the users directory. Place a copy of the template.ini file in both the admin and guest directory. Rename both of these copies to ss.ini. Copy ssadmin.ini from your current database to the users\admin directory.
- To change the name of a database, refer to KBA Q175950
- Make sure that no one is using the database and that Analyze will not begin to run while you are backing up the database. Use any backup utility to copy the \
, \LABELS, and \USERS directories. DATA
- See Chuck Kollars web site for further suggestions and a sample .bat file to secure and backup the database.
- Some VSS administrators have suggested using SSARC as a way to backup the database. Use SSARC -d-
$/ to archive without deleting any files. You would then use SSRESTOR to restore the corrupted database.
- To backup the database to a CD, you must have all the non-data folders on the hard drive and modify the srcsafe.ini to point the data path to the CD.
- For an automated backup batch file checkout http://www.codeproject.com/tips/autovssbackup.asp.
- Use the SSARC and SSRESTOR programs. Version 6.0 has a GUI interface to these programs making them easier to use. Also, be careful when restoring to a database that was created by copying an existing database and then deleting all files and projects in it: Read Q176780 - Use Guidscan.exe to View or Change GUID in a VSS Database
- For 5.0 vs. 4.0 compatibility, read KBA Q176553
- Version 6.0 can read and write 5.0 databases, and has an option to upgrade or use a new database format. Using this new format gives you the new label promotion feature, but cannot be read by anything earlier than 6.0 (You'll have to upgrade everyone if you want to use the 6.0 database format). There are also some performance enhancements with the new 6.0 version of the database.
- No. The users NT logon name is used by default when starting VSS but this is the only integration. All NT users who wish to use VSS as well need to be added separately by the VSS administrator.
- For information about required network rights check out Q131022 - INFO: Required Network Rights for the SourceSafe Directories.
- From SS Explorer select the project folder which contained the deleted file.
When on a project folder, click on Show Properties, then select the Deleted Items Tab.
Find the deleted file and click on Recover.
- From the command line use the SS
command on the parent project. Do not list the files or use *.* in the get. GET
For example, the following command will get files including deleted files.
However, the following command will not get the deleted files:
- This one is not intuitive. From within the VSS Explorer, perform the following steps (Steps are for VSS 6.0. Steps are similar for 4.0 and 5.0):
1. Select the project that has the label that you want to rename.
2. Click on the Show History button.
3. Check Include Labels and Show Labels
4. Uncheck Include File Histories and optionally select a date to search back to. Click OK.
5. In the History dialog box, find and select the label to be renamed and click Details.
6. In the History Details dialog box, select the label and change it to the new name. Click Close on all dialog boxes.
- Check out the newsgroup posting HOWTO: Reset VSS 6 Admin Password by Paul Gurtler.
- You can coax/encourage users but it is virtually impossible to force them. For a full (sometimes humorous) discussion see How to require check-in comments?
- Check out Paul D'Anna batch file at http://www.michaelis.net/SourceSafe/vsshealth.bat.txt
- Check out the script found at http://www.seanet.com/~shardy/cm/vssmaint.htm.
- Make sure you're using the latest version of VSS with the latest Service Pack or at least the most recent older version (with the latest Service Pack). You'll need this much before Product Support can help you (if you still can't get it working). Reinstalling is one option.
- To search for articles relating to Visual C++ integration, search for the keyword: SSVC
- To search for articles relating to Visual Basic integration, search for the keyword: SSVB
- Check out KBA Q192625, "PRB: VC++ Shared Workspace File Loses Project Locations"
- Check out KBA Q180945, 'HOWTO: Disconnect a Project from Source Control'
- Read the KBA: Q157883 - How Can I Get VSS and Visual InterDev Integration Working? that also includes a reference to FrontPage integration.
- Also see Q241963 - INFO: SourceSafe Integration Changes with 2000 Server Extensions and Q231612 - HOWTO: Use a Single SourceSafe Database with Multiple Web Servers
- To search for other articles relating to FrontPage integration, search for the keyword: SSFP
- To search for other articles relating to Visual InterDev integration, search for the keyword: SSIDEV
- Check out VI and VSS integration hell! for one users take on solving this.
- It would appear that the information provided in the FP2K user guide with respect to integrating FP2K and Visual SourceSafe inadvertently applies to the previous version (FrontPage 98) and not FP2K.
- The following instructions should help in setting up FrontPage 2000
1. Use FrontPage 2000 to create your web
2. Add the web folder to VSS as a new VSS Project
3. Set the VSS Project as a Web Project in VSS Administrator
4. Open the Server Extensions Administrator [Start-Programs-Microsoft Office Tools]
5. Expand folders to reveal the web site folder that was added as a VSS Web Project
6. Right Click this web site's folder and choose Properties
7. Set Version Control to External
(Thanks to Tom Christian of Microsoft VSS Support for this solution)
- VSS Integration with Visual FoxPro
To search for articles relating to Visual FoxPro integration, search for the keyword: SSFOX. Also check out VisualSourceSafeIntegration.
- VSS integration with Access:
To search for other articles relating to Access integration, search for the keyword: SSACC
- VSS Integration with Office products
There are some office add-ons amongst the code samples located at : http://agent.microsoft.com/officedev/index/vss.htm
- Integration with Borland's
Delphi& C++ Builder
Try VssConneXion from EPocalipse Software.
- Integration with Microsoft Access
- Under the registry key: HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Source Control (for Visual Studio 6.0) or HKEY_CURRENT_USER\Software\Microsoft\DevStudio\5.0\Source Control (for Visual Studio 5.0) , change or created the entry:
(All the warnings about working in the registry apply.)
- Check out Versioning Stored Procedures with Visual Studio 6.0 and SQL Server 7.0
- Embarcadero also includes some SQL/SourceSafe integration: http://www.embarcadero.com/news/sqlsourcesafe.asp
- Also check out Adding a Stored Procedure to Source Control in Data ViewAdding a Stored Procedure to Source Control in Data View.
- Contact Metrowerks for their port of VSS to the Macintosh. Note that Dream Weaver integration is also available according tohttp://www.macromedia.com/support/dreamweaver/site/source_safe_mac/.
- Contact MainSoft for their port of VSS to Unix. There is information about this product at http://www.hallogram.com/mainvissourcesafe/index.html as well.
- nt483pt2.exe seems to be the cure for some. You can find it at http://support.novell.com/filefinder/14232/index.html.
- Certainly, check out Web Projects and Source Control Integration in Visual Studio .NET.
38. How can I get around the synchronization issue such that deletes and renames from VS.
- Check out SyncVss from the Creekside Technology Group at www.thecreeksidegroup.com.
- Check out Giant Technologies Visual SourceMail (http://www.giant-technologies.com/sourcemail/).
- Check out Visual SourceVizor (http://www.sourcevizor.com/).
- See TwoTree's Visual SourceMail (http://www.twotree.com/index.htm)
- Try CMNotify at http://www.cryptomonkey.com. CMNotify is an NT Service that runs in the background and monitors changes to a VSS database. When any change happens, you are notified by email what has occurred, when it occurred, and who is responsible for the change.
- Check out SAMPLE: VSSAddin.exe Notifies Administrator of SourceSafe Events (http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q220971).
- Another option is to use the RSS Feed option available at http://www.rassoc.com/gregr/weblog/archive.aspx?post=615.
- Check out Visual SourceVizor.
- Try the free (with source code) VssReporter (http://www.codeproject.com/useritems/vssreporter.asp).
- Elsinore Technologies has a product called Visual Intercept
- See MetaQuest's Census
- See DevTrack from www.techexcel.com
- Check out a Visual C++/SourceSafe Change and Build Tracer at http://www.codeguru.com/devstudio_macros/tracer.html
- Effective SourceSafe - shell extension for SourceSafe: http://www.codeproject.com/useritems/ess.asp
- Check Sourcecode Control Switcher by Soenke Schau at http://www.codeproject.com/useritems/sccswitcher.asp.
Build/Configuration Management Strategies
- Need to use the '-v' switch with an 'L' after it to indicate a label (-R is for recursive):
- You must first pin the file at the older version (Show History, select the version of interest and click "Pin".) Then apply the label to the parent project. The label will be applied to the "tip" revision of the unpinned files, but to the older version of pinned files. Then Unpin the file. The label 'sticks' even after the pin is removed.
- This one is not intuitive. From within VSS Explorer, select the project, show history, check Labels Only, find the label of interest, click on Details, select the label text and delete it. Click Close, which will ask if you are sure you want to change the label. Click Yes and you're done.
- Here's how to get a list of everything that has changed since a particular date and time from the command line. In the command 'a' or 'p', refers to a.m. or p.m. respectively. And the ~ is used to indicate you want the history between the dates and times specified. Note that the later date and time must be specified first. -R makes it recursive.
SS HISTORY $/mybranch -R -VD3/03/95;3:00p~3/03/95;9:00a
- You can do this using the command-line pin parameter and the wildcard character for the file name. For example:
- See the excellent site developed by Chuck Kollars, http://www3.primushost.com/~ckollars/vss.html, and his auto-build information here:http://www3.primushost.com/~ckollars/autobld.html.
- You can set the SSDIR environment variable to point to the location of the database's SRCSAFE.INI file.
- Chuck Kollars discusses the tradeoffs of a single vs multiple databases at his website.
- Chuck Kollars' utility supports this feature http://www.shore.net/~ckollars/autobld.html.
- Also check out an article by Curt Blackmon titled An Automatic Build Incrementer for VC6.
- Check out What is sharing, branching and merging? and KBA Q157982 Understanding Promotions.
- Also see Chuck Kollars' excellent discussion of the tradeoffs between Pinning and Branching:
- Check out KBA Q173065 Problems After Branching Integrated DevStudio Projects.
55. Is there an
- VSS provides an OLE Automation interface. Details can be found at:
- VSS automation: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvss/html/vssauto.asp
- Monitoring VSS Events: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvss/html/msdn_vssole.asp
- Code Samples: http://msdn.microsoft.com/ssafe/downloads/samples.asp
- C# Sample: C#/.NET Sample
- See KBAQ157983 INFO: Platform Considerations with OLE Automation
- Microsoft discourages the use of the SSSCC
. Instead they propose you use the OLE Automation interface. API
- However, if you still wish to use the
you can request the MSSCCI spec by writing to firstname.lastname@example.org. They will send you the NDA you need to sign to get the spec, and then send you the spec. API
- VSS 6.0 fully supports label comments. Label comments, however, are not available in VSS 5.0. For more information check out KBA Q176353http://support.microsoft.com/support/kb/articles/q176/3/53.asp
- Check out Q258146 - HOWTO: Pin and Unpin Files in Visual SourceSafe from OLE Automation in Visual Basic.
- VSS 6.0 supports some administrative functions. Read the specification and look at the samples.
- Check out the MSDN article Virtual Source Code Control Systems: Promoting and Managing Projects using Visual SourceSafe.
- Check out the MSDN article titled "A Tale of Real-world Debugging" in which Matt Pietrek describes the pain he encountered when trying to access VSS from ASP.
- Michael A. Entin has provided some sample code for accessing VSS using ASP pages.
- Important Note: that IIS runs under the security of the local system account and, therefore, it does not have access to the remote computer where the you may have your VSS database located. To over come this you need to either explicitly connect to the remote share using the WshNetwork object found in the Windows Scripting Host runtime. Alternatively, check out HOWTO: Accessing Network Files from IIS Applications (Q207671).
- Check out KBA Q142823
- Team Development with Visual Sutio.
and SourceSafe: http://msdn.microsoft.com/library/?url=/library/en-us/dnbda/html/tdlg_rm.asp. NET
- These events are not supported as of this posting by Rich Knox of Microsoft: Trapping Rollbacks/Deletions.
- This requires that you iterate through each version of the file looking for the label you want. Once the correct version of the file is identified you can retrieve the comment for that version. Below is some sample VB code demonstrating this:
For Each objVSSVersion In objVSSObject.Versions
If objVSSVersion.Action = 'Beta 1' Then