1 .\" ----------------------------------------------------------------------------
2 .\" "THE BEER-WARE LICENSE" (Revision 42):
3 .\" <joerg@FreeBSD.org> wrote this file. As long as you retain this notice you
4 .\" can do whatever you want with this stuff. If we meet some day, and you think
5 .\" this stuff is worth it, you can buy me a beer in return. Joerg Wunsch
6 .\" ----------------------------------------------------------------------------
8 .\" This manual page is partially obtained from Poul-Hennings CTM README
11 .\" CTM and ctm(1) by <phk@FreeBSD.org>
20 .Nd source code mirror system
24 transfers data in a specific file format, called a CTM delta.
26 CTM deltas consist of control lines and data chunks.
28 line starts with the letters
30 followed by a CTM statement and control data, and ends with a '\en'
33 Data chunks always belong to the preceding control line, and the
34 last field on that control line is the number of bytes in the data
36 A trailing newline '\en' character follows each data chunk, this
37 newline is not part of the chunk and is not included in the count.
39 The CTM statements are as follows.
40 .Bl -tag -width indent
41 .It _BEGIN Ar version name number timestamp prefix
42 This is the overall begin of a CTM delta file.
45 field must match the program version
50 the sequence number of the CTM service, it is matched against the file
52 to see if the delta has already been applied.
54 contains the year, month, day, hour, minute, and second of the
55 time of delta creation for reference
56 (followed by the letter
58 meaning this is a UTC timestamp).
61 field is currently not implemented.
63 This statement ends the CTM delta, the global
65 checksum is matched against the MD5 checksum of the entire delta, up to
66 and including the space (0x20) character following ``_END''.
67 .It \&FM Ar name uid gid mode md5 count
70 the original file had the uid
84 bytes data are the contents of the new file.
85 .It \&FS Ar name uid gid mode md5before md5after count
86 Substitute the contents of file
88 the original file had the new uid
99 and the new MD5 checksum
104 bytes data are the contents of the new file.
106 File substitution is used if the commands to edit a file would exceed
107 the total file length, so substituting it is more efficient.
108 .It \&FN Ar name uid gid mode md5before md5after count
111 The arguments are as above, but the data sections contains an
113 -n script which should be applied to the file in question.
117 which must match the MD5 checksum
119 .It \&AS Ar name uid gid mode
128 .It \&DM Ar name uid gid mode
131 is to be created, it had originally the owner
143 In the following example, long lines have been folded to make them
145 (marked by backslashes).
147 CTM_BEGIN 2.0 cvs-cur 485 19950324214652Z .
148 CTMFR src/sys/gnu/i386/isa/scd.c,v 5225f13aa3c7e458f9dd0d4bb637b18d
149 CTMFR src/sys/gnu/i386/isa/scdreg.h,v e5af42b8a06f2c8030b93a7d71afb223
150 CTMDM src/sys/gnu/i386/isa/Attic 0 552 775
151 CTMFS .ctm_status 545 552 664 d9ccd2a84a9dbb8db56ba85663adebf0 \\
152 e2a10c6f66428981782a0a18a789ee2e 12
155 CTMFN CVSROOT/commitlogs/gnu 545 552 664 \\
156 5d7bc3549140d860bd9641b5782c002d 7fb04ed84b48160c9b8eea84b4c0b6e3 394
158 ache 95/03/24 09:59:50
160 Modified: gnu/lib/libdialog kernel.c prgbox.c
163 CTM_END 74ddd298d76215ae45a077a4b6a74e9c
170 Initial trials ran during the
173 methods were hashed out.
174 The CTM system has been made publicly available in
177 The CTM system has been designed and implemented by
178 .An Poul-Henning Kamp
179 .Aq phk@FreeBSD.org .
182 .Aq joerg@FreeBSD.org