I. Performance Comparison Between CVs and SVN
The results of this test are amazing today, especially in branch merge processing.
Action CVS SVN
Check out small file set 1 MB 17.32 s 26.96 s
Check out large file set 7 m 16.92 S 5 m 35.01 s
Tag small file set 1 m 29.30 s 0.88 s
Tag large file set 18 m 52.45 s 0.86 s
Update small file set 44.46 s 4.91 s
Update large file set 8 m 53.39 s 38.62 s
Create Branch (small set) 1 m 27.99 s 0.80 s
Create Branch (large set) 21 m 2.93 s 0.69 s
Ii. Use Subversion for Version Control
Use Apache and subversion to build a secure version control environment
As a new generation of open-source version control tools, subversion is gradually being used by open-source software with its excellent features such as Directory versioning, atomic commit, versionized metadata, and more effective branches and labels.CommunityIt is expected to replace CVs and become the preferred system for Version Control in open-source software development. On the server side, the biggest uniqueness of subversion is that it can be combined with Apache's HTTP server through an extension module to implement many advanced management functions and security features. Compared with CVS, subversion provides more advanced and secure user authentication functions. With the support of Apache, users can access the version library through the HTTP protocol, the administrator can make specific settings on the user's HTTP access permissions, and the subversion can also obtain SSL transmission encryption, user Data Encryption and directory-level access control.
This article will introduce the basic configuration and management of the Subversion server from the perspective of server configuration work and the author's configuration instances in actual development work, as well as how to combine subversion with Apache, implement some advanced management functions.
Subversion Introduction
In the process of developing open-source software, due to the freedom of development methods and scattered development personnel, Version Control has always been an important issue related to the success or failure of the project. Without the support of the version control system, the development process of open source software is chaotic and uncontrollable.
For a long time, CVS, as a widely used open-source version control tool, plays an important role in many open-source software projects. In eclipse, CVS is used as a default plug-in, which is tied together with ant, JUnit, and other tools to become the basic tool for eclipse software development. In recent years, with the development of the open-source community, a more powerful open-source version control tool has gradually entered people's field of view, that is, subversion, with better features, subversion is gradually replacing CVs and becoming a new generation of open-source version control tools.
Compared with CVS, the directories, files, and renamed metadata in subversion are all verticized, such as renaming and copying objects. In addition, the Subversion commit operations are inseparable, the revision version is based on each commit operation rather than a file. In addition, the subversion can be run independently and has a lightweight branching and tagging operations, the version library can be stored in a database (Berkeley dB) or a file in a specific format to process binary files more effectively. Finally, the Subversion tool and related plug-ins have good international support, supports multiple language versions, including simplified Chinese, to help developers around the world. These outstanding new features make subversion the best choice for the open-source community.