CVS is not applicable to commercial users

Source: Internet
Author: User

Keywords: CVs, VSS, version control, configuration management system

Because of its open source code and completely free of charge, CVS has won the hearts of many commercial software companies, and uses cvs for Version Control in project development. But according to my understanding, CVS is not suitable for commercial companies.
This should begin with the features of CVS.
CVS initially targets source code projects and provides file version control. This type of project is characterized by setting up a server on the Internet, from which each project participant can obtain the latest development code and documentation. Everyone is encouraged to develop any function quickly and submit code. In this way, multiple types of code are available for the same function model. At this time, the project owner will view/compare the Code submitted by each individual and use one of them or submit an improved version based on all versions. For bugs in the project, we also encourage multiple people to submit different solutions at the same time. The project owner should select the best one. The benefit of doing so is to concentrate on the wisdom of everyone. In addition, the Code submitted by all users is stored in CVS. You can exchange and learn from each other to promote improvement. CVS becomes copy-Modify-merge.
However, this is not the case for commercial software companies.
For commercial software companies, it is absolutely necessary for a few people to modify the same file for the same function at the same time, because it means repetitive work and a waste of labor costs. Unless it is for a capability test competition. In this regard, the version control software used by commercial software companies must prevent several people from simultaneously modifying the same file. A file lock-based version control software is required by commercial software companies. Several version control software, including VSS, provide this function. CVS does not provide this function. CVS advocates include CVS developers who regard VSS's lock-Modify-commit method as a backward development method, taking the copy-Modify-merge method of CVS as an advanced development method, the actual characteristics and requirements of commercial users are obviously ignored.
On the other hand, the configuration management system should not only manage source code, but also contain development documents. For Unix/Linux users, most documents are in text format. This is no problem. Even if several users modify them at the same time, they can use the file comparison and merging functions, merge into a satisfactory document to achieve a good result. However, for Windows users, most documents are not in the text format, such as office documents, Visio documents, UML documents, and er win documents. For these documents, if two people modify the same file at the same time, the copy-Modify-merge method does not work. These files are not easy to compare and merge. In this case, only one of the versions can be used. The versions of others will be voided and re-modified on the new version.
When I use CVS in a project, I often encounter a situation where several people modify a document at the same time, resulting in only one person's document being useful, while others have to start from scratch. The worst time, three people modified a Word file at the same time, and started to submit it all day after work in the afternoon. Three people submitted the file one after another, and the question came! Because the changes made by each person are not continuous. If at first, each person records where he or she modified the changes, no! After a quarrel for half a day, three people printed three copies and compared them by word. After another person modified the record and finished the work for half a day, the work was finally completed. It hurts: Everyone thinks that other people are not good at talking. Why not let me know? Haha.
There are a lot of annoying things. I started to look around for solutions.
When I search on Google, I often encounter articles about how the copy-Modify-merge works and how the Lock works, advise everyone to use the copy-Modify-merge method of work and how to do it; for people seeking to use CVS to follow the lock method of work, this will probably make the questioner itch, i'm happy to watch it. It seems that there are a large number of users asking each year on the Oracle website how to use auto-increment fields in the Oracle database. Every year, Oracle has been patiently answering questions about how the sequence field in Oracle is better than the auto-increment field, and urging others to forget the auto-increment field according to Oracle's habits. No worries! I am tired of looking at it. What are the technical difficulties of adding an auto-increment field? Many small databases are available, and Oracle companies such as access do not have an eye-catching database. Jiayin! This is the customer's requirement! Do you still want to survive if you do not pay attention to customer needs? Far away.
One day I found a useful piece of information, saying that I could use Perl programming and how to modify CVs, and I left several links, I ran for a cup of coffee happily. After looking for the Perl code for half a day, I almost got stuck. I was disappointed for a long time.
The company often has internal staff training. One day, I received an email announcing the use of training in CVS. If you are interested, please join us. I am also very interested in coming here. After the training, students ask questions. The training teacher is a good guy in the quality department, CVS hot, MS hate, once enthusiastically view the source code of CVs, enthusiastically submit bugs, enthusiastically submit bug fix code, during the training process, VSS was proposed to be approved by three times. After the training, I asked a question. The company requires that CVS be used as the project version control software. I want CVS to use the lock mechanism and do not want to use the copy-Modify-merge method. What should I do? Why not use copy-Modify-merge? I'm so interested that I can't talk about it. When he finishes, I said, should the CVS developer take the user into account? I should be a CVS user, right? The cool man said. I want to prevent several people from modifying an office file at the same time and avoiding repetitive work. Isn't it a reasonable user requirement? After thinking for a moment, it is a reasonable requirement. However, CVS does not support this kind of work mode at all. I will go back and check the information. I said that if the CVS developers think that copy-Modify-merge is good, it doesn't matter. They can add the lock function, when installing CVs, you can configure it to use the copy-Modify-merge method or the force lock method. It is up to the user to decide how their CVs works. Isn't it better? The cool said, it had a good feeling, but CVS cannot do it now. It's gone.
Not long ago, I saw the todo list developed by CVS. In the short term, they did not plan to use force lock as a function for development.
  

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.