unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 ci(1)								       ci(1)




 NAME
      ci - check in RCS revisions

 SYNOPSIS
      ci [options] file...

 DESCRIPTION
      ci stores new revisions into RCS files.  Each file name ending in ,v
      is treated as an RCS file; all others are assumed to be working files.
      ci deposits the contents of each working file into the corresponding
      RCS file (see rcsintro(5)).

      If the RCS file does not exist, ci creates it and deposits the
      contents of the working file as the initial revision.  The default
      number is "1.1".	The access list is initialized to empty.  Instead of
      the log message, ci requests descriptive text (see the -t option
      below).

      An RCS file created by ci inherits the read and execute permissions
      from the working file.  If the RCS file exists, ci preserves its read
      and execute permissions.	ci always turns off all write permissions of
      RCS files.

      The caller of the command must have read/write permission for the
      directories containing the RCS file and the working file, and read
      permission for the RCS file itself.  A number of temporary files are
      created.	A semaphore file is created in the directory containing the
      RCS file.	 ci always creates a new RCS file and unlinks the old one;
      therefore links to RCS files are useless.

      For ci to work, the user's login must be in the access list unless the
      access list is empty, the user is the owner of the file, or the user
      is super-user.

      Normally, ci checks whether the revision to be deposited is different
      from the preceding one.  If it is not different, ci either aborts the
      deposit (if -q is given) or asks whether to abort (if -q is omitted).
      A deposit can be forced with the -f option.

      If sufficient memory is not available for checking the difference
      between the revision to be deposited and the preceding one, then
      either swap or maxdsiz values can be increased.

      For each revision deposited, ci prompts for a log message.  The log
      message should summarize the change and must be terminated with a line
      containing a single "." or a control-D.  If several files are being
      checked in, ci asks whether or not to reuse the log message from the
      previous file.  If the standard input is not a terminal, ci suppresses
      the prompt and uses the same log message for all files (see -m option
      below.




 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 ci(1)								       ci(1)




      The number of the deposited revision can be given with any of the
      options -r, -f, -k, -l, -u, or -q (see -r option below).

      To add a new revision to an existing branch, the head revision on that
      branch must be locked by the caller.  Otherwise, only a new branch can
      be created.  This restriction is not enforced for the owner of the
      file, unless locking is set to strict (see rcs(1)).  A lock held by
      someone else can be broken with the rcs command (see rcs(1)).

    Options
      -f[rev]	     Forces a deposit.	The new revision is deposited even
		     if it is not different from the preceding one.

      -k[rev]	     Searches the working file for keyword values to
		     determine its revision number, creation date, author,
		     and state (see co(1)), and assigns these values to the
		     deposited revision, rather than computing them locally.
		     A revision number given with a command option overrides
		     the number in the working file.  This option is useful
		     for software distribution.	 A revision that is sent to
		     several sites should be checked in with the -k option
		     at these sites to preserve its original number, date,
		     author, and state.

      -l[rev]	     Works like -r, except it performs an additional co -l
		     for the deposited revision.  Thus, the deposited
		     revision is immediately checked out again and locked.
		     This is useful for saving a revision although one wants
		     to continue editing it after the check-in.

      -m"msg"	     Uses the string msg as the log message for all
		     revisions checked in.

      -n"name"	     Assigns the symbolic name name to the checked-in
		     revision.	ci prints an error message if name is
		     already assigned to another number.

      -N"name"	     Same as -n, except that it overrides a previous
		     assignment of name.

      -q[rev]	     Quiet mode; diagnostic output is not printed.  A
		     revision that is not different from the preceding one
		     is not deposited unless -f is given.

      -r[rev]	     Assigns the revision number rev to the checked-in
		     revision, releases the corresponding lock, and deletes
		     the working file.	This is the default.

		     If rev is omitted, ci derives the new revision number
		     from the caller's last lock.  If the caller has locked
		     the head revision of a branch, the new revision is



 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000






 ci(1)								       ci(1)




		     added to the head of that branch and a new revision
		     number is assigned to the new revision.  The new
		     revision number is obtained by incrementing the head
		     revision number.  If the caller locked a non-head
		     revision, a new branch is started at the locked
		     revision, and the number of the locked revision is
		     incremented.  The default initial branch and level
		     numbers are 1.  If the caller holds no lock, but is the
		     owner of the file and locking is not set to strict, the
		     revision is added to the head of the trunk.

		     If rev indicates a revision number, it must be higher
		     than the latest one on the branch to which rev belongs,
		     or must start a new branch.

		     If rev indicates a branch instead of a revision, the
		     new revision is added to the head of that branch.	The
		     level number is obtained by incrementing the head
		     revision number of that branch.  If rev indicates a
		     non-existing branch, that branch is created with the
		     initial revision numbered rev.1.

		     NOTE: On the trunk, revisions can be added to the head,
		     but not inserted.

      -s"state"	     Sets the state of the checked-in revision to the
		     identifier state.	The default is Exp.

      -t[txtfile]    Writes descriptive text into the RCS file (deletes the
		     existing text).  If txtfile is omitted, ci prompts the
		     user for text from standard input that is terminated
		     with a line containing a single . or Ctrl-D.
		     Otherwise, the descriptive text is copied from the file
		     txtfile.  During initialization, descriptive text is
		     requested even if -t is not given.	 The prompt is
		     suppressed if standard input is not a terminal.

      -u[rev]	     Similar to -l, except that the deposited revision is
		     not locked.  This is useful if one wants to process
		     (e.g., compile) the revision immediately after check
		     in.

    Access Control Lists (ACLs)
      Optional ACL entries should not be added to RCS files, because they
      might be deleted.

 DIAGNOSTICS
      For each revision, ci prints the RCS file, the working file, and the
      number of both the deposited and the preceding revision.	The exit
      status always refers to the last file checked in, and is 0 if the
      operation was successful, 1 if unsuccessful.



 Hewlett-Packard Company	    - 3 -   HP-UX Release 11i: November 2000






 ci(1)								       ci(1)




 EXAMPLES
      If the current directory contains a subdirectory RCS with an RCS file
      io.c,v, all of the following commands deposit the latest revision from
      io.c into RCS/io.c,v:

	   ci io.c
	   ci RCS/io.c,v
	   ci io.c,v
	   ci io.c RCS/io.c,v
	   ci io.c io.c,v
	   ci RCS/io.c,v io.c
	   ci io.c,v io.c

      Check in version 1.2 of RCS file foo.c,v, with the message Bug fix:

	   ci -r1.2 -m"Bug Fix" foo.c,v

 WARNINGS
      The names of RCS files are generated by appending ,v to the end of the
      working file name.  If the resulting RCS file name is too long for the
      file system on which the RCS file should reside, ci terminates with an
      error message.

      The log message cannot exceed 2046 bytes.

      A file with approximately 240 revisions may cause a hash table
      overflow.	 ci cannot add another revision to the file until some of
      the old revisions have been removed.  Use the rcs -o (obsolete)
      command option to remove old revisions.

      RCS is designed to be used with TEXT files only.	Attempting to use
      RCS with non-text (binary) files results in data corruption.

 AUTHOR
      ci was developed by Walter F. Tichy.

 SEE ALSO
      co(1), ident(1), rcs(1), rcsdiff(1), rcsmerge(1), rlog(1), rcsfile(4),
      acl(5), rcsintro(5).















 Hewlett-Packard Company	    - 4 -   HP-UX Release 11i: November 2000