Working with Subversion the same as with Visual Source Safe in Visual Studio

我与影子孤独终老i 提交于 2019-12-08 17:01:03

问题


At work I just started using Subversion with AnkhSVN instead of Visual Source Safe. I managed to integrate it well enough but it doesn't seem the same. Using VSS the following would happen:

A user check out a file by right clicking and selecting "check out" or by editing it. If another user tried to modify the same file he would get an error. No 2 users could edit the same file at the same time. No fancy merging. No conflicts and no conflict resolutions.

I understand the the philosophy behind Subversion is different but is there any way that this behavior described above could be duplicated with Subversion?

There is an option in AnkhSVN called "Automatically lock files on change..." but even if I activate this option when I edit a file it never gets automatically locked. Even if this option worked the other users wouldn't see the lock until they commited the file. They wouldn't get an error when they tried to edit it like they would in Visual Source Safe.

So basically: can Visual Source Safe's behavior be duplicated using Subversion and AnkhSVN?


回答1:


The point of using subversion over source safe is that you don't have exclusive lock and many people can work on the same file.

You are loosing quite a lot of the benefits of SVN if you start using it with exclusive locks on files.

The idea is that you fix conflicts during merges of code.

See this SO question and answers for a bit of a discussion on the issues (Revision control locking: Is the jury still out?).




回答2:


The Agent SVN is a MS-SCCI plugin (just like VSS) for Subversion so it integrates with Visual Studio just like VSS.

It also has a Lock on check out option and with that feature on it does feel a lot like VSS.




回答3:


You need to set svn:needs-lock subversion properties on the files that you want to explicitly lock. It's really only recommended for files that cannot be easily merged, like (most) binary files and not on text/code files. Usually text/code files merge great automatically, and when they don't conflicts are usually easy to solve.

AnkhSVN will ask you to take lock the file (same as checkout in VSS) when you attempt to edit it when the svn:needs-lock property is set. If you enable the "Automatically lock files" feature, the lock dialog is suppressed, and you will take a lock on the file without a dialog showing up.

Svnbook explains the differences between a lock-modify-unlock and copy-modify-merge, and the svn:needs-lock behavior is also described



来源:https://stackoverflow.com/questions/2439784/working-with-subversion-the-same-as-with-visual-source-safe-in-visual-studio

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!