1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
$Id: Checkouts,v 1.5 1999/02/01 01:56:25 jdp Exp $
Copyright 1999 John D. Polstra
Format of the "checkouts" Files
The checkouts file is a printable ASCII file. Each record occupies
one line. Each record contains a number of fields separated by
whitespace. The first field specifies the type of the record,
which determines the number of other fields and their interpretations.
The first record specifies the version number of the checkouts file
format. This document describes the current version. The CVSup
client can read any version of the file, but it always writes the
file using the current version.
Each record after the first one represents a file or a directory.
These records are strictly ordered as if a depth-first tree walk
had been performed with each directory being scanned in sorted
order by filename. Each directory is listed twice, on the descent
into the directory and on the ascent back out of it. All filenames
are relative to the "prefix" directory. The filenames correspond
to the files on the server host; i.e., in checkout mode the name
of the RCS file is used, not the name of the client's checked-out
file.
During the virtual tree walk, any files in Attic directories are
listed as if they were in the main directory, and in their proper
sequence relative to the other files in the main directory. That
is, attic residency is treated as an attribute of the file rather
than as the location of the file. Thus, "Attic" directories are
omitted from the filenames. Instead, attic residency is indicated
by the record type.
The types of records are as follows:
F File format version identifier
D Go down into a subdirectory
U Go up out of a subdirectory
V RCS file that is alive (not in Attic)
v RCS file that is dead (in Attic)
C Checked-out file that is alive
c Checked-out file that is dead
In checkout mode, there are no "V" or "v" records; in RCS mode,
there are no "C" or "c" records. Note that files with "c" records
do not actually exist on the client.
Many fields contain so-called "attributes". These are generalized
encodings of various file attributes such as modification time,
mode, owner, group, size, and so forth. The encoding of attributes
is described elsewhere.
The following describes each type of record and the fields it
contains.
F File format version identifier
version An integer corresponding to the format of the
checkouts file, so that the format can be changed in
the future. This document describes version 5.
scanTime An integer containing the time reported by the
server when it began scanning its file tree for the
update that created this checkouts file. It is in
standard Unix time format (seconds since the epoch).
Currently unused.
D Go down into a subdirectory
name The name of the directory.
U Go up out of a subdirectory
name The name of the directory.
attr The directory's attributes on the client.
V RCS file that is alive (not in Attic)
name The name of the RCS file.
attr The file's attributes on the client.
v RCS file that is dead (in Attic)
name The name of the RCS file, with "Attic/" omitted.
attr The file's attributes on the client.
C Checked-out file that is alive
name The name of the RCS file.
tag Tag specified by user, or "."
date Date specified by user, or "."
rcsAttr Attributes of the server's RCS file.
revNum Revision number checked out.
revDate Date recorded in the delta.
fileAttr Attributes of the client's checked-out file.
c Checked-out file that is dead
name The name of the RCS file, with "Attic/" omitted.
tag Tag specified by user, or "."
date Date specified by user, or "."
rcsAttr Attributes of the server's RCS file.
The end.
|