The information in this article applies to:
SUMMARYWhile executing a recursive Share and Branch operation on a SourceSafe project that contains a large number of files and 4 or more nested subprojects, the operation fails with a General Protection Fault, Out of Memory message or other memory related problems. MORE INFORMATION
Sharing and Branching is an expensive operation in SourceSafe. Because the
operation itself involves intensive memory usage and file I/O, any problems
at the operating system or network level could cause it to fail. Once
completed, the Branch causes the SourceSafe database to grow in size as a
second copy of each branched file is created. For these reasons, large
Sharing and Branching should be used sparingly.
The dobranch.exe utility provides an alternative method of Sharing and
Branching that avoids the potential memory problems mentioned in the
SUMMARY section. http://www.microsoft.com/downloads/search.aspand then click How to use the Microsoft Download Center. Below is the content of the readme.txt files that are included with the utility.
This download consists of the following three files:
Dobranch.exeThe file dobranch.exe is the utility itself, and should be saved in the WIN32 directory under the SourceSafe installation.Its usage is: dobranch <target project> <source project> [new project name]The operation is analogous to a right mouse drag and drop in the SourceSafe explorer. If your project tree looks like this:
and you right-click the $/Applications/Develop project, drag it over the
$/Bugfix project, choose Share and branch from the popup menu, then check
the "Recursive" checkbox, the equivalent command for this utility would be:
dobranch $/Bugfix $Applications/DevelopNOTE: You should provide the full path to the target and source projects. Just like the drag and drop operation, this would create a new subproject: $/Bugfix/Developthat would have the three nested subprojects. To share and branch to a sibling subproject of Develop, use the following command: dobranch $/Applications $/Applications/Develop NewDev.The project tree would then be:
If your project names contain spaces, wrap the project name in quotes. For
example:
dobranch "$/Other Stuff" $/Applications/Develop "More Stuff"to create the following project tree:
The utility creates two text files in the Win32 subdirectory, dirfile.out
and errfile.log. The first is the output from a recursive ss dir command of
the source project, the second is a log file of errors encountered by the
various Visual SourceSafe operations.If the program is executed successfully, these files are deleted (you'll never know they were there). If the utility fails, you can check errfile.log for clues about what caused the failure, and dirfile.out can be deleted manually (however, this is not necessary). Dobranch.cppThe file dobranch.cpp is the source code for dobranch.exe and can be examined to understand how the program works, and for those interested, can be modified to provide more functionality (for example, providing an extra parameter to specify a project version, or specifying the path to any SourceSafe database). It was compiled with Microsoft Visual C++ version 4.0 Most users, however, will not need to look at this file.Additional Notes
Additional query words:
Keywords : kbfile kbSSafe400 kbSSafe500 kbSSafe600 |
Last Reviewed: December 16, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |