Centralized version control system: from SVN to TFS

Source: Internet
Author: User
Tags version control system

06 into the company, we did not use version control system, all the code is in the department manager's computer, who want to change what code on the past to a new, and then put back after the good, feel good original. It is said that before is used for a period of time Microsoft's VSS (Visual.source.forge), has also built the VSS server, but the middle does not know what reason interrupted, also did not continue to insist, may be at that time people still few, the entire software research and development namely 10 person around. So there's no big problem with using version control.

Before entering the company, because in Matin Fowler's "refactoring" mentioned version control system, I set up a CVS server on my own computer to play, complete a small function to submit once, write good log, write the wrong and then withdraw back, actually feel the benefits of version control system, He's like a time machine that can get me back to any point in time. I no longer have to use WinRAR compression for backup.

Therefore, in the company half a year, after figuring out the operating mechanism of the Department, the leader put forward the hope that the version control system can be introduced. Then the leader agreed (not so well), then the choice of version control system, such as whether to continue to use the same year's VSS, or to find open source alternatives, such as CVS or other things, now do not remember how the year was chosen, But I did have some unpleasant experiences when I was using CVS, and the library file was corrupted. The final choice of SVN, that will SVN has been out for more than five years (2007), is already relatively stable, and in addition to the command line, has a variety of plug-in/graphical tools can be used. For example, we use Visutal svn to build the server, and use TORTOISESVN to do the client, and then use the VS plugin provided by Visual SVN to solve the problem with VS integration, basically the whole process runs through. Then is the organization of training, in the organization of the propaganda, so before and after about a quarter, before and after a succession of the previous code migrated to the SVN server.

In the process of building a server, a more aware decision is to use the same user with the server management, so that the same SVN and FTP two sets of system user management. VISUALSVN itself does not support domain users, so you need to do a plugin to do domain Users and SVN user mapping, specifically what a little do not remember.

So the server ran up, stable use for more than three years, with the company's expansion, the Department of more and more people, new projects are more and more, this time the problem comes out, because of the code permissions of the problem, has been a part-time by the department to do configuration Manager, by his responsibility for the SVN Project library creation, authority allocation, etc. Now there are No. 890 people who need to be managed, almost every day people need to apply for SVN permissions: Create project library/Assign old code Read permissions/write permissions, and so on. It would take him more time to get a department manager to configure the administrator's work is really a bit wasteful.

The core of this problem is that SVN does not support hierarchical authorization: For example, if you assign an administrator to a directory or library, then this administrator can manage permissions for all directories under that library.

If you can support the hierarchical authorization, then the management of the department manager will be much less, as long as he is responsible for creating the library, and then assign the administrator, the other things can be done by the administrator, so it is more ideal. So we started looking for new alternatives. The final choice is Microsoft's TFS. The choice of TFS is also because our original bug management system is not good to use, but also eager to have a new alternative, and TFS is an integrated solution, you can do version control, register defects, do project planning, release meeting notice, organization review, etc. And there are portals for each project. It's really powerful, and then, just as his version control system has a tiered authorization feature. It's a complete success.

Of course, build TFS Server is a more troublesome thing, this point to find relevant articles on the Internet, here is not elaborate, in short, with Microsoft generally use a full set, from his server to the database server to SharePoint to TFS Server.

Switching over the past two or three years has also been a smooth use, nothing big trouble.

In addition, whether it is SVN or TFS, this centralized version control system has a problem, if the server is hung, we will not be able to work, especially we are the company is two central mode, two research and development centers through the VPN connection, if the occasional network is bad, Then a colleague from another research and development center is basically doing a lot of things. This problem is not a good way to central warehouse. And the current situation of network interruption does not occur frequently, so it has not become the internal principal contradiction.

Centralized version control system: from SVN to TFS

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.