The core function of clearcase is version control, which tracks a file or directory development process in the software development process. Clearcase enhances version control system functions for all file system objects (including files, directories, and links. Finalized files include source code, executable files, bitmap files, Requirement documents, design instructions, test plans, and some ASCII and non-ASCII files. The version of the directory records the development of the basic resources of the entire Organization, including the creation, renaming, re-construction, and deletion of source files. This version control system provides advanced version branch and merge functions to support parallel development.
Control the version of any file
Clearcase can maintain and control the versions of each software component or component. Clearcase can also maintain a version of non-text files, directories, and tools. Just as: it can manage library files, compilers, Requirement documents, test packages and databases, not just source code.
The component type of clearcase can manage version content. Users can define their own component types, or use predefined types in clearcase: text files, compressed text files, files, compressed files, and binary incremental files.
Clearcase can use incremental algorithms to store text files in a special structure file container. Clearcase uses standard compression technology and incremental algorithms to store a compressed text file. (This saves 50%-70% of storage space than the previous storage format .)
Such component files and compressed files can be used to control any operating system files, such as executable programs, program resource libraries, structured databases, and structured document files. The binary incremental file type can be used in the binary file format at any time.
Organizing component development in the version tree
In clearcase, the component version is organized in the version tree structure. The structure of a version book can be customized according to the directory structure. It can also contain multi-layer branches and sub-branches.
In a typical development environment, the version tree structure of many components initially only contains one branch, that is, the version of the component is arranged in the same line queue. With the development of time, when users do some bug fixes, code organization, some experimental modifications, or the development of the specified platform, they can define sub-branches for some related components, this removes the backbone for development. Clearcase supports multi-level branch operations and can also name versions or branches.
Version Control of directories and subdirectories
Clearcase can control the versions of directories and subdirectories, allowing developers to track the development process of their data organization. Directory version controls some changes, such as creating a new file, modifying the file name, creating new subdirectories, or moving files between directories.
Clearcase also supports automatic comparison and merging of directories.
Store data in an accessible version object class (vobs)
Clearcase stores all version control data in a permanent and secure storage zone called version object bases, and project teams (or managers) you can determine the number of vobs they need and the directory or file to be maintained. Vobs is not only a file system that can be connected, but also an online resource. The host can connect to any number of vobs.
The format of clearcase vobs is similar to that of UNIX, Windows NT file systems, and distributed database systems. Clearcase adopts the Raima data management mechanism to maintain the vob database. When connecting and accessing in clearcase, vob appears in front of the customer as a standard software directory tree, containing standard file objects: directory, file, symbolic link, and hard link. But in fact, the file system already has a wide range of version control components: it contains directory elements, directory element versions, file elements, file element versions, vob dynamic links, and vob hard links. Developers can also view data related to these file system objects. The data includes event records, establishment review, and user-defined items such as version labels and attributes.
Use common check-out/edit/check-in examples
Clearcase commands can control element changes, ensure orderly reproduction of the storage area and minimize data corruption. Clearcase uses an example of checking in after checking out/editing. It is similar to traditional version control tools such as cross-area Scripting (RCs) and SCCs. In addition to checking out, checking in, and non-checking out operations, clearcase can also set additional operations through commands, such: delete versions, create/delete branches, List version history in chronological or structural order, and compare version differences, and merge versions developed in parallel.
When you start to work on a specified file, the file has a read-only attribute, which means it cannot be edited or deleted. The check-out operation can make an editable copy of the latest version of the file. It does not need to copy files to another region. Comments can be provided. After editing, the file is checked in. Therefore, a new version is created in the version tree and editable copies are deleted. To check file changes, you can enter comments during the check. Once the file is checked in, it immediately returns to the read-only status to become shared data and can be used by all members.
Clearcase supports two types of detection, retained and non-retained. Retained check-out can ensure that the correct range of version history is formed, and only one person is allowed to perform the retained check-out operation. Non-retained check-out does not need to ensure that a successful version is created. If multiple users simultaneously perform non-retained check-out on the same element and attempt to perform the check-in operation, the first check-in operation is allowed, other users must merge their results through the merge operation.
Rich comments and version data reports
Clearcase stores different information classes related to file system objects. This information is not actually contained in the object. It is some additional data. The data can be generated by clearcase or customized by users. All data is stored in the vob database.
This type of data generated by clearcase provides reliable version comments for file systems. For example, this data can verify that element A creates a new version at a certain time point. User-Defined data can be used to express additional functions-for example, the file version was used to construct version 4.31 of the application system.
Clearcase operations (such as check-out, check-in, and merge versions) can create time records and record data containing the operation information. These records are stored in the vob database and mainly describe the Operation's attributes, such as: "Who did, what did, when, where and why". For example: the ID of the person who typed the command, the operation type, operation time, host name, and description entered by the user. You can use the "lshistory" command to display event records stored in vob, and observe event records in vob Through graphical interfaces provided by the history information browser.
You can define data for multiple purposes, including the branch name, version tag, and comment information of any version of the element.
Another application of clearcase data is to form annotated text files. The comment command can list the content of any version text file in the form of line display, which makes it easier to see when the addition or deletion operations are performed in different places.
Clearcase can also create customer reports for file system objects. You can customize the output format for the report type.
Support concurrent development through the branch Function
Clearcase supports parallel (concurrent) development. Each element can develop along different branches, that is, the new version can be added to an independent branch. Clearcase can easily generate branches or merge different branches. In this way, even if some work is frozen or locked, developers can continue their work (for example, during software integration ). In this case, developers can work on the branch. We know that the automated operations and graphical merge tools of clearcase can make it easy for us to reintegrate new jobs.
Parallel development is very important because:
(1) It allows different projects to use the same resource tree at the same time.
(2) It isolates the modification results that cannot be shared with other personnel.
(3) It will never isolate the modification results shared by other personnel (for example, fixing errors in published versions ).
(4) It eliminates the need to stop development during software integration. programmers can develop on the branch before integration.
To support parallel development, clearcase allows you to establish branches, track the use of branches, compare files, and automatically Merge files.
Automatic comparison and merge of versions
Parallel development features regular comparison of different versions of the same element, and merge the content between versions. In clearcase, there are two types of operations for comparing and merging elements or text files: simplified and graphic interfaces. The diff command executes multi-file comparison without merging. The merge command can process 32 "members" and generate an independent file. Clearcase can automatically identify and merge options. Clearcase can also locate the project elements to be merged. If all "members" (merging elements) are versions of the same element, the system automatically determines the basic "member", usually the lowest version. In addition, clearcase records the differences between the base version and a merge element version. If the differences between all "members" are different, clearcase automatically creates a merged version. If the content of two or more merged "members" files is different, the merging function prompts the developer to select the merged content. Clearcase can also implement reverse merge-from the master branch to the sub branch.
The add-and-Merge function of clearcase allows you to select the specified version when merging other branches (those versions that change from start to end on the branch ). The negative merge operation can delete some version differences to form a new version, which contains all the changes except those that have been deleted.
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.