Saturday, December 18, 2010

SVN (subversion)



SVN (subversion) in recent years is the rise of version management tool, is the CVS successor. At present, most of the open source software use SVN as code version management software.

Operation mode

There are two kinds of SVN server operation mode: independent servers and using I can with apache. Two ways each have advantages and disadvantages.

Store data

SVN storage version data also has two modes: BDB and FSFS. Because BDB way in the server disruptions, there may be a lock data (I doing when they suffer, can not ldap cured or FSFS way), so a bit safer.

See subversion.

Security areas SVN

SVN stood at a higher level of security products, for now from the system and control a perspective of "organic" and "no gap" integration.

SVN is a safe virtual network system, it will whole system of information security function equilibrium reasonably distributed in different subsystem,

Make the functions of each subsystem get maximum full play, between subsystems complement each other, overall system performance than the functions of each sub-system sum, with the principle of equilibrium complementarities solved "barrel principle" questions.

SVN can in jumper Internet, Intranet, Extranet between network all endpoint realize comprehensive safety, but can also provided based on the enterprise strategy management information system to fully effectively use limited bandwidth. SVN can meet various enterprise VPN requirements through for internal network, remote and mobile users, branches and partners to provide based on Internet safety connection. So, we can transform SVN as VPN, firewalls, based on the enterprise strategy information management software integration together Internet safety integrated solutions. In such a network system, all Internet server and client are safe, and have a information management mechanism to constantly pass this external network environment dynamically analysis and meet customer's specific bandwidth needs. SVN provides currently based on network realization of eBusiness application security services, it includes:

For many applications to conduct a comprehensive safety authentication;

Supports multiple authentication and PKI

Powerful and user transparent communication encryption,

User-oriented concentrated security strategy management,

Unified jumper Intranet and Internet, Extranet communications.

Complete SVN architecture should include the following parts

With a firewall VPN gateway, it is a firewall and VPN technology in the combination of gateway products;

SVN safety remote client package, a powerful VPN client software, support desktop users, remote users and mobile users, with centralization management function and VPN personal firewall authentication function; the safety of users

SVN certificate management module, one for the complete PKI SVN solution, it will improve the CA and LDAP directory server technology integrated together,

SVN hardware encryption card, can pass hardware technology to achieve powerful different algorithm to improve VPN speed and performance;

SVN intelligent bandwidth management module, a based on enterprise strategy of bandwidth management solutions, can intelligently management limited bandwidth resources to ensure for enterprise important application of VPN reliable performance,

SVN redundancy management module, through redundancy gateway cluster and firewall VPN inside redundant SVN for implementation of the important task modules, and firewall application in the VPN malfunction realize seamless switching.

Automatic address conversion module, an automatic management IP address and name solutions, by providing IP address service tracking and centralized management, ensure reliable control address assignment and improve the efficiency of management; TCP/IP

SVN security servers, specialized protect individual application server security VPN gateway software, it can protect sensitive operation on the server from attack and unauthorized access, make the client establishment and server between safety certificate and support exchange encrypted data connection;

SVN safety client software package, it will be based on state detection based on firewalls and IPSec VPN client software integration in the client machine, by providing a centralized management of personal firewall and to all enterprises VPN the safety of users authentication, enhance client machine safety. It with SVN safety remote client software functions compared, and enhance the client security functions, such as access control and security initialization control etc.

SVN and CVS advantages and disadvantages analysis

All the files are display SVN can replace the CVS, meanwhile SVN problems and disadvantages are hidden inside. Unfortunately, we do not consider the alternative SVN is CVS, although many defects is being modified. What is more, it even let a person back VSS. CVS and compare with SVN comparative similar c + + and Java. Obviously the CVS and SVN are far more powerful than SourceSafe, as c + + and Java more powerful than Basic. CVS represented almost code control system of all functions items, though sometimes he implementation is not very convenient. SVN correction and add some CVS does not have function. For example, create logo and branch dubious, your edit file is others won't have any notice. SVN not CVS substitute, just a different system, similar to the CVS. It some special function, enough as it adopts reason. These functions make him more suitable for development environment, such as PowerBuilder. Below you can find both the relative advantages and disadvantages.

1 storage type formats

CVS is based on the RCS file version control system. Each CVS files are just files, plus some extra information. These files will simply repeating local file tree structure. Therefore, do not worry about what data loss if necessary can manually modify the RCS files.

SVN is based on relational database (BerkleyDB) or series of binary files (FS_FS). On the one hand, this solved many problems (e.g., parallel literacy share files) and added many new functions (e.g. runtime affairs characteristics. . However, on the other hand, data storage thus turn opaque.

2 speed

CVS relatively slowly.

Overall, due to the different structure realize SVN indeed, much faster than the CVS. On the network it only transmission rarely information and support more off-line mode function. But it also comes at a price. Speed is paid for huge storage (fully backup all the working file).

3 mark & branch

SVN made signs and branch jilted three other thing, in fact, that means they put this concept to replace in the archive internal copy the file or directory so as to preserve log. This way, whatever marks create or branch create are just inside the document copying the warehouse. By branch concerned: now branch however is in the warehouse internal a single directory only, not like early still have some what sections. To the symbol has been unable to code for: add signs. In some sense, a whole document Numbers SVN supplied the defects in the warehouse SVN is version number, but not for a single file.

4 metadata

CVS only allow stored documents.

SVN allows a file have any number of naming attribute, the function is perfect.

5 file types

CVS was originally designed for text file storage. Therefore other file types (binary, unicode) file support almost no, if need would be other information, and client server will adjust.

SVN will care all types of files, don't need you to manual operation.

6 go back to

CVS allows arbitrary rolled back, in an arbitrary submitted version though it will spend some time (all documents separately treatment).

Don't allow the submitted SVN rolling back. Suggested that the version garage good state version added to the end and override damaged version. Damaged version anyway also will exist in the database. (the SVN go back to operation is actually merge operations)

7 affairs

CVS of "zero or a" didn't realize the principle affairs. If found in several files words (added to the server), very likely part files completed, and the other a few no. As an unspoken rules, the manual to correct these and of the rest of the files (documents), but not all one repeated inspection into. So these papers will be seized in two stages in the. SVN indeed support "zero or a" affairs principle, it is a major advantage of SVN.

The development history of SVN

In early 2000, CollabNet, Inc. Started called developers development CVS substitutes. CollabNet provides a set of called SourceCast collaborative work suite, part of component is version control. Although SourceCast used CVS as its original version control system, but the CVS of the various restrictions from the start up everywhere, finally CollabNet understand must find a better solution. Unfortunately, at least in the free license, because there is no better choice, CVS) has been widely used in fact became open source world standard. So CollabNet decided to develop a new version control system, retain CVS basic characteristics but remove CVS bug and bad characteristics.

In February 2000, they contact the open-source projects using CVS Development "(Open account Development (CVS) returned Coriolis, 1999), the author of Fogel Karl and sought his willingness to in this new project as a character. Coincidentally, when Karl has and his friend Jim Blandy discussion about a new version control system design. In 1995, the two started the Cyclic Software, providing a CVS business support Software companies. Although they business services, but still in everyday work in use CVS. Use the CVS frustration makes Jim ponder earnestly better way to manage data, not only determine the name is "Subversion", and completed the Subversion of the archive foundation design.

When CollabNet telephone comes, Karl immediately agreed to join project, and Jim let his employer RedHat Software agreed to let him in this project will not work regularly. CollabNet hired Karl and Ben Collins - on meitan may Sussman, started the detailed design work. In CollabNet obtained from the Behlendorf, Jason Robbins and Brian Greg Stein (at that time is an active in WebDAV/DeltaV standard process of creative freedom programmer) a lot of help, Subversion quickly caused a developer community attention. Active It to find and welcome many also in frustration membership on the CVS can to do something for this project.

Subversion initial design Team set a few simple goals. It must be on the function can be replaced CVS, that is to say, all the CVS can accomplish, it is to be able to achieve. The modification of the most obvious flaw, while also retained the same development mode. Also, Subversion should and CVS alike, any user takes only a few of the CVS strength, can quickly get on hand.

After 14 months after the coding, Subversion in 2001 on August 31, begin to realize "to manage the". That is to say, developers no longer use CVS to manage the code, and with Subversion Subversion oneself to management.

other

From the start of this project to now, although CollabNet provides most of the money (it pay several full-time Subversion developers salary), but it is still a open-source projects by a group of loose transparent rules agreed. CollabNet owns the copyright completely accords with code Debian Free Software Guidelines. In other words, everyone can optionally be free to download, modify, and redistribute the Subversion, It did not need after CollabNet, or anyone else's permission.

No comments:

Post a Comment