다음을 통해 공유


How To: Copy a File from One VSS Project to Another

To COPY a file in VSS Explorer:

1.
Right-click the file in project A and hold. 2.
Drag it to project B. 3.
Drop it. 4.
Click Share and Branch.

I don't know why SourceSafe's creators chose to use Share &
Branch
 when the perfectly acceptable Copy was
available... but I can certainly guess.

For clues, I visited the original OneTree Software documentation for SourceSafe. 
In the section regarding Shared Files, I found this gem: "SourceSafe projects
are very analogous to operation system directories and folders. However, projects
have one valuable power that directories lack. Whereas every file in your operating
system exists uniquely in one directory, a SourceSafe file can exist in many different
projects at once!"

Exclamation point! As a writer, I can assure you that an exclamation point is a truly
meaningful (and telling!) entity. We don't just throw exclamation points around
in shipping docs (!) like we do in our blogs!  In fact, I challenge you
to find one exclamation point in the entire Visual Studio and .NET Framework documentation
that is used for emphasis (in text).

I believe [conspiratorial voice here] that the choice of the verb Share and
thus Share and Branch* and thus the exclamation point(!) was
the direct result of a zealous, implementation detail-blinded software development
team's attempt to differentiate and delineate its product and conceptual user model from
other applications. The subtext of this paragraph is, 'Share is not the same
as Shortcut.  SHARE DOES NOT EQUAL SHORTCUT. We're different from Windows.' 
And to pound that point home, I'm guessing that SourceSafe's creators chose to use
the Share and Branch command verb (or its equivalent*) over
the more universally understood and intuitive alternative: Copy
If my assumption is correct, this is one of the worst UI text blunders in history. 
I reserve the right to be wrong and invite your corrections, especially if you're
a member of the original SourceSafe design team (c'mon, post as Anonymous). :-)

*In early versions of SourceSafe, Branch was known as Separate.

++++++++++++++++++++++++++++++

הודעה
זו מסופקת "כפי שהיא"
ללא כל אחריות או
חיובים, ואינה נותנת
לך זכויות כלשה.

Comments

  • Anonymous
    November 24, 2003
    In case you get an anonymous post, the original SourceSafe team consisted of just Brian Harry and Kenny Felder ;-)
  • Anonymous
    November 24, 2003
    Is my memory serving me correctly? I think it is not so many versions of VSS ago that there was no share and branch (copy) operation. To do a copy you had to first share the file and then branch it as a second action. I guess the team at the time just created a new routine that called the other two and thus the name.
  • Anonymous
    November 25, 2003
    The comment has been removed
  • Anonymous
    November 25, 2003
    The comment has been removed
  • Anonymous
    November 25, 2003
    "Share and Branch" accurately implies that the copy retains a link to the original, and can subsequently be merged. "Copy" would imply to me that the copy is subsequently maintained completely independently from the original.
  • Anonymous
    December 27, 2003
    In addition to others' points about history, a "shared" instance is different from the Windows concept of "shortcut" because you can delete any instance without deleting the actual file (until you have deleted all shared instances). In Windows, we have to differentiate between a shortcut and the real file. If you delete a shortcut, it leaves the file. If you delete the file, it leaves orphaned shortcut(s). NTFS junction points are closer to "share" (but not "share and branch").
  • Anonymous
    January 12, 2004
    Correct me if I am wrong, but branching after the share, will erase the link that was made when chosing to share. So, sharing then branching would be the same as "Copy"