xref: /openbsd/usr.bin/cvs/cvs.5 (revision a7bff744)
1*a7bff744Sjmc.\"	$OpenBSD: cvs.5,v 1.1 2007/04/14 13:34:44 jmc Exp $
2*a7bff744Sjmc.\"
3*a7bff744Sjmc.\" Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
4*a7bff744Sjmc.\" Copyright (c) 2004-2007 Xavier Santolaria <xsa@openbsd.org>
5*a7bff744Sjmc.\" All rights reserved.
6*a7bff744Sjmc.\"
7*a7bff744Sjmc.\" Redistribution and use in source and binary forms, with or without
8*a7bff744Sjmc.\" modification, are permitted provided that the following conditions
9*a7bff744Sjmc.\" are met:
10*a7bff744Sjmc.\"
11*a7bff744Sjmc.\" 1. Redistributions of source code must retain the above copyright
12*a7bff744Sjmc.\"    notice, this list of conditions and the following disclaimer.
13*a7bff744Sjmc.\" 2. The name of the author may not be used to endorse or promote products
14*a7bff744Sjmc.\"    derived from this software without specific prior written permission.
15*a7bff744Sjmc.\"
16*a7bff744Sjmc.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
17*a7bff744Sjmc.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
18*a7bff744Sjmc.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
19*a7bff744Sjmc.\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20*a7bff744Sjmc.\" EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21*a7bff744Sjmc.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22*a7bff744Sjmc.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23*a7bff744Sjmc.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24*a7bff744Sjmc.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25*a7bff744Sjmc.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*a7bff744Sjmc.\"
27*a7bff744Sjmc.Dd April 13, 2007
28*a7bff744Sjmc.Dt CVS 5
29*a7bff744Sjmc.Os
30*a7bff744Sjmc.Sh NAME
31*a7bff744Sjmc.Nm cvs
32*a7bff744Sjmc.Nd OpenCVS files format
33*a7bff744Sjmc.Sh DESCRIPTION
34*a7bff744SjmcThis manual page documents the various support files for
35*a7bff744Sjmc.Xr cvs 1
36*a7bff744Sjmcand the format of those files.
37*a7bff744Sjmc.Pp
38*a7bff744SjmcThe location of a module's files are known as its
39*a7bff744Sjmc.Dv CVSROOT .
40*a7bff744SjmcThe files within CVSROOT are as follows:
41*a7bff744Sjmc.Bl -tag -width Ds
42*a7bff744Sjmc.It Pa $CVSROOT/CVSROOT
43*a7bff744SjmcDirectory containing repository administrative files.
44*a7bff744Sjmc.It Pa $CVSROOT/CVSROOT/config
45*a7bff744SjmcFile containing various configuration options.
46*a7bff744SjmcThe format of each line is as follows:
47*a7bff744Sjmc.Pp
48*a7bff744Sjmc.Dl keyword=value
49*a7bff744Sjmc.Pp
50*a7bff744SjmcExtraneous spaces or tabs are not permitted.
51*a7bff744SjmcA line beginning with a hash character
52*a7bff744Sjmc.Pq Sq #
53*a7bff744Sjmcis considered a comment and ignored.
54*a7bff744Sjmc.Pp
55*a7bff744SjmcThe following options are available:
56*a7bff744Sjmc.Pp
57*a7bff744Sjmc.Bl -tag -width "dlimit=XvalueXXX" -offset indent -compact
58*a7bff744Sjmc.It dlimit='value'
59*a7bff744SjmcSet the process data size limit.
60*a7bff744Sjmc.It tag='value'
61*a7bff744SjmcSet the name of a local tag to use in addition to Id.
62*a7bff744Sjmc.It umask='value'
63*a7bff744SjmcSet the default umask to use when creating files and directories.
64*a7bff744Sjmc.El
65*a7bff744Sjmc.It Pa $CVSROOT/CVSROOT/history
66*a7bff744SjmcFile containing reports of
67*a7bff744Sjmc.Ic checkout ,
68*a7bff744Sjmc.Ic commit ,
69*a7bff744Sjmc.Ic export ,
70*a7bff744Sjmc.Ic release ,
71*a7bff744Sjmc.Ic rtag ,
72*a7bff744Sjmcand
73*a7bff744Sjmc.Ic update
74*a7bff744Sjmccommands that have been issued.
75*a7bff744SjmcBy default, the
76*a7bff744Sjmc.Ic init
77*a7bff744Sjmccommand creates the
78*a7bff744Sjmc.Pa history
79*a7bff744Sjmcfile.
80*a7bff744SjmcTo disable history logging, the
81*a7bff744Sjmc.Pa history
82*a7bff744Sjmcfile should be removed manually.
83*a7bff744SjmcThe
84*a7bff744Sjmc.Ic history
85*a7bff744Sjmccommand shows these reports according to several criteria.
86*a7bff744Sjmc.It Pa $CVSROOT/CVSROOT/loginfo
87*a7bff744SjmcFile containing associations between modules and handlers for
88*a7bff744Sjmcpost-commit logging.
89*a7bff744Sjmc.El
90*a7bff744Sjmc.Pp
91*a7bff744SjmcEach directory that is managed by
92*a7bff744Sjmc.Nm
93*a7bff744Sjmccontains a
94*a7bff744Sjmc.Pa CVS
95*a7bff744Sjmcdirectory.
96*a7bff744SjmcThis directory is used by various
97*a7bff744Sjmc.Nm
98*a7bff744Sjmccommands to record the status of files in the current working directory.
99*a7bff744SjmcThese files should not be modified manually by the user but by the
100*a7bff744Sjmc.Nm
101*a7bff744Sjmccommands instead.
102*a7bff744SjmcFiles that are always stored in every
103*a7bff744Sjmc.Pa CVS
104*a7bff744Sjmcdirectory are as follows:
105*a7bff744Sjmc.Bl -tag -width Ds
106*a7bff744Sjmc.It Pa CVS/Entries
107*a7bff744SjmcFile containing a list of files managed by
108*a7bff744Sjmc.Nm .
109*a7bff744Sjmc.Pa Entries
110*a7bff744Sjmchas one line per file or directory describing the state of it with
111*a7bff744Sjmcregard to the source repository.
112*a7bff744SjmcThese lines have the following format:
113*a7bff744Sjmc.Pp
114*a7bff744Sjmc.Dl /name/revision/timestamp/options/tag
115*a7bff744Sjmc.Bl -tag -width Ds
116*a7bff744Sjmc.It name
117*a7bff744SjmcName of the file in the directory.
118*a7bff744Sjmc.It revision
119*a7bff744SjmcRevision of the file in the working directory.
120*a7bff744SjmcThe revision is equal to
121*a7bff744Sjmc.Sq 0
122*a7bff744Sjmcif the file has been added with the
123*a7bff744Sjmc.Ic add
124*a7bff744Sjmccommand or preceded by the
125*a7bff744Sjmc.Sq -
126*a7bff744Sjmccharacter if the file has been removed with the
127*a7bff744Sjmc.Ic remove
128*a7bff744Sjmccommand.
129*a7bff744Sjmc.It timestamp
130*a7bff744SjmcContains the timestamp of the file at the time
131*a7bff744Sjmc.Nm
132*a7bff744Sjmccreated it.
133*a7bff744SjmcIf the timestamp is different from the actual modification time of the file,
134*a7bff744Sjmcit means that the file has been modified.
135*a7bff744Sjmc.It options
136*a7bff744SjmcContains the keyword substitution mode used for this file.
137*a7bff744Sjmc.It tag
138*a7bff744SjmcContains
139*a7bff744Sjmc.Sq T
140*a7bff744Sjmcfollowed by a tagname or
141*a7bff744Sjmc.Sq D
142*a7bff744Sjmcfollowed by a date.
143*a7bff744Sjmc.El
144*a7bff744Sjmc.Pp
145*a7bff744SjmcEntries corresponding to directories have the following format:
146*a7bff744Sjmc.Pp
147*a7bff744Sjmc.Dl D/name////
148*a7bff744Sjmc.Pp
149*a7bff744SjmcThe lines in the
150*a7bff744Sjmc.Pa Entries
151*a7bff744Sjmcfile can be in any order.
152*a7bff744Sjmc.It Pa CVS/Repository
153*a7bff744SjmcFile containing the path to the corresponding directory in the
154*a7bff744Sjmcsource repository.
155*a7bff744Sjmc.It Pa CVS/Root
156*a7bff744SjmcFile containing the value of the
157*a7bff744Sjmc.Ev CVSROOT
158*a7bff744Sjmcvariable at the time of checkout.
159*a7bff744SjmcThis file is used by all
160*a7bff744Sjmc.Nm
161*a7bff744Sjmccommands instead of
162*a7bff744Sjmc.Ev CVSROOT
163*a7bff744Sjmconce
164*a7bff744Sjmc.Nm
165*a7bff744Sjmchas checked for its existence.
166*a7bff744Sjmc.El
167*a7bff744Sjmc.Pp
168*a7bff744SjmcDepending on the circumstances, other files may exist in the
169*a7bff744Sjmc.Pa CVS
170*a7bff744Sjmcdirectory:
171*a7bff744Sjmc.Bl -tag -width Ds
172*a7bff744Sjmc.It Pa CVS/Base
173*a7bff744SjmcIf pseudo-lock mode is enabled in client-server mode,
174*a7bff744Sjmcthe
175*a7bff744Sjmc.Pa Base
176*a7bff744Sjmcdirectory contains a copy of the file on which the
177*a7bff744Sjmc.Ic edit
178*a7bff744Sjmccommand has been issued.
179*a7bff744SjmcThis allows the
180*a7bff744Sjmc.Ic unedit
181*a7bff744Sjmccommand to operate even if the CVS server is unreachable.
182*a7bff744Sjmc.It Pa CVS/Baserev
183*a7bff744SjmcFile listing the revisions for each file contained in the
184*a7bff744Sjmc.Pa Base
185*a7bff744Sjmcdirectory under the following format:
186*a7bff744Sjmc.Pp
187*a7bff744Sjmc.Dl name/revision/
188*a7bff744Sjmc.It Pa CVS/Baserev.tmp
189*a7bff744SjmcTemporary file used to write
190*a7bff744Sjmc.Pa CVS/Baserev
191*a7bff744Sjmccontent then atomically renamed to
192*a7bff744Sjmc.Pa Baserev .
193*a7bff744Sjmc.It Pa CVS/Checkin.prog
194*a7bff744SjmcFile containing the path to the command specified with the
195*a7bff744Sjmc.Fl i
196*a7bff744Sjmcoption in the
197*a7bff744Sjmc.Pa CVSROOT/modules
198*a7bff744Sjmcfile.
199*a7bff744Sjmc.It Pa CVS/Entries.Backup
200*a7bff744SjmcTemporary file used to write
201*a7bff744Sjmc.Pa CVS/Entries
202*a7bff744Sjmccontent then atomically renamed to
203*a7bff744Sjmc.Pa Entries .
204*a7bff744Sjmc.It Pa CVS/Entries.Static
205*a7bff744SjmcTells
206*a7bff744Sjmc.Nm
207*a7bff744Sjmcto not add files to the directory unless the
208*a7bff744Sjmc.Ic update
209*a7bff744Sjmccommand is issued with the
210*a7bff744Sjmc.Fl d
211*a7bff744Sjmcoption.
212*a7bff744Sjmc.It Pa CVS/Notify
213*a7bff744SjmcFile containing the notifications that could not be sent to the
214*a7bff744SjmcCVS server but will be sent at the next successful connection.
215*a7bff744Sjmc.It Pa CVS/Notify.tmp
216*a7bff744SjmcTemporary file used to write
217*a7bff744Sjmc.Pa CVS/Notify
218*a7bff744Sjmccontent then atomically renamed to
219*a7bff744Sjmc.Pa Notify .
220*a7bff744Sjmc.It Pa CVS/Tag
221*a7bff744SjmcFile containing the symbolic revision that was used at checkout.
222*a7bff744SjmcThe first character of the line is a single letter indicating the
223*a7bff744Sjmctype of tag:
224*a7bff744Sjmc.Sq D ,
225*a7bff744Sjmc.Sq N ,
226*a7bff744Sjmcor
227*a7bff744Sjmc.Sq T ,
228*a7bff744Sjmcfor date, non-branch tag, or branch tag, respectively.
229*a7bff744SjmcThe rest of the line is the tag or date itself.
230*a7bff744SjmcThe
231*a7bff744Sjmc.Pa Tag
232*a7bff744Sjmcfile should not be removed manually:
233*a7bff744Sjmcinstead, use
234*a7bff744Sjmc.Dq update -A .
235*a7bff744Sjmc.It Pa CVS/Template
236*a7bff744SjmcFile containing the template specified by the
237*a7bff744Sjmc.Pa CVSROOT/rcsinfo
238*a7bff744Sjmcfile.
239*a7bff744SjmcIt is only used in client-server mode.
240*a7bff744SjmcLocally,
241*a7bff744Sjmc.Nm
242*a7bff744Sjmcuses the
243*a7bff744Sjmc.Pa rcsinfo
244*a7bff744Sjmcfile directly.
245*a7bff744Sjmc.It Pa CVS/Update.prog
246*a7bff744SjmcFile containing the path to the command specified with the
247*a7bff744Sjmc.Fl u
248*a7bff744Sjmcoption in the
249*a7bff744Sjmc.Pa CVSROOT/modules
250*a7bff744Sjmcfile.
251*a7bff744Sjmc.It Pa CVS/<name>,t
252*a7bff744SjmcFile containing the description of the file
253*a7bff744Sjmc.Pa file
254*a7bff744Sjmcthat has been added with the
255*a7bff744Sjmc.Ic add
256*a7bff744Sjmccommand.
257*a7bff744SjmcThis description is used by
258*a7bff744Sjmc.Nm
259*a7bff744Sjmcwhen archiving this file with the
260*a7bff744Sjmc.Ic commit
261*a7bff744Sjmccommand.
262*a7bff744Sjmc.It Pa $HOME/.cvsignore
263*a7bff744SjmcThis file provides a list of files (or
264*a7bff744Sjmc.Xr sh 1
265*a7bff744Sjmcfile name patterns) that should be ignored by
266*a7bff744Sjmc.Xr cvs 1
267*a7bff744Sjmcduring the
268*a7bff744Sjmc.Ic import ,
269*a7bff744Sjmc.Ic release ,
270*a7bff744Sjmcand
271*a7bff744Sjmc.Ic update
272*a7bff744Sjmccommands.
273*a7bff744Sjmc.Pp
274*a7bff744SjmcThe syntax of the
275*a7bff744Sjmc.Nm
276*a7bff744Sjmcfile consists of a series of lines, each of which contains a
277*a7bff744Sjmcspace-separated list of filenames.
278*a7bff744SjmcThere is currently no way of using comments in this file.
279*a7bff744Sjmc.Pp
280*a7bff744SjmcDefault patterns that are ignored by
281*a7bff744Sjmc.Xr cvs 1
282*a7bff744Sjmcare as follows:
283*a7bff744Sjmc.Bd -filled
284*a7bff744SjmcCVS,
285*a7bff744SjmcRCS,
286*a7bff744SjmcRCSLOG,
287*a7bff744SjmcSCCS,
288*a7bff744SjmcTAGS,
289*a7bff744Sjmctags,
290*a7bff744Sjmccore,
291*a7bff744Sjmccvslog*,
292*a7bff744Sjmc*.o,
293*a7bff744Sjmc*.so,
294*a7bff744Sjmc*.a,
295*a7bff744Sjmc*.bak,
296*a7bff744Sjmc*.orig,
297*a7bff744Sjmc*.rej,
298*a7bff744Sjmc*.old,
299*a7bff744Sjmc*.exe,
300*a7bff744Sjmc*.depend,
301*a7bff744Sjmc*.obj,
302*a7bff744Sjmc*.elc,
303*a7bff744Sjmc*.ln,
304*a7bff744Sjmc*.olb,
305*a7bff744Sjmc*.core,
306*a7bff744Sjmc.#*,
307*a7bff744Sjmc*~,
308*a7bff744Sjmc_$*,
309*a7bff744Sjmc*$,
310*a7bff744Sjmc#*,
311*a7bff744Sjmc,*.
312*a7bff744Sjmc.Ed
313*a7bff744Sjmc.Pp
314*a7bff744SjmcThe list can be modified using the methods described below:
315*a7bff744Sjmc.Pp
316*a7bff744Sjmc.Bl -enum -compact
317*a7bff744Sjmc.It
318*a7bff744SjmcThe
319*a7bff744Sjmc.Pa $CVSROOT/CVSROOT/cvsignore
320*a7bff744Sjmcfile appends patterns to ignore for the whole repository.
321*a7bff744Sjmc.It
322*a7bff744SjmcThe
323*a7bff744Sjmc.Pa $HOME/.cvsignore
324*a7bff744Sjmcfile appends patterns to ignore for user only.
325*a7bff744Sjmc.It
326*a7bff744SjmcThe content of the
327*a7bff744Sjmc.Ev CVSIGNORE
328*a7bff744Sjmcvariable is appended to the list.
329*a7bff744Sjmc.It
330*a7bff744SjmcOptions to the command line
331*a7bff744Sjmc.Fl I
332*a7bff744Sjmcflag, available for the
333*a7bff744Sjmc.Ic import
334*a7bff744Sjmcand
335*a7bff744Sjmc.Ic update
336*a7bff744Sjmccommands, appends patterns for the current command line action only.
337*a7bff744Sjmc.It
338*a7bff744Sjmc.Pa .cvsignore
339*a7bff744Sjmcfiles placed in the repository directories allow to add patterns to
340*a7bff744Sjmcignore locally.
341*a7bff744SjmcThey do not take effect on sub-directories.
342*a7bff744Sjmc.El
343*a7bff744Sjmc.Pp
344*a7bff744SjmcThe
345*a7bff744Sjmc.Sq !\&
346*a7bff744Sjmccharacter can be used to reset the list of patterns using any of these
347*a7bff744Sjmcfive methods.
348*a7bff744Sjmc.Pp
349*a7bff744SjmcFor the
350*a7bff744Sjmc.Ic update
351*a7bff744Sjmccommand,
352*a7bff744Sjmc.Xr cvs 1
353*a7bff744Sjmchandles files that are already present in the repository even if they
354*a7bff744Sjmcare in the list to ignore.
355*a7bff744SjmcFiles that are in the list to ignore but not in the repository will not
356*a7bff744Sjmcbe listed.
357*a7bff744SjmcThis way, files preceded by the
358*a7bff744Sjmc.Sq ?\&
359*a7bff744Sjmccharacter will not appear even if they should.
360*a7bff744Sjmc.It Pa $HOME/.cvsrc
361*a7bff744SjmcThis file provides a way to give the
362*a7bff744Sjmc.Xr cvs 1
363*a7bff744Sjmcprogram implicit global options and command-specific options.
364*a7bff744SjmcUnless the
365*a7bff744Sjmc.Fl f
366*a7bff744Sjmcoption is specified,
367*a7bff744Sjmc.Xr cvs 1
368*a7bff744Sjmcreads its startup configuration file
369*a7bff744Sjmc.Pa .cvsrc
370*a7bff744Sjmcfrom the home directory of the user who invoked it.
371*a7bff744Sjmc.Pp
372*a7bff744SjmcThe format of each line is as follows:
373*a7bff744Sjmc.Pp
374*a7bff744Sjmc.Dl command [arg ...]
375*a7bff744Sjmc.Pp
376*a7bff744Sjmcwhere
377*a7bff744Sjmc.Ar command
378*a7bff744Sjmcis either the
379*a7bff744Sjmc.Sq cvs
380*a7bff744Sjmckeyword to specify global options, one of the supported
381*a7bff744Sjmc.Xr cvs 1
382*a7bff744Sjmccommands or a command alias.
383*a7bff744SjmcArguments following
384*a7bff744Sjmc.Ar command
385*a7bff744Sjmcwill be added implicitly to the appropriate command's argument vector if it is
386*a7bff744Sjmcrun.
387*a7bff744SjmcLines whose
388*a7bff744Sjmc.Ar command
389*a7bff744Sjmcargument is not a valid command will generate a warning when running without
390*a7bff744Sjmcthe
391*a7bff744Sjmc.Fl q
392*a7bff744Sjmcor
393*a7bff744Sjmc.Fl Q
394*a7bff744Sjmcflags.
395*a7bff744Sjmc.Pp
396*a7bff744SjmcEmpty lines and lines specifying no optional arguments are ignored.
397*a7bff744SjmcA line beginning with a hash character
398*a7bff744Sjmc.Pq Sq #
399*a7bff744Sjmcis considered a comment and ignored.
400*a7bff744Sjmc.Pp
401*a7bff744SjmcFor example, to specify that
402*a7bff744Sjmc.Xr cvs 1
403*a7bff744Sjmcshould always run in quiet mode and the
404*a7bff744Sjmc.Ic diff
405*a7bff744Sjmcinternal command should always produce unified output:
406*a7bff744Sjmc.Bd -literal -offset indent
407*a7bff744Sjmccvs -q
408*a7bff744Sjmcdiff -u
409*a7bff744Sjmc.Ed
410*a7bff744Sjmc.It Pa $HOME/.cvswrappers
411*a7bff744SjmcThis file, located in
412*a7bff744Sjmc.Pa $CVSROOT/CVSROOT
413*a7bff744Sjmcand/or
414*a7bff744Sjmc.Pa $HOME/.cvswrappers ,
415*a7bff744Sjmcprovides a way to configure filters for
416*a7bff744Sjmc.Xr cvs 1
417*a7bff744Sjmcbased on file type (name).
418*a7bff744SjmcThis works by specifying a pattern to match for varying file types.
419*a7bff744Sjmc.Pp
420*a7bff744SjmcThe format of each line is as follows:
421*a7bff744Sjmc.Pp
422*a7bff744Sjmc.Dl pattern [option 'value'] [option 'value'] ...
423*a7bff744Sjmc.Pp
424*a7bff744SjmcThe following options are supported:
425*a7bff744Sjmc.Bl -tag -width Ds
426*a7bff744Sjmc.It Fl f Ar filter
427*a7bff744SjmcExecute
428*a7bff744Sjmc.Ar filter
429*a7bff744Sjmcwhen the file is extracted from the repository (for the
430*a7bff744Sjmc.Ic checkout ,
431*a7bff744Sjmc.Ic export ,
432*a7bff744Sjmcand
433*a7bff744Sjmc.Ic update
434*a7bff744Sjmccommands).
435*a7bff744Sjmc.It Fl k Ar mode
436*a7bff744SjmcSpecify the keyword substitution mode.
437*a7bff744SjmcSee the
438*a7bff744Sjmc.Sx KEYWORD SUBSTITUTION
439*a7bff744Sjmcsection of
440*a7bff744Sjmc.Xr rcs 1
441*a7bff744Sjmcfor more information.
442*a7bff744Sjmc.It Fl m Ar method
443*a7bff744SjmcSpecify the merge methodology to be used when a file is updated.
444*a7bff744Sjmc.Pp
445*a7bff744SjmcThe methods are as follows:
446*a7bff744Sjmc.Bl -tag -width Ds
447*a7bff744Sjmc.It COPY
448*a7bff744SjmcWhen the
449*a7bff744Sjmc.Ic update
450*a7bff744Sjmccommand is used,
451*a7bff744Sjmc.Xr cvs 1
452*a7bff744Sjmcwill merely copy one version over another and let the user do the merge
453*a7bff744Sjmcby himself.
454*a7bff744SjmcThis method is used by default on binary files (see the
455*a7bff744Sjmc.Fl k Ar b
456*a7bff744Sjmcoption).
457*a7bff744Sjmc.It MERGE
458*a7bff744SjmcTry to merge the files.
459*a7bff744SjmcThis method is the default.
460*a7bff744Sjmc.El
461*a7bff744Sjmc.It Fl t Ar filter
462*a7bff744SjmcExecute
463*a7bff744Sjmc.Ar filter
464*a7bff744Sjmcbefore the file is archived in the repository (for the
465*a7bff744Sjmc.Ic commit ,
466*a7bff744Sjmcand
467*a7bff744Sjmc.Ic import
468*a7bff744Sjmccommands).
469*a7bff744Sjmc.El
470*a7bff744Sjmc.It Pa $TMPDIR/cvs-serv Ns Aq Pa pid
471*a7bff744SjmcTemporary directory created by the server where
472*a7bff744Sjmc.Ar pid
473*a7bff744Sjmcis the process ID of the server.
474*a7bff744SjmcIt is located in the directory specified by the
475*a7bff744Sjmc.Ev TMPDIR
476*a7bff744Sjmcenvironment variable or the
477*a7bff744Sjmc.Fl T
478*a7bff744Sjmcglobal option.
479*a7bff744SjmcSee above for more information.
480*a7bff744Sjmc.El
481*a7bff744Sjmc.Sh SEE ALSO
482*a7bff744Sjmc.Xr cvs 1 ,
483*a7bff744Sjmc.Xr cvsintro 7
484