If you’ve ever had two or more source-safe projects with shared files, you might be shocked to learn that Visual SourceSafe 2005 breaks one of the holy grails of good design: user expectations.

 
You would expect that, if you delete a shared file from one project, it gets branched. I mean, you deleted it, right? You said goodbye, kaputsky, sayounara! But alas, Visual SouceSafe 2005 shares deleted files!
 
To test this out, try the following:
  • Create a new project (call it "Test-A")
  • Add some files (some HTML or text files work best)
  • Create a new project (call it "Test-B")
  • Browse into Test-A, and select and drag some files into Test-B to share them
  • Delete one of the shared files (non-permanently)
  • Browse to Test-B
  • The file is still shared!
 
Shocking! What’s worse, the deleted file continues to be updated if the other version is updated! Try it for yourself:
  • Browse to Test-B
  • Check-out, edit, and check-in one of the files you deleted
  • Browse to Test-A
  • Recover the deleted file (right-click on the project and select Project Properties, go to the Deleted Items tab, and click Recover)
  • View the file
  • The file has the same changes as its twin in Test-B!
 
The only consolation you may have, is that if you destroy permanently when you delete a shared file, it becomes branched–albeit with a hideous, ugly warning pop-up.
 
So consider yourself warned!
By Ashiq Alibhai

Other Interesting Posts

 

One Response to SourceSafe Shares Deleted Files!

  1. rodrigo says:

    Hi man.

    I have a file that I accidentally had shared between two subprojects (VSS2005). I deleted it from one of the subprojects but apparently didn’t check ‘destroy permanently’. The icon still shows the file as shared and in the properties under Links lists the other as ‘deleted in this project’. How do I clean this up so the icon no longer shows the file as shared?
    Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *

*


6 + = 15

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>