.\" .\" Copyright (c) 2007 Hypertriton, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .Dd SEPTEMBER 4, 2007 .Dt AGARRCSD 8 .Os .ds vT Agar API Reference .ds oS Agar 1.3 .Sh NAME .Nm agarrcsd .Nd agar-rcs server .Sh SYNOPSIS .Nm agarrcsd .Op Fl av .Op Fl b Ar hostname .Op Fl p Ar port .Op Fl d Ar datadir .Sh DESCRIPTION The .Nm daemon implements a very simple, specialized revision control system for Agar objects (see .Xr AG_Object 3 ) . When compiled with network support, Agar-Core provides a built-in client interface to .Nm . .Pp The options are as follows: .Bl -tag -width Ds .It Fl b Bind the server to the given address (hostname or a numerical address). .It Fl p Bind the server to the given port. .It Fl a Start the administrator interface instead of the daemon. .El .Sh SERVER COMMANDS .Pp .Nm implements only a few simple commands: .Bl -tag -width "rcs-commit " .It version Return the server version string. .It rcs-commit Commit a new revision to a given object. If the object does not exist on the repository, it is created. Parameters are as follows: .Pp .Bl -tag -compact -width "object-digest " .It object-path Absolute object pathname in repository. .It object-size Size of dataset in bytes. .It object-name Object name (relative to parent object). .It object-type Object class name. .It object-digest Checksums for object dataset. .It commit-msg Commit message. .El .Pp If the parameters are accepted, the server reponds with a successful status code of 0, and then reads .Fa object-size bytes of data. If the transfer is successful, the server returns a successful status code with a message of the form .Dq New revision: # . .It rcs-info Return revision information for the given object. Parameters are as follows: .Pp .Bl -tag -compact -width "object-path " .It object-path Absolute pathname to the object. .It revision Optional revision number. If this parameter is not specified, information about the latest revision is returned. .El .Pp The server will then return a colon-separated string of the form: .Bd -literal r= a= d= m= t= n= .Ed .It rcs-update Download the dataset of the specified object. Parameters are as follows: .Pp .Bl -tag -compact -width "object-path " .It object-path Absolute pathname to the object. .It object-name Object name relative to parent. .It object-type Object class string. .It revision Revision number to download. .El .Pp If successful, the server will return the dataset in binary format. .It rcs-list Return the list of all repository entries. Individual list entries are of the form: .Bd -literal :::: .Ed .It rcs-log Return a list of all revisions for the given object. Parameters are as follows: .Pp .Bl -tag -compact -width "object-path " .It object-path Absolute path to object in repository. .El .Pp The command will return a list of entries of the form: .Bd -literal ::::: .Ed .El .\" .Sh ENVIRONMENT .\" .Sh FILES .Sh SEE ALSO .Xr AG_Intro 3 , .Xr AG_Object 3 , .Xr NS 3 , .Xr NC 3