1*43c1707eStholoThis is cvs.info, produced by makeinfo version 4.0 from cvs.texinfo. 25af5dd31Stholo 36407bc5bStholoSTART-INFO-DIR-ENTRY 46407bc5bStholo* CVS: (cvs). Concurrent Versions System 56407bc5bStholoEND-INFO-DIR-ENTRY 66407bc5bStholo 75af5dd31Stholo Copyright (C) 1992, 1993 Signum Support AB Copyright (C) 1993, 1994 85af5dd31StholoFree Software Foundation, Inc. 95af5dd31Stholo 105af5dd31Stholo Permission is granted to make and distribute verbatim copies of this 115af5dd31Stholomanual provided the copyright notice and this permission notice are 125af5dd31Stholopreserved on all copies. 135af5dd31Stholo 145af5dd31Stholo Permission is granted to copy and distribute modified versions of 155af5dd31Stholothis manual under the conditions for verbatim copying, provided also 166407bc5bStholothat the entire resulting derived work is distributed under the terms 176407bc5bStholoof a permission notice identical to this one. 185af5dd31Stholo 195af5dd31Stholo Permission is granted to copy and distribute translations of this 205af5dd31Stholomanual into another language, under the above conditions for modified 216407bc5bStholoversions, except that this permission notice may be stated in a 226407bc5bStholotranslation approved by the Free Software Foundation. 235af5dd31Stholo 245af5dd31Stholo 252f9d2fd9StholoFile: cvs.info, Node: commit options, Next: commit examples, Up: commit 262f9d2fd9Stholo 272f9d2fd9Stholocommit options 282f9d2fd9Stholo-------------- 292f9d2fd9Stholo 302f9d2fd9Stholo These standard options are supported by `commit' (*note Common 31e77048c1Stholooptions::, for a complete description of them): 322f9d2fd9Stholo 332f9d2fd9Stholo`-l' 342f9d2fd9Stholo Local; run only in current working directory. 352f9d2fd9Stholo 362f9d2fd9Stholo`-n' 372f9d2fd9Stholo Do not run any module program. 382f9d2fd9Stholo 392f9d2fd9Stholo`-R' 402f9d2fd9Stholo Commit directories recursively. This is on by default. 412f9d2fd9Stholo 422f9d2fd9Stholo`-r REVISION' 432f9d2fd9Stholo Commit to REVISION. REVISION must be either a branch, or a 442f9d2fd9Stholo revision on the main trunk that is higher than any existing 45e77048c1Stholo revision number (*note Assigning revisions::). You cannot commit 462f9d2fd9Stholo to a specific revision on a branch. 472f9d2fd9Stholo 482f9d2fd9Stholo `commit' also supports these options: 492f9d2fd9Stholo 502f9d2fd9Stholo`-F FILE' 512f9d2fd9Stholo Read the log message from FILE, instead of invoking an editor. 522f9d2fd9Stholo 532f9d2fd9Stholo`-f' 542f9d2fd9Stholo Note that this is not the standard behavior of the `-f' option as 552f9d2fd9Stholo defined in *Note Common options::. 562f9d2fd9Stholo 572f9d2fd9Stholo Force CVS to commit a new revision even if you haven't made any 582f9d2fd9Stholo changes to the file. If the current revision of FILE is 1.7, then 592f9d2fd9Stholo the following two commands are equivalent: 602f9d2fd9Stholo 612f9d2fd9Stholo $ cvs commit -f FILE 622f9d2fd9Stholo $ cvs commit -r 1.8 FILE 632f9d2fd9Stholo 642f9d2fd9Stholo The `-f' option disables recursion (i.e., it implies `-l'). To 652f9d2fd9Stholo force CVS to commit a new revision for all files in all 662f9d2fd9Stholo subdirectories, you must use `-f -R'. 672f9d2fd9Stholo 682f9d2fd9Stholo`-m MESSAGE' 692f9d2fd9Stholo Use MESSAGE as the log message, instead of invoking an editor. 702f9d2fd9Stholo 712f9d2fd9Stholo 722f9d2fd9StholoFile: cvs.info, Node: commit examples, Prev: commit options, Up: commit 732f9d2fd9Stholo 742f9d2fd9Stholocommit examples 752f9d2fd9Stholo--------------- 762f9d2fd9Stholo 772f9d2fd9StholoCommitting to a branch 782f9d2fd9Stholo...................... 792f9d2fd9Stholo 802f9d2fd9Stholo You can commit to a branch revision (one that has an even number of 812f9d2fd9Stholodots) with the `-r' option. To create a branch revision, use the `-b' 82e77048c1Stholooption of the `rtag' or `tag' commands (*note Branching and merging::). 83e77048c1StholoThen, either `checkout' or `update' can be used to base your sources 84e77048c1Stholoon the newly created branch. From that point on, all `commit' changes 85e77048c1Stholomade within these working sources will be automatically added to a 86e77048c1Stholobranch revision, thereby not disturbing main-line development in any 87e77048c1Stholoway. For example, if you had to create a patch to the 1.2 version of 88e77048c1Stholothe product, even though the 2.0 version is already under development, 89e77048c1Stholoyou might do: 902f9d2fd9Stholo 912f9d2fd9Stholo $ cvs rtag -b -r FCS1_2 FCS1_2_Patch product_module 922f9d2fd9Stholo $ cvs checkout -r FCS1_2_Patch product_module 932f9d2fd9Stholo $ cd product_module 942f9d2fd9Stholo [[ hack away ]] 952f9d2fd9Stholo $ cvs commit 962f9d2fd9Stholo 972f9d2fd9StholoThis works automatically since the `-r' option is sticky. 982f9d2fd9Stholo 992f9d2fd9StholoCreating the branch after editing 1002f9d2fd9Stholo................................. 1012f9d2fd9Stholo 1022f9d2fd9Stholo Say you have been working on some extremely experimental software, 1032f9d2fd9Stholobased on whatever revision you happened to checkout last week. If 1042f9d2fd9Stholoothers in your group would like to work on this software with you, but 1052f9d2fd9Stholowithout disturbing main-line development, you could commit your change 1062f9d2fd9Stholoto a new branch. Others can then checkout your experimental stuff and 1072f9d2fd9Stholoutilize the full benefit of CVS conflict resolution. The scenario might 1082f9d2fd9Sthololook like: 1092f9d2fd9Stholo 1102f9d2fd9Stholo [[ hacked sources are present ]] 1112f9d2fd9Stholo $ cvs tag -b EXPR1 1122f9d2fd9Stholo $ cvs update -r EXPR1 1132f9d2fd9Stholo $ cvs commit 1142f9d2fd9Stholo 1152f9d2fd9Stholo The `update' command will make the `-r EXPR1' option sticky on all 1162f9d2fd9Stholofiles. Note that your changes to the files will never be removed by the 1172f9d2fd9Stholo`update' command. The `commit' will automatically commit to the 1182f9d2fd9Stholocorrect branch, because the `-r' is sticky. You could also do like 1192f9d2fd9Stholothis: 1202f9d2fd9Stholo 1212f9d2fd9Stholo [[ hacked sources are present ]] 1222f9d2fd9Stholo $ cvs tag -b EXPR1 1232f9d2fd9Stholo $ cvs commit -r EXPR1 1242f9d2fd9Stholo 1252f9d2fd9Stholobut then, only those files that were changed by you will have the `-r 1262f9d2fd9StholoEXPR1' sticky flag. If you hack away, and commit without specifying 1272f9d2fd9Stholothe `-r EXPR1' flag, some files may accidentally end up on the main 1282f9d2fd9Stholotrunk. 1292f9d2fd9Stholo 1302f9d2fd9Stholo To work with you on the experimental change, others would simply do 1312f9d2fd9Stholo 1322f9d2fd9Stholo $ cvs checkout -r EXPR1 whatever_module 1332f9d2fd9Stholo 1342f9d2fd9Stholo 1358506102dStholoFile: cvs.info, Node: diff, Next: export, Prev: commit, Up: CVS commands 1368506102dStholo 1378506102dStholodiff--Show differences between revisions 1388506102dStholo======================================== 1398506102dStholo 1408506102dStholo * Synopsis: diff [-lR] [format_options] [[-r rev1 | -D date1] [-r 1418506102dStholo rev2 | -D date2]] [files...] 1428506102dStholo 1438506102dStholo * Requires: working directory, repository. 1448506102dStholo 1458506102dStholo * Changes: nothing. 1468506102dStholo 1478506102dStholo The `diff' command is used to compare different revisions of files. 1488506102dStholoThe default action is to compare your working files with the revisions 1498506102dStholothey were based on, and report any differences that are found. 1508506102dStholo 1518506102dStholo If any file names are given, only those files are compared. If any 1528506102dStholodirectories are given, all files under them will be compared. 1538506102dStholo 1548506102dStholo The exit status for diff is different than for other CVS commands; 1558506102dStholofor details *Note Exit status::. 1568506102dStholo 1578506102dStholo* Menu: 1588506102dStholo 1598506102dStholo* diff options:: diff options 1608506102dStholo* diff examples:: diff examples 1618506102dStholo 1628506102dStholo 1638506102dStholoFile: cvs.info, Node: diff options, Next: diff examples, Up: diff 1648506102dStholo 1658506102dStholodiff options 1668506102dStholo------------ 1678506102dStholo 1688506102dStholo These standard options are supported by `diff' (*note Common 169e77048c1Stholooptions::, for a complete description of them): 1708506102dStholo 1718506102dStholo`-D DATE' 1728506102dStholo Use the most recent revision no later than DATE. See `-r' for how 1738506102dStholo this affects the comparison. 1748506102dStholo 1758506102dStholo`-k KFLAG' 1768506102dStholo Process keywords according to KFLAG. See *Note Keyword 1778506102dStholo substitution::. 1788506102dStholo 1798506102dStholo`-l' 1808506102dStholo Local; run only in current working directory. 1818506102dStholo 1828506102dStholo`-R' 1838506102dStholo Examine directories recursively. This option is on by default. 1848506102dStholo 1858506102dStholo`-r TAG' 1868506102dStholo Compare with revision TAG. Zero, one or two `-r' options can be 1878506102dStholo present. With no `-r' option, the working file will be compared 1888506102dStholo with the revision it was based on. With one `-r', that revision 1898506102dStholo will be compared to your current working file. With two `-r' 1908506102dStholo options those two revisions will be compared (and your working 1918506102dStholo file will not affect the outcome in any way). 1928506102dStholo 1938506102dStholo One or both `-r' options can be replaced by a `-D DATE' option, 1948506102dStholo described above. 1958506102dStholo 1968506102dStholo The following options specify the format of the output. They have 1978506102dStholothe same meaning as in GNU diff. 1988506102dStholo 1998506102dStholo -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 2008506102dStholo --binary 2018506102dStholo --brief 2028506102dStholo --changed-group-format=ARG 2038506102dStholo -c 2048506102dStholo -C NLINES 2058506102dStholo --context[=LINES] 2068506102dStholo -e --ed 2078506102dStholo -t --expand-tabs 2088506102dStholo -f --forward-ed 2098506102dStholo --horizon-lines=ARG 2108506102dStholo --ifdef=ARG 2118506102dStholo -w --ignore-all-space 2128506102dStholo -B --ignore-blank-lines 2138506102dStholo -i --ignore-case 2148506102dStholo -I REGEXP 2158506102dStholo --ignore-matching-lines=REGEXP 2168506102dStholo -h 2178506102dStholo -b --ignore-space-change 2188506102dStholo -T --initial-tab 2198506102dStholo -L LABEL 2208506102dStholo --label=LABEL 2218506102dStholo --left-column 2228506102dStholo -d --minimal 2238506102dStholo -N --new-file 2248506102dStholo --new-line-format=ARG 2258506102dStholo --old-line-format=ARG 2268506102dStholo --paginate 2278506102dStholo -n --rcs 2288506102dStholo -s --report-identical-files 2298506102dStholo -p 2308506102dStholo --show-c-function 2318506102dStholo -y --side-by-side 2328506102dStholo -F REGEXP 2338506102dStholo --show-function-line=REGEXP 2348506102dStholo -H --speed-large-files 2358506102dStholo --suppress-common-lines 2368506102dStholo -a --text 2378506102dStholo --unchanged-group-format=ARG 2388506102dStholo -u 2398506102dStholo -U NLINES 2408506102dStholo --unified[=LINES] 2418506102dStholo -V ARG 2428506102dStholo -W COLUMNS 2438506102dStholo --width=COLUMNS 2448506102dStholo 2458506102dStholo 2468506102dStholoFile: cvs.info, Node: diff examples, Prev: diff options, Up: diff 2478506102dStholo 2488506102dStholodiff examples 2498506102dStholo------------- 2508506102dStholo 2518506102dStholo The following line produces a Unidiff (`-u' flag) between revision 2528506102dStholo1.14 and 1.19 of `backend.c'. Due to the `-kk' flag no keywords are 2538506102dStholosubstituted, so differences that only depend on keyword substitution 2548506102dStholoare ignored. 2558506102dStholo 2568506102dStholo $ cvs diff -kk -u -r 1.14 -r 1.19 backend.c 2578506102dStholo 2588506102dStholo Suppose the experimental branch EXPR1 was based on a set of files 2598506102dStholotagged RELEASE_1_0. To see what has happened on that branch, the 2608506102dStholofollowing can be used: 2618506102dStholo 2628506102dStholo $ cvs diff -r RELEASE_1_0 -r EXPR1 2638506102dStholo 2648506102dStholo A command like this can be used to produce a context diff between 2658506102dStholotwo releases: 2668506102dStholo 2678506102dStholo $ cvs diff -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs 2688506102dStholo 2698506102dStholo If you are maintaining ChangeLogs, a command like the following just 2708506102dStholobefore you commit your changes may help you write the ChangeLog entry. 2718506102dStholoAll local modifications that have not yet been committed will be 2728506102dStholoprinted. 2738506102dStholo 2748506102dStholo $ cvs diff -u | less 2758506102dStholo 2768506102dStholo 2778506102dStholoFile: cvs.info, Node: export, Next: history, Prev: diff, Up: CVS commands 2788506102dStholo 2798506102dStholoexport--Export sources from CVS, similar to checkout 2808506102dStholo==================================================== 2818506102dStholo 2828506102dStholo * Synopsis: export [-flNnR] [-r rev|-D date] [-k subst] [-d dir] 2838506102dStholo module... 2848506102dStholo 2858506102dStholo * Requires: repository. 2868506102dStholo 2878506102dStholo * Changes: current directory. 2888506102dStholo 2898506102dStholo This command is a variant of `checkout'; use it when you want a copy 2908506102dStholoof the source for module without the CVS administrative directories. 2918506102dStholoFor example, you might use `export' to prepare source for shipment 2928506102dStholooff-site. This command requires that you specify a date or tag (with 2938506102dStholo`-D' or `-r'), so that you can count on reproducing the source you ship 294e77048c1Stholoto others (and thus it always prunes empty directories). 2958506102dStholo 2968506102dStholo One often would like to use `-kv' with `cvs export'. This causes 2978506102dStholoany keywords to be expanded such that an import done at some other site 2988506102dStholowill not lose the keyword revision information. But be aware that 2998506102dStholodoesn't handle an export containing binary files correctly. Also be 3008506102dStholoaware that after having used `-kv', one can no longer use the `ident' 3018506102dStholocommand (which is part of the RCS suite--see ident(1)) which looks for 3028506102dStholokeyword strings. If you want to be able to use `ident' you must not 3038506102dStholouse `-kv'. 3048506102dStholo 3058506102dStholo* Menu: 3068506102dStholo 3078506102dStholo* export options:: export options 3088506102dStholo 3098506102dStholo 3108506102dStholoFile: cvs.info, Node: export options, Up: export 3118506102dStholo 3128506102dStholoexport options 3138506102dStholo-------------- 3148506102dStholo 3158506102dStholo These standard options are supported by `export' (*note Common 316e77048c1Stholooptions::, for a complete description of them): 3178506102dStholo 3188506102dStholo`-D DATE' 3198506102dStholo Use the most recent revision no later than DATE. 3208506102dStholo 3218506102dStholo`-f' 3228506102dStholo If no matching revision is found, retrieve the most recent 3238506102dStholo revision (instead of ignoring the file). 3248506102dStholo 3258506102dStholo`-l' 3268506102dStholo Local; run only in current working directory. 3278506102dStholo 3288506102dStholo`-n' 3298506102dStholo Do not run any checkout program. 3308506102dStholo 3318506102dStholo`-R' 3328506102dStholo Export directories recursively. This is on by default. 3338506102dStholo 3348506102dStholo`-r TAG' 3358506102dStholo Use revision TAG. 3368506102dStholo 3378506102dStholo In addition, these options (that are common to `checkout' and 3388506102dStholo`export') are also supported: 3398506102dStholo 3408506102dStholo`-d DIR' 3418506102dStholo Create a directory called DIR for the working files, instead of 3428506102dStholo using the module name. *Note checkout options::, for complete 3438506102dStholo details on how CVS handles this flag. 3448506102dStholo 3458506102dStholo`-k SUBST' 346e77048c1Stholo Set keyword expansion mode (*note Substitution modes::). 3478506102dStholo 3488506102dStholo`-N' 3498506102dStholo Only useful together with `-d DIR'. *Note checkout options::, for 3508506102dStholo complete details on how CVS handles this flag. 3518506102dStholo 3528506102dStholo 3538506102dStholoFile: cvs.info, Node: history, Next: import, Prev: export, Up: CVS commands 3548506102dStholo 3558506102dStholohistory--Show status of files and users 3568506102dStholo======================================= 3578506102dStholo 3588506102dStholo * Synopsis: history [-report] [-flags] [-options args] [files...] 3598506102dStholo 3608506102dStholo * Requires: the file `$CVSROOT/CVSROOT/history' 3618506102dStholo 3628506102dStholo * Changes: nothing. 3638506102dStholo 3648506102dStholo CVS can keep a history file that tracks each use of the `checkout', 3658506102dStholo`commit', `rtag', `update', and `release' commands. You can use 3668506102dStholo`history' to display this information in various formats. 3678506102dStholo 3688506102dStholo Logging must be enabled by creating the file 3698506102dStholo`$CVSROOT/CVSROOT/history'. 3708506102dStholo 3718506102dStholo *Warning:* `history' uses `-f', `-l', `-n', and `-p' in ways that 372e77048c1Stholoconflict with the normal use inside CVS (*note Common options::). 3738506102dStholo 3748506102dStholo* Menu: 3758506102dStholo 3768506102dStholo* history options:: history options 3778506102dStholo 3788506102dStholo 3798506102dStholoFile: cvs.info, Node: history options, Up: history 3808506102dStholo 3818506102dStholohistory options 3828506102dStholo--------------- 3838506102dStholo 3848506102dStholo Several options (shown above as `-report') control what kind of 3858506102dStholoreport is generated: 3868506102dStholo 3878506102dStholo`-c' 3888506102dStholo Report on each time commit was used (i.e., each time the 3898506102dStholo repository was modified). 3908506102dStholo 3918506102dStholo`-e' 3928506102dStholo Everything (all record types). Equivalent to specifying `-x' with 3938506102dStholo all record types. Of course, `-e' will also include record types 3948506102dStholo which are added in a future version of CVS; if you are writing a 3958506102dStholo script which can only handle certain record types, you'll want to 3968506102dStholo specify `-x'. 3978506102dStholo 3988506102dStholo`-m MODULE' 3998506102dStholo Report on a particular module. (You can meaningfully use `-m' 4008506102dStholo more than once on the command line.) 4018506102dStholo 4028506102dStholo`-o' 403e77048c1Stholo Report on checked-out modules. This is the default report type. 4048506102dStholo 4058506102dStholo`-T' 4068506102dStholo Report on all tags. 4078506102dStholo 4088506102dStholo`-x TYPE' 4098506102dStholo Extract a particular set of record types TYPE from the CVS 4108506102dStholo history. The types are indicated by single letters, which you may 4118506102dStholo specify in combination. 4128506102dStholo 4138506102dStholo Certain commands have a single record type: 4148506102dStholo 4158506102dStholo `F' 4168506102dStholo release 4178506102dStholo 4188506102dStholo `O' 4198506102dStholo checkout 4208506102dStholo 4218506102dStholo `E' 4228506102dStholo export 4238506102dStholo 4248506102dStholo `T' 4258506102dStholo rtag 4268506102dStholo 4278506102dStholo One of four record types may result from an update: 4288506102dStholo 4298506102dStholo `C' 4308506102dStholo A merge was necessary but collisions were detected (requiring 4318506102dStholo manual merging). 4328506102dStholo 4338506102dStholo `G' 4348506102dStholo A merge was necessary and it succeeded. 4358506102dStholo 4368506102dStholo `U' 4378506102dStholo A working file was copied from the repository. 4388506102dStholo 4398506102dStholo `W' 4408506102dStholo The working copy of a file was deleted during update (because 4418506102dStholo it was gone from the repository). 4428506102dStholo 4438506102dStholo One of three record types results from commit: 4448506102dStholo 4458506102dStholo `A' 4468506102dStholo A file was added for the first time. 4478506102dStholo 4488506102dStholo `M' 4498506102dStholo A file was modified. 4508506102dStholo 4518506102dStholo `R' 4528506102dStholo A file was removed. 4538506102dStholo 4548506102dStholo The options shown as `-flags' constrain or expand the report without 4558506102dStholorequiring option arguments: 4568506102dStholo 4578506102dStholo`-a' 4588506102dStholo Show data for all users (the default is to show data only for the 4598506102dStholo user executing `history'). 4608506102dStholo 4618506102dStholo`-l' 4628506102dStholo Show last modification only. 4638506102dStholo 4648506102dStholo`-w' 4658506102dStholo Show only the records for modifications done from the same working 4668506102dStholo directory where `history' is executing. 4678506102dStholo 4688506102dStholo The options shown as `-options ARGS' constrain the report based on 4698506102dStholoan argument: 4708506102dStholo 4718506102dStholo`-b STR' 4728506102dStholo Show data back to a record containing the string STR in either 4738506102dStholo the module name, the file name, or the repository path. 4748506102dStholo 4758506102dStholo`-D DATE' 4768506102dStholo Show data since DATE. This is slightly different from the normal 4778506102dStholo use of `-D DATE', which selects the newest revision older than 4788506102dStholo DATE. 4798506102dStholo 480e77048c1Stholo`-f FILE' 481e77048c1Stholo Show data for a particular file (you can specify several `-f' 482e77048c1Stholo options on the same command line). This is equivalent to 483e77048c1Stholo specifying the file on the command line. 484e77048c1Stholo 485e77048c1Stholo`-n MODULE' 486e77048c1Stholo Show data for a particular module (you can specify several `-n' 487e77048c1Stholo options on the same command line). 488e77048c1Stholo 4898506102dStholo`-p REPOSITORY' 4908506102dStholo Show data for a particular source repository (you can specify 4918506102dStholo several `-p' options on the same command line). 4928506102dStholo 4938506102dStholo`-r REV' 4948506102dStholo Show records referring to revisions since the revision or tag 4958506102dStholo named REV appears in individual RCS files. Each RCS file is 4968506102dStholo searched for the revision or tag. 4978506102dStholo 4988506102dStholo`-t TAG' 4998506102dStholo Show records since tag TAG was last added to the history file. 5008506102dStholo This differs from the `-r' flag above in that it reads only the 5018506102dStholo history file, not the RCS files, and is much faster. 5028506102dStholo 5038506102dStholo`-u NAME' 5048506102dStholo Show records for user NAME. 5058506102dStholo 506e77048c1Stholo`-z TIMEZONE' 507e77048c1Stholo Show times in the selected records using the specified time zone 508e77048c1Stholo instead of UTC. 509e77048c1Stholo 5108506102dStholo 5118506102dStholoFile: cvs.info, Node: import, Next: log, Prev: history, Up: CVS commands 5128506102dStholo 5138506102dStholoimport--Import sources into CVS, using vendor branches 5148506102dStholo====================================================== 5158506102dStholo 5168506102dStholo * Synopsis: import [-options] repository vendortag releasetag... 5178506102dStholo 5188506102dStholo * Requires: Repository, source distribution directory. 5198506102dStholo 5208506102dStholo * Changes: repository. 5218506102dStholo 5228506102dStholo Use `import' to incorporate an entire source distribution from an 5238506102dStholooutside source (e.g., a source vendor) into your source repository 5248506102dStholodirectory. You can use this command both for initial creation of a 5258506102dStholorepository, and for wholesale updates to the module from the outside 5268506102dStholosource. *Note Tracking sources::, for a discussion on this subject. 5278506102dStholo 5288506102dStholo The REPOSITORY argument gives a directory name (or a path to a 5298506102dStholodirectory) under the CVS root directory for repositories; if the 5308506102dStholodirectory did not exist, import creates it. 5318506102dStholo 5328506102dStholo When you use import for updates to source that has been modified in 5338506102dStholoyour source repository (since a prior import), it will notify you of 5348506102dStholoany files that conflict in the two branches of development; use 5358506102dStholo`checkout -j' to reconcile the differences, as import instructs you to 5368506102dStholodo. 5378506102dStholo 538e77048c1Stholo If CVS decides a file should be ignored (*note cvsignore::), it does 539e77048c1Stholonot import it and prints `I ' followed by the filename (*note import 540e77048c1Stholooutput::, for a complete description of the output). 5418506102dStholo 5428506102dStholo If the file `$CVSROOT/CVSROOT/cvswrappers' exists, any file whose 5438506102dStholonames match the specifications in that file will be treated as packages 5448506102dStholoand the appropriate filtering will be performed on the file/directory 5458506102dStholobefore being imported. *Note Wrappers::. 5468506102dStholo 5478506102dStholo The outside source is saved in a first-level branch, by default 5488506102dStholo1.1.1. Updates are leaves of this branch; for example, files from the 5498506102dStholofirst imported collection of source will be revision 1.1.1.1, then 5508506102dStholofiles from the first imported update will be revision 1.1.1.2, and so 5518506102dStholoon. 5528506102dStholo 5538506102dStholo At least three arguments are required. REPOSITORY is needed to 5548506102dStholoidentify the collection of source. VENDORTAG is a tag for the entire 5558506102dStholobranch (e.g., for 1.1.1). You must also specify at least one 5568506102dStholoRELEASETAG to identify the files at the leaves created each time you 5578506102dStholoexecute `import'. 5588506102dStholo 5592f9d2fd9Stholo Note that `import' does _not_ change the directory in which you 5608506102dStholoinvoke it. In particular, it does not set up that directory as a CVS 5618506102dStholoworking directory; if you want to work with the sources import them 5628506102dStholofirst and then check them out into a different directory (*note Getting 563e77048c1Stholothe source::). 5648506102dStholo 5658506102dStholo* Menu: 5668506102dStholo 5678506102dStholo* import options:: import options 5688506102dStholo* import output:: import output 5698506102dStholo* import examples:: import examples 5708506102dStholo 5718506102dStholo 5722f91a5f5StholoFile: cvs.info, Node: import options, Next: import output, Up: import 5732f91a5f5Stholo 5742f91a5f5Stholoimport options 5752f91a5f5Stholo-------------- 5762f91a5f5Stholo 5772f91a5f5Stholo This standard option is supported by `import' (*note Common 578e77048c1Stholooptions::, for a complete description): 5792f91a5f5Stholo 5802f91a5f5Stholo`-m MESSAGE' 5812f91a5f5Stholo Use MESSAGE as log information, instead of invoking an editor. 5822f91a5f5Stholo 5832f91a5f5Stholo There are the following additional special options. 5842f91a5f5Stholo 5852f91a5f5Stholo`-b BRANCH' 5862f91a5f5Stholo See *Note Multiple vendor branches::. 5872f91a5f5Stholo 5882f91a5f5Stholo`-k SUBST' 5892f91a5f5Stholo Indicate the keyword expansion mode desired. This setting will 5902f91a5f5Stholo apply to all files created during the import, but not to any files 5912f91a5f5Stholo that previously existed in the repository. See *Note Substitution 5922f91a5f5Stholo modes::, for a list of valid `-k' settings. 5932f91a5f5Stholo 5942f91a5f5Stholo`-I NAME' 5952f91a5f5Stholo Specify file names that should be ignored during import. You can 5962f91a5f5Stholo use this option repeatedly. To avoid ignoring any files at all 5972f91a5f5Stholo (even those ignored by default), specify `-I !'. 5982f91a5f5Stholo 5992f91a5f5Stholo NAME can be a file name pattern of the same type that you can 6002f91a5f5Stholo specify in the `.cvsignore' file. *Note cvsignore::. 6012f91a5f5Stholo 6022f91a5f5Stholo`-W SPEC' 6032f91a5f5Stholo Specify file names that should be filtered during import. You can 6042f91a5f5Stholo use this option repeatedly. 6052f91a5f5Stholo 6062f91a5f5Stholo SPEC can be a file name pattern of the same type that you can 6072f91a5f5Stholo specify in the `.cvswrappers' file. *Note Wrappers::. 6082f91a5f5Stholo 6092f91a5f5Stholo 6102f91a5f5StholoFile: cvs.info, Node: import output, Next: import examples, Prev: import options, Up: import 6112f91a5f5Stholo 6122f91a5f5Stholoimport output 6132f91a5f5Stholo------------- 6142f91a5f5Stholo 6152f91a5f5Stholo `import' keeps you informed of its progress by printing a line for 6162f91a5f5Stholoeach file, preceded by one character indicating the status of the file: 6172f91a5f5Stholo 6182f91a5f5Stholo`U FILE' 6192f91a5f5Stholo The file already exists in the repository and has not been locally 6202f91a5f5Stholo modified; a new revision has been created (if necessary). 6212f91a5f5Stholo 6222f91a5f5Stholo`N FILE' 6232f91a5f5Stholo The file is a new file which has been added to the repository. 6242f91a5f5Stholo 6252f91a5f5Stholo`C FILE' 6262f91a5f5Stholo The file already exists in the repository but has been locally 6272f91a5f5Stholo modified; you will have to merge the changes. 6282f91a5f5Stholo 6292f91a5f5Stholo`I FILE' 630e77048c1Stholo The file is being ignored (*note cvsignore::). 6312f91a5f5Stholo 6322f91a5f5Stholo`L FILE' 6332f91a5f5Stholo The file is a symbolic link; `cvs import' ignores symbolic links. 6342f91a5f5Stholo People periodically suggest that this behavior should be changed, 6352f91a5f5Stholo but if there is a consensus on what it should be changed to, it 6362f91a5f5Stholo doesn't seem to be apparent. (Various options in the `modules' 6372f91a5f5Stholo file can be used to recreate symbolic links on checkout, update, 638e77048c1Stholo etc.; *note modules::.) 6392f91a5f5Stholo 6402f91a5f5Stholo 6412f91a5f5StholoFile: cvs.info, Node: import examples, Prev: import output, Up: import 6422f91a5f5Stholo 6432f91a5f5Stholoimport examples 6442f91a5f5Stholo--------------- 6452f91a5f5Stholo 6462f91a5f5Stholo See *Note Tracking sources::, and *Note From files::. 6472f91a5f5Stholo 6482f91a5f5Stholo 6492f91a5f5StholoFile: cvs.info, Node: log, Next: rdiff, Prev: import, Up: CVS commands 6502f91a5f5Stholo 6512f91a5f5Sthololog--Print out log information for files 6522f91a5f5Stholo======================================== 6532f91a5f5Stholo 6542f91a5f5Stholo * Synopsis: log [options] [files...] 6552f91a5f5Stholo 6562f91a5f5Stholo * Requires: repository, working directory. 6572f91a5f5Stholo 6582f91a5f5Stholo * Changes: nothing. 6592f91a5f5Stholo 6602f91a5f5Stholo Display log information for files. `log' used to call the RCS 6612f91a5f5Stholoutility `rlog'. Although this is no longer true in the current 6622f91a5f5Stholosources, this history determines the format of the output and the 6632f91a5f5Stholooptions, which are not quite in the style of the other CVS commands. 6642f91a5f5Stholo 6652f91a5f5Stholo The output includes the location of the RCS file, the "head" 6662f91a5f5Stholorevision (the latest revision on the trunk), all symbolic names (tags) 6672f91a5f5Stholoand some other things. For each revision, the revision number, the 6682f91a5f5Stholoauthor, the number of lines added/deleted and the log message are 6692f91a5f5Stholoprinted. All times are displayed in Coordinated Universal Time (UTC). 6702f91a5f5Stholo(Other parts of CVS print times in the local timezone). 6712f91a5f5Stholo 6722f91a5f5Stholo *Warning:* `log' uses `-R' in a way that conflicts with the normal 673e77048c1Stholouse inside CVS (*note Common options::). 6742f91a5f5Stholo 6752f91a5f5Stholo* Menu: 6762f91a5f5Stholo 6772f91a5f5Stholo* log options:: log options 6782f91a5f5Stholo* log examples:: log examples 6792f91a5f5Stholo 6802f91a5f5Stholo 681f79d7d1bStholoFile: cvs.info, Node: log options, Next: log examples, Up: log 682f79d7d1bStholo 683f79d7d1bSthololog options 684f79d7d1bStholo----------- 685f79d7d1bStholo 686f79d7d1bStholo By default, `log' prints all information that is available. All 687f79d7d1bStholoother options restrict the output. 688f79d7d1bStholo 689f79d7d1bStholo`-b' 690f79d7d1bStholo Print information about the revisions on the default branch, 691f79d7d1bStholo normally the highest branch on the trunk. 692f79d7d1bStholo 693f79d7d1bStholo`-d DATES' 694f79d7d1bStholo Print information about revisions with a checkin date/time in the 695f79d7d1bStholo range given by the semicolon-separated list of dates. The date 696f79d7d1bStholo formats accepted are those accepted by the `-D' option to many 697e77048c1Stholo other CVS commands (*note Common options::). Dates can be 698f79d7d1bStholo combined into ranges as follows: 699f79d7d1bStholo 700f79d7d1bStholo `D1<D2' 701f79d7d1bStholo `D2>D1' 702f79d7d1bStholo Select the revisions that were deposited between D1 and D2. 703f79d7d1bStholo 704f79d7d1bStholo `<D' 705f79d7d1bStholo `D>' 706f79d7d1bStholo Select all revisions dated D or earlier. 707f79d7d1bStholo 708f79d7d1bStholo `D<' 709f79d7d1bStholo `>D' 710f79d7d1bStholo Select all revisions dated D or later. 711f79d7d1bStholo 712f79d7d1bStholo `D' 713f79d7d1bStholo Select the single, latest revision dated D or earlier. 714f79d7d1bStholo 715f79d7d1bStholo The `>' or `<' characters may be followed by `=' to indicate an 716f79d7d1bStholo inclusive range rather than an exclusive one. 717f79d7d1bStholo 718f79d7d1bStholo Note that the separator is a semicolon (;). 719f79d7d1bStholo 720f79d7d1bStholo`-h' 721f79d7d1bStholo Print only the name of the RCS file, name of the file in the 722f79d7d1bStholo working directory, head, default branch, access list, locks, 723f79d7d1bStholo symbolic names, and suffix. 724f79d7d1bStholo 725f79d7d1bStholo`-l' 726f79d7d1bStholo Local; run only in current working directory. (Default is to run 727f79d7d1bStholo recursively). 728f79d7d1bStholo 729f79d7d1bStholo`-N' 730f79d7d1bStholo Do not print the list of tags for this file. This option can be 731f79d7d1bStholo very useful when your site uses a lot of tags, so rather than 732f79d7d1bStholo "more"'ing over 3 pages of tag information, the log information is 733f79d7d1bStholo presented without tags at all. 734f79d7d1bStholo 735f79d7d1bStholo`-R' 736f79d7d1bStholo Print only the name of the RCS file. 737f79d7d1bStholo 738f79d7d1bStholo`-rREVISIONS' 739f79d7d1bStholo Print information about revisions given in the comma-separated 740f79d7d1bStholo list REVISIONS of revisions and ranges. The following table 741f79d7d1bStholo explains the available range formats: 742f79d7d1bStholo 743f79d7d1bStholo `REV1:REV2' 744f79d7d1bStholo Revisions REV1 to REV2 (which must be on the same branch). 745f79d7d1bStholo 746*43c1707eStholo `REV1::REV2' 747*43c1707eStholo Revisions between, but not including, REV1 and REV2. 748*43c1707eStholo 749f79d7d1bStholo `:REV' 750f79d7d1bStholo Revisions from the beginning of the branch up to and 751f79d7d1bStholo including REV. 752f79d7d1bStholo 753*43c1707eStholo `::REV' 754*43c1707eStholo Revisions from the beginning of the branch up to, but not 755*43c1707eStholo including, REV. 756*43c1707eStholo 757f79d7d1bStholo `REV:' 758f79d7d1bStholo Revisions starting with REV to the end of the branch 759f79d7d1bStholo containing REV. 760f79d7d1bStholo 761*43c1707eStholo `REV:' 762*43c1707eStholo Revisions starting just after REV to the end of the branch 763*43c1707eStholo containing REV. 764*43c1707eStholo 765f79d7d1bStholo `BRANCH' 766f79d7d1bStholo An argument that is a branch means all revisions on that 767f79d7d1bStholo branch. 768f79d7d1bStholo 769f79d7d1bStholo `BRANCH1:BRANCH2' 770*43c1707eStholo `BRANCH1::BRANCH2' 771f79d7d1bStholo A range of branches means all revisions on the branches in 772f79d7d1bStholo that range. 773f79d7d1bStholo 774f79d7d1bStholo `BRANCH.' 775f79d7d1bStholo The latest revision in BRANCH. 776f79d7d1bStholo 777f79d7d1bStholo A bare `-r' with no revisions means the latest revision on the 778f79d7d1bStholo default branch, normally the trunk. There can be no space between 779f79d7d1bStholo the `-r' option and its argument. 780f79d7d1bStholo 781f79d7d1bStholo`-s STATES' 782f79d7d1bStholo Print information about revisions whose state attributes match one 783f79d7d1bStholo of the states given in the comma-separated list STATES. 784f79d7d1bStholo 785f79d7d1bStholo`-t' 786f79d7d1bStholo Print the same as `-h', plus the descriptive text. 787f79d7d1bStholo 788f79d7d1bStholo`-wLOGINS' 789f79d7d1bStholo Print information about revisions checked in by users with login 790f79d7d1bStholo names appearing in the comma-separated list LOGINS. If LOGINS is 791f79d7d1bStholo omitted, the user's login is assumed. There can be no space 792f79d7d1bStholo between the `-w' option and its argument. 793f79d7d1bStholo 794f79d7d1bStholo `log' prints the intersection of the revisions selected with the 795f79d7d1bStholooptions `-d', `-s', and `-w', intersected with the union of the 796f79d7d1bStholorevisions selected by `-b' and `-r'. 797f79d7d1bStholo 798f79d7d1bStholo 799f79d7d1bStholoFile: cvs.info, Node: log examples, Prev: log options, Up: log 800f79d7d1bStholo 801f79d7d1bSthololog examples 802f79d7d1bStholo------------ 803f79d7d1bStholo 804f79d7d1bStholo Contributed examples are gratefully accepted. 805f79d7d1bStholo 806f79d7d1bStholo 807f79d7d1bStholoFile: cvs.info, Node: rdiff, Next: release, Prev: log, Up: CVS commands 808f79d7d1bStholo 809f79d7d1bStholordiff--'patch' format diffs between releases 810f79d7d1bStholo============================================ 811f79d7d1bStholo 812f79d7d1bStholo * rdiff [-flags] [-V vn] [-r t|-D d [-r t2|-D d2]] modules... 813f79d7d1bStholo 814f79d7d1bStholo * Requires: repository. 815f79d7d1bStholo 816f79d7d1bStholo * Changes: nothing. 817f79d7d1bStholo 818f79d7d1bStholo * Synonym: patch 819f79d7d1bStholo 820f79d7d1bStholo Builds a Larry Wall format patch(1) file between two releases, that 821f79d7d1bStholocan be fed directly into the `patch' program to bring an old release 822f79d7d1bStholoup-to-date with the new release. (This is one of the few CVS commands 823f79d7d1bStholothat operates directly from the repository, and doesn't require a prior 824f79d7d1bStholocheckout.) The diff output is sent to the standard output device. 825f79d7d1bStholo 826f79d7d1bStholo You can specify (using the standard `-r' and `-D' options) any 827f79d7d1bStholocombination of one or two revisions or dates. If only one revision or 828f79d7d1bStholodate is specified, the patch file reflects differences between that 829f79d7d1bStholorevision or date and the current head revisions in the RCS file. 830f79d7d1bStholo 831f79d7d1bStholo Note that if the software release affected is contained in more than 832f79d7d1bStholoone directory, then it may be necessary to specify the `-p' option to 833f79d7d1bStholothe `patch' command when patching the old sources, so that `patch' is 834f79d7d1bStholoable to find the files that are located in other directories. 835f79d7d1bStholo 836f79d7d1bStholo* Menu: 837f79d7d1bStholo 838f79d7d1bStholo* rdiff options:: rdiff options 839f79d7d1bStholo* rdiff examples:: rdiff examples 840f79d7d1bStholo 841f79d7d1bStholo 842f79d7d1bStholoFile: cvs.info, Node: rdiff options, Next: rdiff examples, Up: rdiff 843f79d7d1bStholo 844f79d7d1bStholordiff options 845f79d7d1bStholo------------- 846f79d7d1bStholo 847f79d7d1bStholo These standard options are supported by `rdiff' (*note Common 848e77048c1Stholooptions::, for a complete description of them): 849f79d7d1bStholo 850f79d7d1bStholo`-D DATE' 851f79d7d1bStholo Use the most recent revision no later than DATE. 852f79d7d1bStholo 853f79d7d1bStholo`-f' 854f79d7d1bStholo If no matching revision is found, retrieve the most recent 855f79d7d1bStholo revision (instead of ignoring the file). 856f79d7d1bStholo 857f79d7d1bStholo`-l' 858f79d7d1bStholo Local; don't descend subdirectories. 859f79d7d1bStholo 860f79d7d1bStholo`-R' 861f79d7d1bStholo Examine directories recursively. This option is on by default. 862f79d7d1bStholo 863f79d7d1bStholo`-r TAG' 864f79d7d1bStholo Use revision TAG. 865f79d7d1bStholo 866f79d7d1bStholo In addition to the above, these options are available: 867f79d7d1bStholo 868f79d7d1bStholo`-c' 869f79d7d1bStholo Use the context diff format. This is the default format. 870f79d7d1bStholo 871f79d7d1bStholo`-s' 872f79d7d1bStholo Create a summary change report instead of a patch. The summary 873f79d7d1bStholo includes information about files that were changed or added 874f79d7d1bStholo between the releases. It is sent to the standard output device. 875f79d7d1bStholo This is useful for finding out, for example, which files have 876f79d7d1bStholo changed between two dates or revisions. 877f79d7d1bStholo 878f79d7d1bStholo`-t' 879f79d7d1bStholo A diff of the top two revisions is sent to the standard output 880f79d7d1bStholo device. This is most useful for seeing what the last change to a 881f79d7d1bStholo file was. 882f79d7d1bStholo 883f79d7d1bStholo`-u' 8848506102dStholo Use the unidiff format for the context diffs. Remember that old 8858506102dStholo versions of the `patch' program can't handle the unidiff format, 8868506102dStholo so if you plan to post this patch to the net you should probably 8878506102dStholo not use `-u'. 888f79d7d1bStholo 889f79d7d1bStholo`-V VN' 890f79d7d1bStholo Expand keywords according to the rules current in RCS version VN 8912f91a5f5Stholo (the expansion format changed with RCS version 5). Note that this 8922f91a5f5Stholo option is no longer accepted. CVS will always expand keywords the 8932f91a5f5Stholo way that RCS version 5 does. 894f79d7d1bStholo 895f79d7d1bStholo 896f79d7d1bStholoFile: cvs.info, Node: rdiff examples, Prev: rdiff options, Up: rdiff 897f79d7d1bStholo 898f79d7d1bStholordiff examples 899f79d7d1bStholo-------------- 900f79d7d1bStholo 9018506102dStholo Suppose you receive mail from foo@example.net asking for an update 9028506102dStholofrom release 1.2 to 1.4 of the tc compiler. You have no such patches 9038506102dStholoon hand, but with CVS that can easily be fixed with a command such as 9048506102dStholothis: 905f79d7d1bStholo 906f79d7d1bStholo $ cvs rdiff -c -r FOO1_2 -r FOO1_4 tc | \ 9078506102dStholo $$ Mail -s 'The patches you asked for' foo@example.net 908f79d7d1bStholo 909f79d7d1bStholo Suppose you have made release 1.3, and forked a branch called 910f79d7d1bStholo`R_1_3fix' for bugfixes. `R_1_3_1' corresponds to release 1.3.1, which 911f79d7d1bStholowas made some time ago. Now, you want to see how much development has 912f79d7d1bStholobeen done on the branch. This command can be used: 913f79d7d1bStholo 914f79d7d1bStholo $ cvs patch -s -r R_1_3_1 -r R_1_3fix module-name 915f79d7d1bStholo cvs rdiff: Diffing module-name 916f79d7d1bStholo File ChangeLog,v changed from revision 1.52.2.5 to 1.52.2.6 917f79d7d1bStholo File foo.c,v changed from revision 1.52.2.3 to 1.52.2.4 918f79d7d1bStholo File bar.h,v changed from revision 1.29.2.1 to 1.2 919f79d7d1bStholo 920f79d7d1bStholo 9218506102dStholoFile: cvs.info, Node: release, Next: update, Prev: rdiff, Up: CVS commands 922f79d7d1bStholo 923f79d7d1bStholorelease--Indicate that a Module is no longer in use 924f79d7d1bStholo=================================================== 925f79d7d1bStholo 926f79d7d1bStholo * release [-d] directories... 927f79d7d1bStholo 928f79d7d1bStholo * Requires: Working directory. 929f79d7d1bStholo 930f79d7d1bStholo * Changes: Working directory, history log. 931f79d7d1bStholo 932f79d7d1bStholo This command is meant to safely cancel the effect of `cvs checkout'. 933f79d7d1bStholoSince CVS doesn't lock files, it isn't strictly necessary to use this 934f79d7d1bStholocommand. You can always simply delete your working directory, if you 935f79d7d1bSthololike; but you risk losing changes you may have forgotten, and you leave 936e77048c1Stholono trace in the CVS history file (*note history file::) that you've 937f79d7d1bStholoabandoned your checkout. 938f79d7d1bStholo 939f79d7d1bStholo Use `cvs release' to avoid these problems. This command checks that 940f79d7d1bStholono uncommitted changes are present; that you are executing it from 941f79d7d1bStholoimmediately above a CVS working directory; and that the repository 942f79d7d1bStholorecorded for your files is the same as the repository defined in the 943f79d7d1bStholomodule database. 944f79d7d1bStholo 945f79d7d1bStholo If all these conditions are true, `cvs release' leaves a record of 946f79d7d1bStholoits execution (attesting to your intentionally abandoning your 947f79d7d1bStholocheckout) in the CVS history log. 948f79d7d1bStholo 949f79d7d1bStholo* Menu: 950f79d7d1bStholo 951f79d7d1bStholo* release options:: release options 952f79d7d1bStholo* release output:: release output 953f79d7d1bStholo* release examples:: release examples 954f79d7d1bStholo 955f79d7d1bStholo 956f79d7d1bStholoFile: cvs.info, Node: release options, Next: release output, Up: release 957f79d7d1bStholo 958f79d7d1bStholorelease options 959f79d7d1bStholo--------------- 960f79d7d1bStholo 961f79d7d1bStholo The `release' command supports one command option: 962f79d7d1bStholo 963f79d7d1bStholo`-d' 964f79d7d1bStholo Delete your working copy of the file if the release succeeds. If 965f79d7d1bStholo this flag is not given your files will remain in your working 966f79d7d1bStholo directory. 967f79d7d1bStholo 968f79d7d1bStholo *Warning:* The `release' command deletes all directories and 969f79d7d1bStholo files recursively. This has the very serious side-effect that any 970f79d7d1bStholo directory that you have created inside your checked-out sources, 971f79d7d1bStholo and not added to the repository (using the `add' command; *note 972e77048c1Stholo Adding files::) will be silently deleted--even if it is non-empty! 973f79d7d1bStholo 974f79d7d1bStholo 975f79d7d1bStholoFile: cvs.info, Node: release output, Next: release examples, Prev: release options, Up: release 976f79d7d1bStholo 977f79d7d1bStholorelease output 978f79d7d1bStholo-------------- 979f79d7d1bStholo 980f79d7d1bStholo Before `release' releases your sources it will print a one-line 981f79d7d1bStholomessage for any file that is not up-to-date. 982f79d7d1bStholo 983f79d7d1bStholo *Warning:* Any new directories that you have created, but not added 984f79d7d1bStholoto the CVS directory hierarchy with the `add' command (*note Adding 985e77048c1Stholofiles::) will be silently ignored (and deleted, if `-d' is specified), 986f79d7d1bStholoeven if they contain files. 987f79d7d1bStholo 988f79d7d1bStholo`U FILE' 989f79d7d1bStholo`P FILE' 990f79d7d1bStholo There exists a newer revision of this file in the repository, and 991f79d7d1bStholo you have not modified your local copy of the file (`U' and `P' 992f79d7d1bStholo mean the same thing). 993f79d7d1bStholo 994f79d7d1bStholo`A FILE' 995f79d7d1bStholo The file has been added to your private copy of the sources, but 996f79d7d1bStholo has not yet been committed to the repository. If you delete your 997f79d7d1bStholo copy of the sources this file will be lost. 998f79d7d1bStholo 999f79d7d1bStholo`R FILE' 1000f79d7d1bStholo The file has been removed from your private copy of the sources, 1001f79d7d1bStholo but has not yet been removed from the repository, since you have 1002f79d7d1bStholo not yet committed the removal. *Note commit::. 1003f79d7d1bStholo 1004f79d7d1bStholo`M FILE' 1005f79d7d1bStholo The file is modified in your working directory. There might also 1006f79d7d1bStholo be a newer revision inside the repository. 1007f79d7d1bStholo 1008f79d7d1bStholo`? FILE' 1009f79d7d1bStholo FILE is in your working directory, but does not correspond to 1010f79d7d1bStholo anything in the source repository, and is not in the list of files 1011f79d7d1bStholo for CVS to ignore (see the description of the `-I' option, and 1012e77048c1Stholo *note cvsignore::). If you remove your working sources, this file 1013e77048c1Stholo will be lost. 1014f79d7d1bStholo 1015f79d7d1bStholo 1016f79d7d1bStholoFile: cvs.info, Node: release examples, Prev: release output, Up: release 1017f79d7d1bStholo 1018f79d7d1bStholorelease examples 1019f79d7d1bStholo---------------- 1020f79d7d1bStholo 10218506102dStholo Release the `tc' directory, and delete your local working copy of 10228506102dStholothe files. 1023f79d7d1bStholo 1024f79d7d1bStholo $ cd .. # You must stand immediately above the 1025f79d7d1bStholo # sources when you issue `cvs release'. 1026f79d7d1bStholo $ cvs release -d tc 1027f79d7d1bStholo You have [0] altered files in this repository. 10288506102dStholo Are you sure you want to release (and delete) directory `tc': y 1029f79d7d1bStholo $ 1030f79d7d1bStholo 1031f79d7d1bStholo 10328506102dStholoFile: cvs.info, Node: update, Prev: release, Up: CVS commands 1033f79d7d1bStholo 1034f79d7d1bStholoupdate--Bring work tree in sync with repository 1035f79d7d1bStholo=============================================== 1036f79d7d1bStholo 1037f79d7d1bStholo * update [-AdflPpR] [-d] [-r tag|-D date] files... 1038f79d7d1bStholo 1039f79d7d1bStholo * Requires: repository, working directory. 1040f79d7d1bStholo 1041f79d7d1bStholo * Changes: working directory. 1042f79d7d1bStholo 1043f79d7d1bStholo After you've run checkout to create your private copy of source from 1044f79d7d1bStholothe common repository, other developers will continue changing the 1045f79d7d1bStholocentral source. From time to time, when it is convenient in your 1046f79d7d1bStholodevelopment process, you can use the `update' command from within your 1047f79d7d1bStholoworking directory to reconcile your work with any revisions applied to 1048f79d7d1bStholothe source repository since your last checkout or update. 1049f79d7d1bStholo 1050f79d7d1bStholo* Menu: 1051f79d7d1bStholo 1052f79d7d1bStholo* update options:: update options 1053f79d7d1bStholo* update output:: update output 1054f79d7d1bStholo 1055f79d7d1bStholo 1056565bb110StholoFile: cvs.info, Node: update options, Next: update output, Up: update 1057565bb110Stholo 1058565bb110Stholoupdate options 1059565bb110Stholo-------------- 1060565bb110Stholo 1061565bb110Stholo These standard options are available with `update' (*note Common 1062e77048c1Stholooptions::, for a complete description of them): 1063565bb110Stholo 1064565bb110Stholo`-D date' 1065565bb110Stholo Use the most recent revision no later than DATE. This option is 1066565bb110Stholo sticky, and implies `-P'. See *Note Sticky tags::, for more 1067565bb110Stholo information on sticky tags/dates. 1068565bb110Stholo 1069565bb110Stholo`-f' 1070565bb110Stholo Only useful with the `-D DATE' or `-r TAG' flags. If no matching 1071565bb110Stholo revision is found, retrieve the most recent revision (instead of 1072565bb110Stholo ignoring the file). 1073565bb110Stholo 1074565bb110Stholo`-k KFLAG' 1075f79d7d1bStholo Process keywords according to KFLAG. See *Note Keyword 1076f79d7d1bStholo substitution::. This option is sticky; future updates of this 1077f79d7d1bStholo file in this working directory will use the same KFLAG. The 1078f79d7d1bStholo `status' command can be viewed to see the sticky options. See 1079f79d7d1bStholo *Note Invoking CVS::, for more information on the `status' command. 1080565bb110Stholo 1081565bb110Stholo`-l' 1082565bb110Stholo Local; run only in current working directory. *Note Recursive 1083565bb110Stholo behavior::. 1084565bb110Stholo 1085565bb110Stholo`-P' 1086565bb110Stholo Prune empty directories. See *Note Moving directories::. 1087565bb110Stholo 1088565bb110Stholo`-p' 1089565bb110Stholo Pipe files to the standard output. 1090565bb110Stholo 1091565bb110Stholo`-R' 1092565bb110Stholo Update directories recursively (default). *Note Recursive 1093565bb110Stholo behavior::. 1094565bb110Stholo 1095f79d7d1bStholo`-r rev' 1096f79d7d1bStholo Retrieve revision/tag REV. This option is sticky, and implies 1097f79d7d1bStholo `-P'. See *Note Sticky tags::, for more information on sticky 1098f79d7d1bStholo tags/dates. 1099565bb110Stholo 1100565bb110Stholo These special options are also available with `update'. 1101565bb110Stholo 1102565bb110Stholo`-A' 1103565bb110Stholo Reset any sticky tags, dates, or `-k' options. See *Note Sticky 1104565bb110Stholo tags::, for more information on sticky tags/dates. 1105565bb110Stholo 1106e77048c1Stholo`-C' 1107e77048c1Stholo Overwrite locally modified files with clean copies from the 1108e77048c1Stholo repository (the modified file is saved in `.#FILE.REVISION', 1109e77048c1Stholo however). 1110e77048c1Stholo 1111565bb110Stholo`-d' 1112565bb110Stholo Create any directories that exist in the repository if they're 1113565bb110Stholo missing from the working directory. Normally, `update' acts only 1114565bb110Stholo on directories and files that were already enrolled in your 1115565bb110Stholo working directory. 1116565bb110Stholo 1117565bb110Stholo This is useful for updating directories that were created in the 1118565bb110Stholo repository since the initial checkout; but it has an unfortunate 1119565bb110Stholo side effect. If you deliberately avoided certain directories in 1120565bb110Stholo the repository when you created your working directory (either 1121565bb110Stholo through use of a module name or by listing explicitly the files 1122565bb110Stholo and directories you wanted on the command line), then updating 1123565bb110Stholo with `-d' will create those directories, which may not be what you 1124565bb110Stholo want. 1125565bb110Stholo 1126565bb110Stholo`-I NAME' 1127565bb110Stholo Ignore files whose names match NAME (in your working directory) 1128565bb110Stholo during the update. You can specify `-I' more than once on the 1129565bb110Stholo command line to specify several files to ignore. Use `-I !' to 1130565bb110Stholo avoid ignoring any files at all. *Note cvsignore::, for other 1131565bb110Stholo ways to make CVS ignore some files. 1132565bb110Stholo 1133565bb110Stholo`-WSPEC' 1134565bb110Stholo Specify file names that should be filtered during update. You can 1135565bb110Stholo use this option repeatedly. 1136565bb110Stholo 1137565bb110Stholo SPEC can be a file name pattern of the same type that you can 1138565bb110Stholo specify in the `.cvswrappers' file. *Note Wrappers::. 1139565bb110Stholo 1140565bb110Stholo`-jREVISION' 1141565bb110Stholo With two `-j' options, merge changes from the revision specified 1142565bb110Stholo with the first `-j' option to the revision specified with the 1143565bb110Stholo second `j' option, into the working directory. 1144565bb110Stholo 1145565bb110Stholo With one `-j' option, merge changes from the ancestor revision to 1146565bb110Stholo the revision specified with the `-j' option, into the working 1147565bb110Stholo directory. The ancestor revision is the common ancestor of the 1148565bb110Stholo revision which the working directory is based on, and the revision 1149565bb110Stholo specified in the `-j' option. 1150565bb110Stholo 1151*43c1707eStholo Note that using a single `-j TAGNAME' option rather than `-j 1152*43c1707eStholo BRANCHNAME' to merge changes from a branch will often not remove 1153*43c1707eStholo files which were removed on the branch. *Note Merging adds and 1154*43c1707eStholo removals::, for more. 1155*43c1707eStholo 1156f79d7d1bStholo In addition, each `-j' option can contain an optional date 1157565bb110Stholo specification which, when used with branches, can limit the chosen 1158565bb110Stholo revision to one within a specific date. An optional date is 1159565bb110Stholo specified by adding a colon (:) to the tag: 1160565bb110Stholo `-jSYMBOLIC_TAG:DATE_SPECIFIER'. 1161565bb110Stholo 1162f79d7d1bStholo *Note Branching and merging::. 1163565bb110Stholo 1164565bb110Stholo 1165565bb110StholoFile: cvs.info, Node: update output, Prev: update options, Up: update 1166565bb110Stholo 1167565bb110Stholoupdate output 1168565bb110Stholo------------- 1169565bb110Stholo 1170f79d7d1bStholo `update' and `checkout' keep you informed of their progress by 1171565bb110Stholoprinting a line for each file, preceded by one character indicating the 1172565bb110Stholostatus of the file: 1173565bb110Stholo 1174565bb110Stholo`U FILE' 1175565bb110Stholo The file was brought up to date with respect to the repository. 1176565bb110Stholo This is done for any file that exists in the repository but not in 1177565bb110Stholo your source, and for files that you haven't changed but are not 1178565bb110Stholo the most recent versions available in the repository. 1179565bb110Stholo 1180565bb110Stholo`P FILE' 1181565bb110Stholo Like `U', but the CVS server sends a patch instead of an entire 1182565bb110Stholo file. These two things accomplish the same thing. 1183565bb110Stholo 1184565bb110Stholo`A FILE' 1185565bb110Stholo The file has been added to your private copy of the sources, and 1186565bb110Stholo will be added to the source repository when you run `commit' on 1187565bb110Stholo the file. This is a reminder to you that the file needs to be 1188565bb110Stholo committed. 1189565bb110Stholo 1190565bb110Stholo`R FILE' 1191565bb110Stholo The file has been removed from your private copy of the sources, 1192565bb110Stholo and will be removed from the source repository when you run 1193565bb110Stholo `commit' on the file. This is a reminder to you that the file 1194565bb110Stholo needs to be committed. 1195565bb110Stholo 1196565bb110Stholo`M FILE' 1197565bb110Stholo The file is modified in your working directory. 1198565bb110Stholo 1199565bb110Stholo `M' can indicate one of two states for a file you're working on: 1200565bb110Stholo either there were no modifications to the same file in the 1201565bb110Stholo repository, so that your file remains as you last saw it; or there 1202565bb110Stholo were modifications in the repository as well as in your copy, but 1203565bb110Stholo they were merged successfully, without conflict, in your working 1204565bb110Stholo directory. 1205565bb110Stholo 1206565bb110Stholo CVS will print some messages if it merges your work, and a backup 1207565bb110Stholo copy of your working file (as it looked before you ran `update') 1208565bb110Stholo will be made. The exact name of that file is printed while 1209565bb110Stholo `update' runs. 1210565bb110Stholo 1211565bb110Stholo`C FILE' 1212565bb110Stholo A conflict was detected while trying to merge your changes to FILE 1213565bb110Stholo with changes from the source repository. FILE (the copy in your 1214f79d7d1bStholo working directory) is now the result of attempting to merge the 1215f79d7d1bStholo two revisions; an unmodified copy of your file is also in your 1216565bb110Stholo working directory, with the name `.#FILE.REVISION' where REVISION 1217f79d7d1bStholo is the revision that your modified file started from. Resolve the 1218f79d7d1bStholo conflict as described in *Note Conflicts example::. (Note that 1219565bb110Stholo some systems automatically purge files that begin with `.#' if 1220565bb110Stholo they have not been accessed for a few days. If you intend to keep 1221565bb110Stholo a copy of your original file, it is a very good idea to rename 1222565bb110Stholo it.) Under VMS, the file name starts with `__' rather than `.#'. 1223565bb110Stholo 1224565bb110Stholo`? FILE' 1225565bb110Stholo FILE is in your working directory, but does not correspond to 1226565bb110Stholo anything in the source repository, and is not in the list of files 1227565bb110Stholo for CVS to ignore (see the description of the `-I' option, and 1228e77048c1Stholo *note cvsignore::). 1229565bb110Stholo 1230