1. Revise the control system of the RC (RevisionControlSystem ).
Features: 1), simple
2) use the Lock mechanism to prevent multiple developers from simultaneously modifying the same file.
2,Concurrent Version System of CVS (CocurrentVersionSystem)
The most popular open-source version control system based on the RFM
Features:
1), use a single primary code tree, instead of relying on multiple directories as the RCS does.
2), the biggest advantage is that multiple developers can modify a file at the same time. Merging is allowed. That is, concurrent development.
3. SVN (SubVersion)
1) directory version control
CVS can only control the version of a file, but cannot control the version of a directory. CVS can only note that a file is deleted in one location and another file is created in one new location. Because it does not connect to two operations, it is easy to cause loss of the file's historical track.
2) Submit atomicity
CVS uses linear and serial batch submission, that is, to execute the submission in sequence, one by one. Each time a file is successfully submitted, A new version of the file is recorded in the version library. When submitted, the log information provided by the user is repeatedly stored in the version history of each modified file.
The disadvantage of the CVS serial batch submission mode is that when batch operations are interrupted for any reason (typical reasons include network interruptions and client crashes ), the version library is often in an inconsistent state: only a portion of the files that should have been stored in the database are stored in the database. It is very likely that the latest version of the version library cannot be compiled smoothly. More seriously, as other users perform the cvsupdate operation, this inconsistency will spread across the development team quickly, seriously affecting the development efficiency of the team and posing a quality hazard. In addition, if the interruption of batch submission is not found in time, the development team will usually spend more time debugging and troubleshooting software.
4, Git
Git is a version control tool used for Linux kernel development. Unlike common version control tools such as CVS and Subversion, it uses a distributed version library without the support of the server software, making it extremely convenient to publish and exchange source code. Git is fast, which is naturally important for large projects such as Linuxkernel. The most outstanding thing about Git is its mergetracing capability. Git is more suitable for distributed development projects. Svn (the full name is subversion) is more suitable for centralized large-scale development projects. You can also use a level of svn on top of git.
Post: http://hi.baidu.com/zjd168/item/f65e475e516e8e3f33e0a9b0