1CVSUTILS(1) General Commands Manual CVSUTILS(1)
2
3
4
6 cvsutils - CVS utilities for use in working directories
7
9 cvsu [options]
10 cvsco [ options ]
11 cvsdiscard [ options ]
12 cvspurge [ options ]
13 cvstrim [ options ]
14 cvschroot [ options ]
15 cvsdo [ options ]
16
18 The idea of cvsutils is to facilitate working with the files in the
19 working directory of a developer using CVS (Concurrent Versions Sys‐
20 tem).
21
22 From the point of view of CVS, working directories have low value,
23 since they can easily be recreated using the cvs checkout command.
24 Also the cvs update command will show the status of the files, i.e.
25 whether they have been modified, added or removed.
26
27 CVS in it's current state is a client-server system that does most of
28 its work on the server side. CVS provides only few (if any) means for
29 managing the working directory without communicating with the server.
30
31 There are, however, several reasons why such means are necessary:
32
33 * There is enough information on the client side to create fast
34 tools for sorting and purging the working directory without con‐
35 tacting the CVS server.
36
37 * Checking out a big module over a slow line can take too much
38 time.
39
40 * There should be support for disconnected operations.
41
42 * CVS poses certain unnecessary restrictions on read-only users,
43 e.g. cvs add command doesn't work for them.
44
46 cvsu is "cvs update offline". It lists the files found in the current
47 directory (or in the directories which you specify). Following is taken
48 into account:
49
50 * Attributes of the file.
51
52 * Information about the file in CVS/Entries.
53
54 * Timestamp of the file compared to the timestamp stored in
55 CVS/Entries.
56
57 Run cvsu --help to see supported command line options. The options can
58 be abbreviated. This functionality is provided by Perl, and can vary
59 from one machine to another.
60
62 cvsco is a "cruel checkout". In other words, it removes results of com‐
63 pilation and discards local changes. It deletes all the files except
64 listed unmodified ones and checks out everything which seems to be
65 missing. Please note, that cvsco doesn't update files which haven't
66 been modified locally. It only reloads missing files and files which it
67 erases.
68
70 cvsdiscard is "discard my changes". In other words, it discards local
71 changes but keeps results of compilation. It works like cvsco, but it
72 only deletes files which are likely to cause merge conflicts.
73
75 cvspurge leaves all files known to CVS, but removes the rest. Unlike
76 cvsco, it doesn't remove local changes. It is useful to test local
77 changes in the otherwise clean source tree.
78
80 cvstrim removes files and directories unknown to CVS. Files listed in
81 .cvsignore are not removed. The idea is to remove the files that are
82 not resulted from the normal build process - backups, coredumps etc.
83 cvstrim relies on .cvsignore files being correct. Note that the backups
84 for modified files are removed.
85
87 cvschroot makes it possible to change CVS/Root in all subdirectories to
88 the given value. Currently the only argument accepted is the new CVS‐
89 ROOT value. Old-style CVS/Repository files that contain the full path
90 to the repository are updated to reflect the change. New-style
91 CVS/Repository don't need to be changed. If the environment variable
92 CVSROOT is defined, it overrides the contents of CVS/Root. In other
93 words, it is treated as the old CVS root.
94
96 cvsdo simulates some of the CVS commands (currently add, remove and
97 diff) without any access to the CVS server. Using cvsdo add and cvsdo
98 remove allows you to create diffs with cvs diff -N, and all removed and
99 added files will appear in the diff correctly, as if you had used cvs
100 add and cvs remove respectively.
101
102 cvsdo diff tries to locate the backup copies of the modified files. If
103 they can be found, they are compared with the current version using
104 diff. Only those backup copies are used that have the modification
105 date equal the date listed in CVS/Entries for the modified file. cvsdo
106 diff patches the diff output to make it more robust to apply. An excep‐
107 tion is made for files named "ChangeLog" - in this case diff will be
108 instructed to omit all context lines, so that the patch can be applied
109 even if other changes have been written to the ChangeLog. Also the
110 added files are handled properly. The header of the diff output is
111 patched in such way that at least GNU patch will create a new file when
112 the resulting patch is applied and remove that file when the patch is
113 reverted.
114
116 Please report any bugs you find to Pavel Roskin <proski@gnu.org>.
117
119 cvsutils is covered by the GNU General Public License (GPL).
120
122 cvs(1), cvs2cl(1).
123
125 Pavel Roskin <proski@gnu.org>
126
127 This manual page was written by Uwe Hermann <uwe@debian.org>, for the
128 Debian GNU/Linux system (but may be used by others).
129
130
131
132 February 27, 2002 CVSUTILS(1)