PRB: Corrupt Binary File After Merging with SourceSafe (127993)



The information in this article applies to:

  • Microsoft SourceSafe for Windows 3.1
  • Microsoft SourceSafe for Macintosh 3.1
  • Microsoft SourceSafe for MS-DOS 3.1
  • Microsoft SourceSafe for UNIX 3.0

This article was previously published under Q127993

SYMPTOMS

A Binary file is corrupted after a merge is attempted. There are two scenarios where a merge can occur:

  1. Multiple_Checkouts = Yes in the SRCSAFE.INI or SS.INI file. -or-

  2. A binary file is separated and later merged.
Binary files will become corrupt if SourceSafe attempts to merge these files.

CAUSE

This is by design. SourceSafe cannot read or edit binary files. These files can only safely be edited by the creator application.

RESOLUTION

To prevent scenario 1, put all binary files in a subproject, and put a Multiple_Checkouts=No in the project header for that subproject. This will turn off multiple checkouts for this subproject only.

For example, you may want to organize your projects as shown in the documentation (User Guide Chapter 2 Overview), with a subproject containing the binary files:
        $/-
          |
          TESTDATA
             |
              - BINARIES
				
Such that the following would be a subproject header:

[$/TESTDATA/BINARIES]

To do this, place the following in the SS.INI file under the subproject header for each user:

Multiple_Checkouts=No

Then only one person can edit that set of files.

To work around scenario 2, use the original application to accomplish the merge manually. In some cases, you can get both versions of the file and use the application utilities to merge the differences.

STATUS

This behavior is by design.

Modification Type:MajorLast Reviewed:12/9/2003
Keywords:kbprb kbusage KB127993