xref: /openbsd-src/gnu/usr.bin/cvs/doc/cvs.info-6 (revision 43c1707e6f6829177cb1974ee6615ce6c1307689)
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