Embrace mercurial-select a distributed version control tool

Source: Internet
Author: User
Tags mercurial
Mercurial is an open-source distributed version control tool. The current maximum version is 1.6.0.2.

1. What is a distributed version control tool?

A centralized version control tool (such as SVN, CVS, and cleancase) stores all the historical information of code repository on the same server. In distributed version control systems (such as mercurial and git), historical copies of code repository are stored on multiple machines, and there is no distinction between primary and secondary, unless you specify the machine as main repository based on the team's management needs.

Ii. From Integration to distributed

Our project used SVN as a version control tool, but it has been changed to mercurial. Why? In fact, the original reason is very simple. Centralized version control affects development efficiency too much! (Then everyone fell in love with mercurial .)

At the beginning of the project, SVN was naturally selected. Because everyone is very familiar with SVN, and the Chicago office already has a unified SVN server. The problem lies in the network. The network condition between the two offices in Beijing and Chicago has not been very good. It takes several hours to check out the code for the first time, and each check-in and check-out process is very slow. At last, the network was disconnected for two days and the check failed.

At this time, many open-source distributed version control tools have been developed, and the mainstream two are mercurial and git. Therefore, I decided to try the distributed version control tool. So which one is selected?

We have considered the following issues:

1. Is the existing SVN repository easy to switch?
2. How difficult is it to switch back to SVN if we do not like it?
3. Will it have to change our development habits?
4. Is every member of the team Quick Start?
5. Is it difficult for cruise to support it? (Because we use our own developed cruise for continuous integration of cruise .)
6. Is it easy to integrate with intellij idea? (Because we use intellij .)

2. Select mercurial

Why choose mercurial?

First, there is no doubt that the selected DVCs can only be git and mercurial.

Git is superior to mercurial in some aspects, such:

1. It is easier to integrate with SVN. Git can complete it through push and pull;
2. Git can distinguish between commiter and author, so that the process is more flexible;
3. A rare feature: You can view and modify changesets history (such as reordering and deletion) in a text editor and apply it to a local repository. In mercurial, queue.4. git is a content-based tracking system. Compared with mecurial, the model is easier to expand. linux and rails are widely used in the world. The bad thing is that windows is not very well supported, although there are also solutions (such as cygwin or msysgit ). Mercurial also has its advantages, such as: 1. it is easily accepted by SVN users (commands are similar); 2. almost all platforms; 3. the document is very good (there is a PDF, hgbook ). The two are both good DVCs. We decided to use mercurial based on the first few standards and the learning curve.

---------------------------------------------
TIPS: selecting appropriate tools based on the characteristics of the project can improve development efficiency.

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.