VSS & SVN have very different checkin/checkout models. When an item is "checked out" in VSS, it's the equivalent of getting a lock in Subversion - that file is held exclusively for that user. In VSS, if a user has a file "locked" (checked out), and their copy is destroyed or the user is somehow otherwise unavailable, only an admin can break the lock. In SVN (by default) anyone can break locks. The short version is, VSS should not be considered for use by anyone for any reason in 2010. Please, just forget that it ever existed. Microsoft gave up on it. It hasn't been maintained in 4 years or more. It's archaic, outdated, and broken. I've never spoken to anyone who had a VSS database that didn't get corrupted to some degree. It is a horrible, horrible system which only had any measure of success under Microsoft's stewardship (they didn't create it, they acquired the company that did) because A) it integrated with MS's development tools and B) it sucked less than the alternatives at the time. There is no point anymore in evaluating VSS vs. SVN because it would be completely foolish to roll out anything new using VSS.
Need arguments for SVN vs. VSS!
Thanks Andyl:- It is really a superb elaboration! I want a Little Explanation more:-- In VSS, if a user has a file "locked" (checked out), and their copy is destroyed or the user is somehow otherwise unavailable, only an admin can break the lock. In SVN (by default) anyone can break locks. What is the Purpose of the Lock? Noone can use this even SVN not affect local changes and You don't need to checkout the file.You just come and Update the file>Do your work and COMMIT. No Bottleneck is created. My Question is if someone Locking a File then he is Locking for Solid reason so that No one is allowed to work on that file :) In this duration if Other person STEAL the Lock then it is GOOD in a sense that Users doing their work without Bottleneck BUT negative is why he is stealing? and Violating the Security. (Is there any Hook Script can be written to Block the STEALING Lock) ? Second thing is I have seen that When USER_A has locked a File..710 Revision is already created, User_A Did his work and Forget to Commit.User_B steals that File and Commit changes,Now 711 revision created. When User_A come back and commit changes, SVN Check the Conflicts and Resolve if no conflicts.Now 712 Revision created. Revision 711 ===> User_B Revision 712 ===> User_A Now even after Updating >. User_B(Who steal a Lock) is continuously Facing the Red-Sign Sign of Exclamation instead of Green-Sign of Tick mark. WHY The user_B is facing a RED-Sign even after multiple times Updation of Repo and CleanUp. When solved:-- I have deleted the file and Run the Update>> Then that sign get resolved to Gree-Tick mark. What is Concept behind that Even after Updation of repo -- Red-Sign on File did't get to green and when i have deleted and Updated the repo.SVN Server Backup the file with Green-Tick mark. Thank you very much for your time and patience. Regards WSBokhari [/b]
You really need to read the manual as the differences between the VSS model & SVN model are explained very well in one of the first chapters, including addressing most of what you've asked here. Subversion locks are not designed to be airtight security - they are designed to be a communications aid. People should not be stealing locks on a regular basis; if you need to steal a lock, it really means you need to go talk to the person who has the file locked.
Hi In Big environment like if 100+ Users working then:-- How would i know the status in Windows Environment using Tortoise SVN. How would User_A know that User_B locks the file? He just can know while :Commit: that this file is not being committing.Then in case of "Get Lock" the option of "Steal Lock" replaced. Kindly comment on this. Thanks
If a file is set to require a lock, then it will be marked as read-only in your WC until you get a lock on it. When you attempt to get a lock, the server will tell you that someone else already has a lock. When you attempt to commit a file which someone else has locked, the server will reject your commit and tell you it's because someone else has the file locked. You can check for locks in the repository with svn status -u and in TSVN, Check for Modifications -> Check Repository. Again, this is all explained in the manuals for Subversion and Tortoise. You need to read these.
Hi Andyl First of all You ROCK. The points you have discussed are very important for me and Sure will help me definitely for future endeavors. Thank you very much once again. REGARDS WSBokhari
Reply to this discussion
You cannot edit posts or make replies: You should be logged in before you can post.