Introduction to commonly used version control software (VSS,CVS,SVN)

Source: Internet
Author: User
Tags svn svn client
Another: Welcome all Gathen: 206981178, the common study Exchange

VSS6.0 is now a member of the development product family as a Microsoft visual Studio6.0, like Visual c++6.0 and Visual j++6.0.

1. The simple workings of VSS

Microsoft's VSS6.0 addresses the issue of versioning that the software development team is faced with for a long time, and it may effectively help the person responsible for the project development team manage the project program and put all project source files, including various file types, into the database in a unique manner. Members of the development group cannot make direct modifications to the files in the database. Instead, the version manager copies the source program of the project or the source program of the subproject to each member's own working directory for debugging and modification, and then submits the modified project file as checkin to VSS for a comprehensive update. VSS also supports fast and efficient sharing of files between multiple projects. When a member adds a file to VSS, the file is backed up into the database so that all members can share the file. And each member's changes to all project files will be recorded in the database, making the restoration and revocation of modifications possible at any point in time. Members of the team may get the latest version of the project, modify it, and save a new version.

VSS's Project organization management makes the coordination of the development team easy and intuitive, when one and a group of files are distributed to another member, the team, the W EB site, or any other address, VSS ensures that there is a genuine sharing between them and the security of different versions of the selected set of files. More and more developers are now able to access the functionality of VSS through their development environment. And VSS can be easily integrated with Microsoft Access, Vi sual Basic, Visual C + +, Visual FoxPro, and other development tools, and once VSS is integrated into the development environment, it can be used like a control. is a good way to demonstrate the ease of use and power of VSS.

several important concepts in 2.VSS

To better understand VSS, it is necessary to give a description of some of the following concepts.

The first is the concept of the project, which is a set of files in VSS (any type) that can be added, deleted, edited, and shared among projects or between projects. A project has many similarities to the operating system's folders, but it better supports file merging, history, and versioning. All files exist in a VSS database project, and members of the development Group cannot work on the primary backup file in VSS (except for checks and versions than for Peer-to-peer special cases) but VSS provides each member with a copy under its own working directory for work. Although you can view a file without a working directory, you must create a working directory if you want to actually work under VSS management.

VSS is able to maintain multiple versions of a file, including a record that is modified from one version to another. Version control includes the following:

Group coordination-in general, make sure that only one member modifies a particular file at any given time, which prevents the file from being accidentally updated by other members ' modifications. Of course, the VSS administrator can change this default setting to allow multiple checkout for a single file and still prevent overwriting other people's modifications.

Version Tracking-archive and track older versions of source code and other files, and these versions can be restarted for bug tracking or other purposes.

Cross-platform development-supports versioning of the same code across multiple development platforms.

Reuse or object-oriented code-a module that tracks which programs use which code can be reused.

The meaning of version control will be further discussed in future chapters.

As we already know, VSS provides versioning and historical services to ensure that each version of a file is recoverable. VSS uses a date/time stamp to record when a file was checkout, or when it was modified, and there are three main ways to track the version of the file and project:

Version number: This is the internal digital maintained by VSS and the user has no control over it. Each version of each file and project has a version number, which is always an integer and is incremented.

Date/time stamp: It gives information about when a file was last modified, or when a file was checkin. VSS also supports 12-hour and 24-hour time formats.

The working directory is where the user actually modifies the project file, when a user checkout or extracts a file, VSS copies the item to the user's working directory, and when the user modifies the file and checkin it or commits it, VSS returns it back to VSS from the user's working directory Database. When a user makes a checkout, VSS will automatically manage his working directory, such as creating the necessary subdirectories. and the working directory can be created or modified at any time.

3. Some of the new features and features of VSS6.0

Archiving and recovery-in VSS6.0 These two operations are done in a user-friendly VSS Administrator Wizard, and in previous versions they were only implemented through the command line.

Move file-When a user moves a file, VSS6.0 automatically shares the file in a new project and deletes it from the original project. In a new project, the properties of the file are shared.

Difference comparisons between multiple projects-this feature allows users to compare differences between different projects.

Expansion of a single file-in a previous release, VSS could only expand a directory (folder), and in VSS6.0, a file could be expanded.

Fast extraction-as VSS6.0 improves in performance, file extraction is now about twice times faster than the previous VSS version.

Historical information filtering-vss6.0 supports viewing the history of files and items that are not tagged.

Clear temporary Folder Options-This new feature makes it easy for users to clear temporary folders.

Check external hyperlinks-in earlier versions of VSS, only internal hyperlinks and jumps within the project were checked, and VSS6.0 allowed users to check for hyperlinks and jumps outside the project.

Create a shortcut key to open a VSS database-users can use this new feature in VSS Explorer to create a desktop shortcut that opens a particular VSS database.

HTML-formatted Help-VSS Previous versions use the WinHelp format.


This article is a combination of CVS application experience, to play their own imagination, design of the CVS implementation principle. As to whether the real CVS is the principle, there is no investigation involved. The CVS implementation principle designed in this article can explain all the CVS operations I have encountered, so this principle helps to learn about CVS.       CVS has server and local sandbox components. A revision number (Revision, denoted Sr) is maintained on the server side for each file, and each update to the file causes the file's revision number to be added to 1. A revision number (denoted CR) is also maintained for each file in the sandbox, and it is through the relationship between these two revision numbers that CVS Update,commit and discovers conflicts. Next, look at the relationship between each operation and the revision number:     1) commit. A commit commits a local modification of the file to the server side. When performing a commit, do two things in turn: A to determine if CR equals SR, if CR      2) Update operation. The update operation updates the changes made by other users to the local file. When performing an update operation, do two things in turn: A to determine if CR is equal to SR, if CR      3) updatespecial operation. Features are more powerful than update and have more parameters. This action can be used if the user wants to discard local modifications and synchronize with the server side. and select the Cleancopy check box (note: For TORTOISECVS users only). In addition, you can choose which version to sync to the server specifically.      4) Checkout operation. Obtain a copy from the server side and initialize the CR to equal the SR.          using CVS there are 2 sequence of operations, first commit, if the conflict again execute update, otherwise do not execute update, this order of operation is called the commit precedence method. Second, update, modify the file, and then execute a commit, if the conflict, need to execute update, this sequence of operations is called update precedence. Update precedence is better because it is possible to discover conflicts earlier and take steps to recommend using CVS in this way.       use the update precedence method to demonstrate the following image using CVS. Note: N in the figure is the revision number; The red part is to demonstrate upDate conflict type, assuming that the user is performing an action that normally does not take this step.

Schematic diagram:


Subversion supports Linux and Windows, but more is installed under Linux

There are two ways to run an SVN server: Standalone servers and the help of Apache. svn://http://

SVN client TortoiseSVN

SVN's basic work idea: Build a source code base on a server, the library can store many different projects of the source program. Active Code Library Administrator

Manage these source programs uniformly. Before using the source code library, each user should first download the source code Courried project file to

Local, then developers can modify locally, left behind with svn command to submit, the source code base unified management changes.

Version control resolved:

* Code Management Confusion

* Resolve Code conflict difficulties

* Raise bugs during code consolidation

* Cannot have permission control on the owner of the code

* Project different version of the release difficult svn working principle diagram

Related Article

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: 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.