Compartilhar via


SourceSafe for non-Software Developers

Before I came to Microsoft, I worked in the inspection department (a double wide trailer, actually:) of what was then a Texaco oil refinery. During my employment, I helped design and implement a corrosion monitoring program that aggregated and analyzed various data inputs (UT & X-ray measurements, acid levels, chemical concentrations, temperature, etc) to help pipe and vessel inspectors identify rapidly corroding pipes before they spewed caustic petroleum goo on defenseless pipefitters or engulfed my plastic inspection trailer in a 1200 degree fireball.  Few things motivate like fear of incineration.  Anyway, having educated myself in AutoCad a few years before (late-high school LISP binge), the inspection superintendent asked me to help the department assistant/draftsperson computerize and archive the umpteen million drawings of absolutely everything in the plant.  The refinery's IT director suggested we use Visual SourceSafe to store our .dwg files.  Hoping to secure a desktop with more than 48megs of RAM, I did so without question.  Several AutoCad plug-ins have since been released that provide integrated versioning and source control for the AutoCad environment.  But back then, we just used VSS and AutoCad separately.

When I joined the SourceSafe team three years ago, I was surprised to learn that few of my new team members really knew how many NON-software developers use VSS and how diverse and critical are its uses. I assure you, they know now.

Source control is no longer the exclusive domain of hardcore software developers. However, source control applications like Visual SourceSafe were designed for and are particularly useful for software developers OR computer professionals whose files are primarily text-based (UTF-8, ANSI, etc)!

SourceSafe is designed to allow two or more individuals to work on the same file at the same time...as long as those files are non-binary. If multiple checkouts are enabled (which is not but perhaps should be the default setting*), when a user checks in their locally-persisted changes to a text file, SourceSafe automatically merges their edits into a single version of the file in the VSS database. If two users touched the same line of text in the same file, SourceSafe prompts them to decide which edit they want to keep.

SourceSafe doesn't even try to merge differing versions of non-text encoded files.  For binary files, such as those produced by Microsoft Word, AutoCad, and seemingly every other non-text editor around, SourceSafe can only tell whether two versions of a file are identical or not identical.  Theoretically, it's possible to merge differing versions of a single binary files. But from what I understand, binary merge algorithms are difficult to create and more importantly, must be created for every single binary format.

A reader recently asked, “I am just trying Source Safe on a computer graphics project. That means files that are by far larger than in a software development project, and a lot of them. What impact do I have to fear while the project grows? Does anyone has experience with large databases in Source Safe? I would appreciate your comment very much.“

My reply: “The maximum recommended database size is 3-4GB. That being said, my team, which authors documentation in Word, has maintained and relied upon VSS databases as large as 18Gb for several years now.
Use Exclusive Checkouts---Graphics files are binary. Neither SourceSafe nor any other source control provider that I know about can merge differences between two different versions of a binary file. Thus, you need to stick with the default (at least in VSS 6.0) exclusive checkout mode. In other words, you shouldn't enable two designers to check out the same file simultaneously. If you were developing text files, such as C# class files, you could do so.
Don't use Keyword Expansion in graphics files---The VSS keyword expansion feature was designed for text files. The introduction of VSS keywords into a binary file can corrupt it. For more info about VSS keywords, see https://blogs.msdn.com/korbyp/posts/54209.aspx.
Analyze Weekly---You should Analyze your database once a week to resolve any data corruption issues. If you don't run Analyze on a large database regularly, doing so after a long lapse can take FOREVER. For more information about Analyze, see https://blogs.msdn.com/korbyp/posts/54063.aspx.“

Related Posts: How To: Diff/Compare Two Labels in Visual SourceSafe, Keyword Expansion in Visual SourceSafe, and How To: Edit a File Checked Out to Another User (*wherein readers disagree with my contention that checkouts should be shared, by default).

+++++++++++++++++++
This posting is provided "AS IS" with no warranties, and confers no rights. Microsoft kann für die Richtigkeit und Vollständigkeit der Inhalte in dieser Newsgroup keine Haftung übernehmen. Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho. Ce message est fourni en l état, sans garantie d aucune sorte, et ne vous confère aucun droit. Vous assumez tous les risques liés à son utilisation. Il presente posting viene fornito così come é , senza garanzie, e non conferisce alcun diritto. ????? ?? ?????? "??? ????" ??? ?? ?????? ?? ??????, ????? ????? ?? ?????? ????.

Comments

  • Anonymous
    February 17, 2004
    It's great that non-developer use of SourceSafe is being considered by the SourceSafe team - but could you, or whoever are the most appropriate people, please, please evangelise MSSCCI to the authors of all document creation tools?

    Our organisation is very aware of the desirability of using version control software, but the biggest difficulty in using it effectively is just that, unless you're a developer, it's not integrated into the software you're using. As a result, users who are generally less capable of dealing with switching context than developers are the very people who have to put up with a rotten user experience.

    Within Microsoft, support in Office would be a good start, but we really need that sort of integration in non-MS tools too, such as Adobe's desktop publishing software. Unfortunately, we may have missed the boat slightly there, as they are now introducing their own "Version Cue", which I don't think talks MSSCCI.

  • Anonymous
    February 17, 2004
    evangelise = rant on loud enough and bore them into submission

  • Anonymous
    February 17, 2004
    So long as it works I don't care whether it's called evangelising or ranting.

  • Anonymous
    February 18, 2004
    I don't know if you are one to direct this question to but I'll give it a shot:

    Do you why VSS sometimes mysteriously create a folder under a subproject the same name as the main project?

    Example:
    $/maincode/subproject

    At some point it would mysteriously create a new folder of the following:
    $/maincode/subproject/maincode

    thx.

  • Anonymous
    February 18, 2004
    Yo zz,
    Please contact me directly (click "Contact" in the lefthand pane) with more information about what you're doing when this happens. Are you working on a team? In Visual Studio .NET? Or some other integrated development environment? Thanks!

  • Anonymous
    February 18, 2004
    Oh for fscks sake if you don't know just say so, and stop wasting time! You can take that contrived smug helpfulness and cram it right up.

  • Anonymous
    February 18, 2004
    The real zz is from New York and will contact you offline tomorrow. Thanks for the offer.

  • Anonymous
    February 18, 2004
    SourceSafe for non-Software Developers Nice little article about how Microsoft's Visual SourceSafe is supposed to work and, indirectly, how it...

  • Anonymous
    February 19, 2004
    The comment has been removed

  • Anonymous
    March 23, 2006
    Very good details and new. keep it posted.

  • Anonymous
    June 01, 2009
    PingBack from http://uniformstores.info/story.php?id=16114

  • Anonymous
    June 07, 2009
    PingBack from http://weakbladder.info/story.php?id=1733

  • Anonymous
    June 13, 2009
    PingBack from http://quickdietsite.info/story.php?id=3730

  • Anonymous
    June 15, 2009
    PingBack from http://unemploymentofficeresource.info/story.php?id=3348

  • Anonymous
    June 15, 2009
    PingBack from http://workfromhomecareer.info/story.php?id=10894

  • Anonymous
    June 19, 2009
    PingBack from http://edebtsettlementprogram.info/story.php?id=22994