SourceSafe Shares Deleted Files!

June 6th, 2007 by Sameer | Filed under Visual SourceSafe.

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

Leave a Reply