CVS Commands
CVS commands are specified by a string consisting
of colon separated fields. A proper cvs command has the following
format:
command:entries:request:response:arguments
Where:
-
command
-
The cvs command to send to the server, such as 'add',
'ci', or 'update'.
-
entries
-
A string specifying the entries in the project to apply
the command to. This string consists of an initial character which
specifies the type of selection to make, which can possibly be
following by a parameter that is used by the selection.
The possible selectors are as follows:
-
N - No entries.
-
A - All entries in the project.
-
a - All entries selected in the displayed list of entries.
-
M - All entries which have been modified.
-
m - All entries selected in the displayed list which are
modified.
-
L - All entries which have been lost (removed from local
working directory).
-
l - All entries selected in the displayed list which have
been lost.
-
U - All entries which are unchanged.
-
u - All entries selected in the displayed list which are
unchanged.
-
p - The entry that the popup menu was clicked on.
-
G - A new file selected by the user
-
Currently the only parameter that is used is when the
selector is 'G', which is to select a new file provided by the
user via a FileDialog. The parameter specifies a pathname for
which the FileDialog should initialize its display.
-
request
-
A string of option characters specifying the entries in
the project to apply the command to. This string consists of an
initial character which specifies the type of selection to make,
which can possibly be following by a parameter that is used by
the selection.
The possible selectors are as follows:
-
A - Send any specified argument with the request
-
E - Send 'Entry' lines for the selected entries.
-
If this setting is used, each entry will have its 'Entry' line sent
to the server, as well as the entry's 'status ('Lost', 'Unchanged', etc.).
However, in the case of modified files, which request is sent with the
entry is determined by the 'S' and 'U' settings.
-
S - Send 'special' empty 'Modified' requests.
-
When a file
is modified locally, and the server expects a 'Modified' request, but the
contents of the file are unused by the server, then you can use this setting.
The 'Modified' request is sent as usual, however, the size of the file is
sent as 'zero' to avoid sending the entire contents of the file. This should
be used with caution as some commands will not work properly
with empty files.
-
U - Send 'Modified' requests for locally modified files.
-
When a file is modified locally, this setting will cause a 'Modified'
request to be sent to the server. If the 'S' setting is also used, the
file contents uploaded will be zero length. Otherwise, the current
contents of the file are uploaded with the modified request.
-
F - Send the selected entries as the [files...] argument
to the cvs command
-
M - Send the project name as the [module] argument to
the cvs command
-
G - Guarantee the '-m' message option is provided in the
list of arguments.
-
If the option is not provided, a dialog will be displayed
prompting the user to provide one.
-
P - Do not queue the reponse before processing it.
-
When processing cvs requests, jCVS queues all of the responses from the
server before processing them. This is critical for some procedures, such
as checking out a 3000 file repository, since queueing the response would
typically exhaust available memory.
-
R - Redirect the stdout of the reponse.
-
The user will be prompted for a file into which to store the stdout output
of the server reponse.
-
V - Verification Only.
-
Only perform the authentication part of the request and return.
-
O - Trace the processing of the request 'output' phase.
-
I - Trace the processing of the response 'input' phase.
-
T - Trace the TCP data exchanged between jCVS and the cvs server.
-
response
-
A string of option characters specifying the entries in
the project to apply the command to. This string consists of an
initial character which specifies the type of selection to make,
which can possibly be following by a parameter that is used by
the selection.
The possible selectors are as follows:
-
c - Handle the 'Copy-file' response from the server.
-
d - Display the results of the request and the responses
from the server.
-
e - Handle all 'Entry' responses.
-
This includes responses such as 'Checked-in', 'Remove-entry',
as well as 'Updated' and 'Merged', which provide Entry lines with
the response.
-
f - Handle all 'settings' related responses.
-
This includes responses such as 'Set-sticky', and 'Set-sticky-directory'.
-
i - Ignore the status of the cvs server response.
-
Each request returns a result indicating the status of
the command. However, some commands, namely 'diff', return an
error status even when the command completes successfully. When
this setting is used the result is simply ignored and assumed
to indicate success.
-
k - Keep temporary files.
-
Sometimes it is convenient to keep the temporary files that jCVS
creates, say for debugging. If this option is set, jCVS will not
delete the temporary files it uses in processing a request.
-
m - Handle 'Merged' responses from the server.
-
o - Allow overwrites of local files, even when modified!
-
t - Traces the processing of the response processing phase.
-
u - Handle 'Updated responses from the server.
-
arguments
-
A string specifying arguments to be included with the
command. The arguments in this string will be overridden by any
provided by the user that match. These are to be considered default
arguments. To prevent the user from overriding these arguments,
do not provide the 'A' option to the request specification, so
that the user's arguments are not sent.
Examples
- cvs status command on the currently selected files
- status:a:EUAF:d:
- commit the entire project
- co:A:AMP:deou:
UNDONE
$Id: CVSCommandSpec.html,v 2.2 1997/04/21 05:02:27 time Exp $
Copyright (c) 1997 By Timothy Gerard Endres
jCVS is licensed to you under the GNU General Public License.