Microsoft KB Archive/181717

= FIX: Analyze Problems with Open Log Files =

Article ID: 181717

Article Last Modified on 3/10/2005

-

APPLIES TO


 * Microsoft Visual SourceSafe 5.0 Standard Edition
 * Microsoft Visual SourceSafe 6.0 Standard Edition

-



This article was previously published under Q181717



SYMPTOMS
Analyze reports returns the error listed below and if you are running Analyze with either the -f or the -d switch, or both, files are deleted either from the data\ directory, or destroyed in the SourceSafe database.

Here is the error:

Unable to open file

File is already open.



CAUSE
If a log file (a file with no extension in one of the data\ folders) is opened and locked by a different process, such as a backup utility running simultaneously with Analyze, Analyze treats the file as an orphan.



RESOLUTION
The best cure is prevention. You should run Analyze without any switches before running it with either the -d switch or the -f switch. If Analyze reports that a file is already open, take whatever steps necessary to close that file before using the additional switches. Once the problem has occurred, the resolution will be determined by a number of factors, such as which files have been deleted, how important it is to maintain their history, and whether a file or project was affected. If you are not sure what action to take, contact Microsoft Technical Support.



STATUS
Microsoft has confirmed that this is a bug in analyze version shipped with Visual SourceSafe 5.0.

This bug was corrected in the version of analyze that ships with Visual SourceSafe 6.0 and the version of analyze that's available on the Web.

Please see the REFERENCES section for more information about downloading the Analyze.exe file.



MORE INFORMATION
An orphan file is one that has been destroyed from the SourceSafe database via the SourceSafe Explorer or the command line, and is not branched to or from a file that still exists in the database. In the scenario described in the CAUSE section, Analyze sees this file as an orphan, but its physical file pair still exists in the data\ folder. Analyze -d attempts to delete the file pair. It might delete either or both of the files, depending on which file is locked at the time it attempts the deletion. A locked file is not deleted. This may result in "File not found" errors.

Analyze -f behaves differently on projects and files as described below:


 * If the file pair represents a file, Analyze destroys the file in the SourceSafe database. When this happens, the history of the parent project shows that the file was destroyed by user "REBUILD". The physical file pair of the file's parent project is copied to the Backup folder, in their pre-analyzed state.
 * If the file pair represents a project, Analyze copies the corresponding file pair to the backup directory, and attempts to delete the file pair.

Analyze -d -f results in both situations described above.

Steps to Reproduce Behavior
Note: Reproducing this behavior causes problems with the SourceSafe database. Do not attempt to reproduce this on a live database. Use this on a database that is set up for testing purposes only.

Using an application that locks files that it opens, such as Microsoft Word, opens a log file in the SourceSafe data directory. Run Analyze with any combination of the -f and -d switches, for full information, use the -v4 switch.

