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: Tags with Virsual SourceSafe and CVS have $ 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: Using this file in 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 LSACL List The Directories Access Control List Passwd Set The User's Password (Admin: Administer User) Authserver Authentication Server Mode
But in CVS (Linux), you will use it when CVS is started as a server: PServer Password Server Mode5. 2004-2-19: View CVS Help Information --Help-Options View CVS Options - HELP- Commands Display CVS Command List - Help-synonyms Display the alias list of cvs commands - H command to view the specific usage of a command
6. 2004-2-23: Change the current large environment variable with the shell script to run the shell script in a way that the SHELL script can be made in the current shell environment. Linux Is Designed That Way. Any Variable, Defined In A Subshell (Child Process), IS LOCAL to the Subshell, And Subshells of Itself (Grandchild Processes).
User to Execute The Script is Different Story. Commands in The Script Arecuted in The Current Process ONE After Another.
My simple 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 ;; - mni) 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 definition of the version number 1). The version number of the version number is: a.b.c.d. 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 in the online version is 5. 11.183). Optional method 3: Add a prefix to distinguish between three, four is not a new Software version identifier method, which usually increases on the basis of 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: Compared with the formal software, commercial software, game software, etc.
4). Option 4: Use external versions, internal version two sets of mechanisms When we click on the "About" of the Word Help menu, "Word2002 (10.2627.2675)" is seen. 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. Applicable to: commercial software
10. 2004-3-2 Auxiliary Identification CVS has the following two ways to identify the configuration item: 1)., Revision and Vss's version, Revision is also automatically assigned by CVS, usually the operator does not need to be too concerned about the details of its change, only Need to know that each Revision of a configuration item is unique, and a version of the configurable item is OK. 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: / ba3 / cvs co cvsroot 2. Using WinCVS (Next Goal: Research on how to use CVSNT to use CVSNT in Win to log in :))
15. 2004-3-23 CVS self-contained tools from the source code to install by default, and find a useful gadget 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
Start a new milestone: cvs commit -r 2 tag all files start entering 2.x development
Note: The release version of the Revsion and the 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> FileName $ CVS Add FileName $ CVS CI -M "Revived FileName" filename (filename is the file name to recover)
2. If you only perform the remove command, you will directly CVS Add file name so you can 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 your commit operation
18. 2004-3-24 SUDO uses an indiscrunable account CVS and group CVS as a group of CVS warehouse. 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 / cvsroot / readers
CVS PServer User Administration 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
r Set user to read only mode. This option is * * available to root and repository owners only. * * * * -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 * * available to root and repository owners only. * * * * -u Unlock user. This is the opposite of -l. This * * option is available to root and repository * * Owners ONLY. * * * - DELETE USER. This option is available to root * * * * * -s system account. This is the name of the system * * user to use for craness h Entry in the * * passwd file. No checking is done to insure * * that the user exists. This overrides the * * CVSPWDUSR environment variable. Unlike the * * CVSPWDUSR variable, setting this will change * * the system user for an existing user. This * * option Is available to root and repository * * oowners online * * * *
The name of the cvs user (not the system user). * ****************************************** ******************************************* Note: $ su - $ export cvsroot = / home / cvs $ cvspwd -s cvs srni password: **** RE Passwprd: ****
19. Access control under Linux under Linux Use the self-contained tool CVS_ACLS.PL
20. 2004-4-14 Combined with conflict CVS for merge will always retain a version before the merger. CVS will not discard conflict modifications, but remind you. Frequent mergers and updates, you can ensure that your current Working and warehouse is small, which is an effective means to reduce conflicts.
21. 2004-5-17 About 捡 Do not use the root account from the CVS checkout, you should use the non-root account to compile, using the root account Checkout will cause the permission.
22. 2004-6-25 About Entering Walk http://www.worldhello.net/doc/cvs_vs_starteam/cvs-faq.html#aen1466 server side is the same in the UNIX or Windows (CVSNT) server, all in the same The format saves the wrapper of the text file (whether DOS 0D0A, or 0A on UNIX, or 0D on the MAC). The server side is saved as 0A. But this is not to say files stored in the server (at, V end), and cannot contain characters "0D". For example, there are many characters 0D in the binaries. Text files may also contain 0D, but most of which contains 0D text files, it is very likely to cause CVs due to improper cross-platform. This processing method of the server is well adapted to cross-platform characteristics. That is, the repository of the UNIX side server can copy directly to the repository of the Windows end, Vice Versa. In the Windows end, transplanted the UNIX maintained server, I have encountered a patent question. Later, it was found to be due to a weird default setting of Winzip: "TAR File Smart Cr / Lf Conversion"! Client text on UNIX Client Unix stores saved to the server side, 0D as a normal character with file Checkin, because UNIX's default file wrap is "0a". However, if the file of the UNIX is for some reason, if you use the Samba shared UNIX file system, edit it with a Windows tool, causing the file wrap to change to CRLF, then checkin under Unix will check the OD with file Checkin.
The client on Windows Client Windows has a function of smart CRLT conversion, namely: converts the CRLF in the text file to LF, submits to the server, and converts the LF of the server to CRLF. However, if the server side is CRLF, convert to CrCrlf.
The dual ID of the WinCVS client WinCVS can both combine the features of the Windows and UNIX clients. Select options: admin -> preferences -> Globals -> Checkout text Files with the UNIX LF. It is a function similar to the UNIX client. It is strongly recommended not to choose this option, let a tool do it unsatisfied, and the problem is so late. Cygwin's CVS client Cygwin client is equivalent to UNIX client. Since running on Windows, a text file with CRLF may be submitted, so I often use Windows client programs to replace CVS under CygWin.
A messy client action server caused by CRLF ============================================= ================== LF - UNIX CHECKIN -> LF CRLF <- Windows Checkout - LF CRLF - UNIX CHECKIN -> CRLF CrCrlf <- Windows Checkout - CRLF
To prevent confusion, do not use UNIX's CVS client (including Cvs client) Checkin DOS format file.
23. A small problem that CVSNT that cannot be logged in. After using the cvs passwd -a -r systemuser cvsuser, log in to the following error Tip with this account: Fatal Error, Aborting. CVS [Checkout Aborted ]: CVSRECSTORE: SWITCH TO USER FAILED DUE TO Configuration Error.? Contact Your System Administrator. Take your machine to see :)