1. 2004-2-19: Add a directory in the current working directory, including its subdirectories, and files using the cvs import command, one-time subdirectory to be added as a sub-module into the CVS warehouse, Use the CVS UP command to synchronize the sub-module from the CVS warehouse. The specific methods are as follows: $ CD NewDir / $ CVS IMPORT -M "Add A New Sub Module" Module_Test / NewDir Hellocvs InitNew $ CD .. $ CVS Up -D 2. 2004-2-19: Communication for Virsual SourceSafe and CVS Tag has $ header: /Home/cvsroot/tech/cvs_card.html ,v 1.5 2003/03/09 08:41:46 Chedong Exp $ $ Author: Chedong $ $ DATE: 2003/06/28 18:36:26 $ $ Revision: 1.8 $ 3. 2004-2-19: Use this file for the checkoutList file contains a list, where the files involved in the file will be saved to the warehouse. If a file cannot be detected from the warehouse, the file name and error message given by each line can be output by the CVS output FileName ErrorMessage because the CVS knows the detection copy of the existing management file, they don't have to be listed in CheckoutList. Out. Example: Work Copy Nipp "Admin" to the list $ CVS CI CheckoutList Commit The List $ VI Admin Add SRNI To The List $ CVS Add Admin $ CVS CI Admin Committee File then in the warehouse directory Yes:. # Admin, admin, where admin, v is the recorded version information file saved by CVS, and admin is because it is in CheckoutList, so it is detected from the warehouse. The administrator edits the admin file from the client and submits, the server can automatically detect and take effect.
4. 2004-2-19: CVSNT following command is there, but CVS (linux) which do not have chacl Change the Access Control List for a directory chown Change the owner of a directory info Display information about supported protocols ls List files in the repository (cvs 1.12.9 already have the command) lsacl List the directories Access Control List passwd Set the user's password (Admin: Administer users) authserver Authentication server mode but CVS (linux) inside one more command, which started as a server in CVS Applicable: PServer Password Server Mode 5. 2004-2-19: View CVS Help Information - Help-Options View CVS Options - Help-Commands Display CVS Command List - Help-Synonyms Displays the alias list of CVS commands -H command View a specific usage of a command 6. 2004-2-23: Change the current large environment variable with the shell script to run the shell script with "$. CHANGECVSROOT.SH" to make the script in the current The SHELL environment is executed.
Linux is designed that way. Any variable, defined in a subshell (child process), is local to the subshell, and subshells of itself (grandchild processes). Use '.' (Dot) operator to execute the script is different story. Commands IN The Script Aree Executed in The Current Process One After ANOTHER. My Easy Script: #! / bin / sh # name: ChangecvsRoot.sh # usage: $. Changecvsroot.sh --php Parse_arguments () {for arg do case $ arg "in --php) cvsroot =: pserver: cvsread@cvs.php.net: / repository ;; --wiscom) cvsroot =: pserver: srni@172.18.10.20: / acstar ;; --srni) cvsroot = : pserver: srni@172.18.10.213: / acstar4 ;; esac done} if [! $ 1]; the echo "no params" Else Parse_arguments $ @ Fi 7. 2004-2-25 Regarding the version number 1). version number The format is: ABCD. Where A - Major Version, B - Depth Version (Minor Version), C - Publishing No. (Revision Version Number), D - Compile Number (BUILD / EXTRA). The main version number and the secondary version of the project have been designated in the project plan, marking important changes. Release version number C, is used to reflect a small function change or to manage the branch of the project. The Build number is automatically plus 1 at each time. 2). Let's follow a public version definition specification, namely: the main version of the version. From the version number. Correct version number. Among them, the main, from the version number is composed of numbers, each big upgrade will be more main version number, general upgrade as long as the version number is updated, as for smaller corrections (patch, beta test, etc.) We only update Amend the version number. The general correction version number is our internal compilation version number, and each compiler will be updated. 8. 2004-3-1 Regarding Development and Control Rules 1). Software Development Period, we should keep the project's CVS trunk always in a stable state, that is, the latest object set from the trunk is always the latest release version. It can also be said that the backbone is the release branch of the project, and it is also possible to say that development activities will always leave the main dry. 2). Based on the development activities of the CVS system, we divided three situations: single single-line development, multi-person single-line development, parallel development, no matter what these three situations, we should create development branches, limit the development activities On the development branch.
3). I consider the CVS development control specification: 1. The label on the backbone is started with "REL_", the development of the branch is started with "dev_", and the separation symbol in the label uses underscore "_". 2. Develop activities on branches, including testing, while being stable, merged to the main dry. When the trunk is appropriate, the label of "Rel_" is demonstrated, indicating that the development enters a new stage. 3. Developers, whether it is single or multiplayer, the test from the copy is from branches. 4. The product is released from the back to the different versions of the different periods in accordance with the label. 5. I divide the branch into development branches and functional branches. The development branch is the development of the main line. Functional branches are for special needs, such as custom development of a customer. 6. Press my design, the ideal map, * Identifies the merge from the branch to the trunk: ------ ------- ------ --- -------- DEV_BRANCH -> ------ | 1.2.2.1 | ---- | 1.2.2.2 | ---- | 1.2.2.3 | - | 1.2.2.4 | ----..... Develop branch | -------- ------- ------ - ---------- | * * -------- ---------------------- --------- ------- | 1.1 | ---- | 1.2 | ---------------- | 1.3 --------- ---------- | 1.4 | ------...... Dunk ------- ------- - -------- --------- | | -------- Patch_branch -> ---- | 1.3.2.1 | ..... Function branch --------- of course actual applications should not be stamped here, should be done according to the actual project. The most important thing is to maintain the clearness of the trunk while ensuring the integrity of the development, and the development record can be completely reserved and can be easily inquiries and backtake.
9. The version number of the version number is a comparative abstract configuration. 1). Method 1: The identification method of this version number is relatively simple in version release date, although it is impossible to see the number of versions of the system, and the different properties between the various versions, but can be visually seen. Publish date. It is also relatively easy to memorize. If the project team member needs to count or communicate with the version, it is not necessary to rely on any record, you can locate the date of the release. Suitable for: small projects, version frequently released projects. Example: 2003-9-7 Released two versions, from 20030907A, 20030907B application project: CTAIS2.0. 2). Method 2: Use "Home version] from the version number. Maintenance version number. Piped version number" This is the basic identification form of most system version numbers, each version number is arabic number, the main version number 1 For the starting number, the other version number is started with 0. It is also possible to cut, similar to the "main version of the version. From the version number" form. After the version is identified in this way, the current version of the current version, and the trajectory released by the version can be seen more clear. As for the main version and from the versions, each project group can have its own agreement. For example, the function is greatly modified, it is officially released to the customer, online and other milestones, should be reacted on the version number change. Suitable for: Compare formal software project example: The first version is 1.0.0.0, the version used is 5. 11.18 3). Optional method 3: Add a prefix to distinguish three, four is not a kind The new software version identifier method, which usually increases above the way to better identify the version. We usually see ALPHA, BETA, DEMO, Release, etc. in front of the software, which identifies their recognized meaning, mainly in the nature and use of the difference. The following is the reference. Alpha version (internal beta): Generally only operated in the software development company, not openly public. Mainly developers testing products, checking if there is defects, errors, verifying product functions and manuals, whether the user manual is consistent. BETA version (external beta): Software development company is an external publicity, free delivery of informal products to a typical user, allowing users to test the shortcomings of the software and have problems in order to further improve and improve before formal issuance . Generally downloaded from Internet for free, you can also request software companies. Demo version (demo version): Mainly to demonstrate part of the functional software, users can learn the basic operation of the software, and have an impact on the sale of official products. If it is a game, only one or two levels can be played. This version can also be downloaded for free from the Internet. Release version (released): Not official version, with time limit, is one of the propaganda strategies made to expand impact. For example, the release of Windows Me is limited to only a few months, download free to download for free from the Internet or from the company. Full Version version (full version): It is also a formal version, which is the final version of the official release. Example: Beta2.0, Release1.02 Suitable for: Formal Software, Commercial Software, Game Software, etc. Option 4: Use external versions, internal version two sets of mechanisms When we click on the Word Help menu When the head portion is seen "Word2002 (10.2627.2675)". The 2002, 10.2627.2675 here is external and internal version numbers, respectively.
Because the customer remembers the cumbersome internal version number is difficult, on the other hand, many commercial software not only have external version numbers, but also naming the function with different names. For example, Windows98- Windows ME-Windows2000- WindowsXP; RealPlayer8.0- Realone Player V2.0, etc. Suitable for: Business Software 10. 2004-3-2 Auxiliary Identifier CVS has the following two ways to identify configuration items: 1). Like the Version of Revisions and VSS, Revision is also automatically assigned by CVS, usually operator does not need to care too much. Details of the change, only need to know that each Revision of a configuration item is unique, and a version of the corresponding item is available. The reason for the configuration of the item is called Revision, which is to distinguish between the version of the software project. The initial revision of the configuration item is 1.1, usually, CVS is a revision of the configuration item with a trend of 1.1? 1.2? 1.3. When adding a new file, the second number will be "1", the first number is equal to the maximum value of all the file version numbers in this directory. For example, the current directory contains files with version numbers 1.7, 3.1 and 4.12, and a new file number of a new file should be 4.1. 2). Tag and VSS Label have some similar, TAG is also an identifier created by the user to a certain or certain configuration item in the CVS. However, CVS is more controlled by the name of TAG, and a TAG must begin with letters, follow-up multiple letters, numbers, minusks and underscores, and cannot include some numbers and spaces. For example, "Release1-3-2", "Approvdby SQA", etc. The role of tag and the VSS Label are consistent, but also to the configuration items indicate some information we want to keep. 11. 2004-3-2 Internal branch number of CVS, the branch number will be composed of an odd "." Partial decimal integer. Please see 4.1 [version number]. However, it is not entirely, because of the efficiency, CVS is sometimes inserted into an additional "0" on the second position of the right end (1.2.4 becomes 1.2.0.4, 8.9.10.11. .0.12, etc.). 12. 2004-3-15 Viscological Tag (Sticky Tag) Press literally to a viscous label. In CVS, if a version on the specified version tree is detected, it is impossible to transfer it directly. In this case, it is called Sticky Tag. To submit, you must create a branch, update to the branch, and then modify it. 13. 2004-3-15 SSH link CVS service $ cvs_rsh = ssh; Export CVS_RSH $ CVS -D: EXT: SRNI@172.18.10.31: / Bak3 / CVS CO CVSROOT does not require login / logout as a PSERVER access.
14. 2004-3-23 Windows uses the SSH connection server with two ways: two options: 1. Using PUTTY SSH 2. Use OpenSSH's Windows version (http://lexa.mckenna.edu/sshwindows /) Two methods: (For details, please see two documents: WinCVS_SSH_GUIDE.PDF CVSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSH/BIN/ssh.exe C: / C: /Progra ~ 1/openssh/bin/ssh.exe C: / CVS -D: Ext: Srni@172.18.10.31: / bak3 / cvs co cvsroot 2. Using WinCVS (Next Goal: How to use CVSNT to use CVSNT to open SSH landing method :)) 15. 2004-3-23 CVS The tool is installed from the source code by default, and several gadgets are found in / usr / local / share / cvs / contrib. 16. 2004-3-24 Milestones (http://www.chedong.com/tech/cvs_card.html) confirm that version milestones: Multiple files are different, projects to a certain stage, you can specify one for all files The stage milestone version number is convenient to export projects in this stage milestone, and is also the basis for multiple branch development of the project. CVS Tag Release_1_0 starts a new milestone: CVS commit -r 2 tag all files start entering 2.x Development Note: The release version of the Revsion and package in CVS can have no direct relationship. However, all files use and publish version of the version number contribute to maintenance. 17. 2004-3-24 CVS Recovery Recovery (http://www.heynew.com/scmchina/topic.asp?topic_id=2218&ster_id=49&cat_id=9&curpage=3) 1. $ CVS -R XX (Remove Version Number> FileName $ CVS Add FileName $ CVS CI -M "Revived FileName" FileName (filename is the file name to be restored) 2. If you only perform the remove command, you will directly CVS Add file name, so You can directly restore the deleted files that have not been submitted. If you perform a commit command, you must first enter the CVS Add file name. At this time, you will get an empty file, then select this empty file, execute Update, get the entity of this file, execute the commit operation 18. 2004-3-24 sudo Use an unconnected account CVS and group CVS as a group of CVS warehouses. Use the PServer service mode. Use the Passwd file to manage your account.
# sudo -u cvs cvs -d / home / cvs init # sudo -u cvs touch / home / cvs / cvsroot / passwd # sudo -u cvs touch / home / cvs / cvs sloo PServer User Administrative Tools under Linux: Cvspwd *************************************************************************** ********************** * file: cvspwd.c * * Author: Peter Ajamian * * Date: February 10, 2001 * * Version: 2.0.5 * * Copyright 2001 Peter Ajamian * * * * You _must_ read and agree to the terms set forth in the included * * file license.txt before using, modifying, distributing, or * * redistributing this software or any portion of this software. * * * * This program, based on the badly written cvspwd program distributed * * by GlassFish Networking Interactive is designed to allow for easy * * password management for the CVS pserver. It uses no code whatsoever * * from the original GlassFish program. It is designed to act very * * much like the standard Unix passwd program. This program should be * * installed as root for systemwide access. If that is not an option * * it can be installed as the user who owns the Repository it will be * * Used on. root and repository Owners CAN Use cvspwd to change ** anyone '
s password. Users can only change passwords if they can * * first supply the original password for the account. Unlike passwd * * checking is not done on the passwords to insure integrity. This * * Program must be compiled with -lcrypt. * * * * This program works on $ CVSROOT / CVSROOT / passwd directly. If someone * * wants to try to modify it so it goes through the whole mess of * * checking out the file, modifying it, and checking it back in then be * * my guest. * * * * usage: cvspwd [-l | -u | -d | -s]
*
* *
* Options: *
* --H Display this help screen. *
* --Help *
* *
* R set user to read only mode. This option is *
* Available to root and repository owners online. *
* *
* -R Remove user from read Only Mode. This Option *
* Is Available to Root and Repository Owners *
* ONLY. *
* *
* -L lock user. This option will effectively lock ** Out the user by appending an `! 'To the *
* Beginning of His Password. This option is *
*