|
|
| |
CTM(5) |
FreeBSD File Formats Manual |
CTM(5) |
ctm —
source code mirror system
The ctm transfers data in a specific file format, called
a CTM delta.
CTM deltas consist of control lines and data chunks. Each control
line starts with the letters “CTM”, followed by a CTM
statement and control data, and ends with a '\n' character.
Data chunks always belong to the preceding control line, and the
last field on that control line is the number of bytes in the data chunk. A
trailing newline '\n' character follows each data chunk, this newline is not
part of the chunk and is not included in the count.
The CTM statements are as follows.
- _BEGIN version name number timestamp prefix
- This is the overall begin of a CTM delta file. The
version field must match the program version
(currently 2.0). Name is the name and
number the sequence number of the CTM service, it is
matched against the file .ctm_status to see if the
delta has already been applied. Timestamp contains
the year, month, day, hour, minute, and second of the time of delta
creation for reference (followed by the letter ‘Z’ meaning
this is a UTC timestamp). The prefix field is
currently not implemented.
- _END md5
- This statement ends the CTM delta, the global md5
checksum is matched against the MD5 checksum of the entire delta, up to
and including the space (0x20) character following ``_END''.
- FM name uid gid mode md5 count
- Make the file name, the original file had the uid
uid (numerical, decimal), the gid
gid (numerical, decimal), mode
mode (numerical, octal), and the MD5 checksum
md5.
The following count bytes data are the
contents of the new file.
- FS name uid gid mode md5before md5after count
- Substitute the contents of file name, the original
file had the new uid uid (numerical, decimal), the
new gid gid (numerical, decimal), new mode
mode (numerical, octal), the old MD5 checksum
md5before, and the new MD5 checksum
md5after.
The following count bytes data are the
contents of the new file.
File substitution is used if the commands to edit a file would
exceed the total file length, so substituting it is more efficient.
- FN name uid gid mode md5before md5after count
- Edit the file name. The arguments are as above, but
the data sections contains an
diff(1)
-n script which should be applied to the file in question.
- FR name md5
- Remove the file name, which must match the MD5
checksum md5.
- AS name uid gid mode
- The original file name changed its owner to
uid, its group to gid, and/or
its mode to mode.
- DM name uid gid mode
- The directory name is to be created, it had
originally the owner uid, group
gid, and mode mode.
- DR name
- The directory name is to be removed.
In the following example, long lines have been folded to make them printable
(marked by backslashes).
CTM_BEGIN 2.0 cvs-cur 485 19950324214652Z .
CTMFR src/sys/gnu/i386/isa/scd.c,v 5225f13aa3c7e458f9dd0d4bb637b18d
CTMFR src/sys/gnu/i386/isa/scdreg.h,v e5af42b8a06f2c8030b93a7d71afb223
CTMDM src/sys/gnu/i386/isa/Attic 0 552 775
CTMFS .ctm_status 545 552 664 d9ccd2a84a9dbb8db56ba85663adebf0 \
e2a10c6f66428981782a0a18a789ee2e 12
cvs-cur 485
CTMFN CVSROOT/commitlogs/gnu 545 552 664 \
5d7bc3549140d860bd9641b5782c002d 7fb04ed84b48160c9b8eea84b4c0b6e3 394
a6936 21
ache 95/03/24 09:59:50
Modified: gnu/lib/libdialog kernel.c prgbox.c
Log:
[...]
CTM_END 74ddd298d76215ae45a077a4b6a74e9c
Initial trials ran during the FreeBSD 1.1.5, and many
bugs and methods were hashed out. The CTM system has been made publicly
available in FreeBSD 2.1.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |