Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
sccs-delta(1)			  User Commands 		   sccs-delta(1)

NAME
     sccs-delta, delta - make a delta to an SCCS file

SYNOPSIS
     /usr/ccs/bin/delta [-dfhknopsz] [-g sid-list | -gsid-list]
	 [-m mr-list | -mmr-list] [-q[nsedelim]] [-r sid | -rsid]
	 [-y [comment]] [-D diff-file]
	 [-Xextended-options] [-Nbulk-spec] s.filename...

DESCRIPTION
     The  delta  utility checks in a record of the line-by-line differences made
     to a checked-out version of a file under SCCS control.  These  changes  are
     taken  from the writable working copy that was retrieved using the SCCS get
     command (see sccs-get(1)).  This working copy does not have the `s.'   pre-
     fix, and is also referred to as a g-file.

     If  a directory name is used in place of the s.filename argument, the delta
     command applies to all s.files in that directory. Unreadable  s.files  pro-
     duce an error; processing continues with the next file (if any). The use of
     `-'  as the s.filename argument indicates that the names of files are to be
     read from the standard input, one s.file per line (requires -y, and in some
     cases, -m).

     delta may issue prompts on the standard output depending upon  the  options
     specified	and the flags that are set in the s.file (see sccs-admin(1), and
     the -m and -y options below, for details).

OPTIONS
     The following options are supported:

     -b 	  Use command bdiff(1) instead of fsdiff(1).   This  version  of
		  delta(1)  by	default  uses  fsdiff(1) that is faster than bd-
		  iff(1) and does not slow down as much with larger file size.

     -d 	  Use command diff(1) instead of bdiff(1).  Returns exit  status
		  2 instead of 1 if the s.filename argument is not specified.

     -f 	  In  NSE  mode,  this option allows one to enforce a delta even
		  when no p.file exists.  The new SID is assigned using the same
		  rules as with get -e.

		  This option is usually used together with the -q  and  -n  op-
		  tions.

		  This option is an undocumented SUN extension that does not ex-
		  ist in historic sccs implementations.

     -h 	  In  NSE mode, this option allows one to use diffh(1) for large
		  files.

		  This option is currently defunct.

		  This option is an undocumented SUN extension that does not ex-
		  ist in historic sccs implementations.

     -k 	  Suppresses expansion of ID keywords when delta(1) is doing  an
		  implicit get(1) operation because -N+...  was specified.

		  This	option is a SCHILY extension that does not exist in his-
		  toric sccs implementations.

     -n 	  Retain the edited g-file, which is  normally	removed  at  the
		  completion of processing.

     -p 	  Display  line-by-line  differences  (in diff(1) format) on the
		  standard output.

     -q[nsedelim]
		  Enable NSE mode.  If NSE mode is enabled, several NSE  related
		  extensions  may be used.  In this release, the value of nsede-
		  lim is ignored.

		  In NSE mode, delta behaves as if the -o option  was  specified
		  and never issues a warning about missing id keywords.

		  This option is an undocumented SUN extension that does not ex-
		  ist in historic sccs implementations.

     -s 	  Silent.   Do not display warning or confirmation messages.  Do
		  not suppress error messages (which are written to standard er-
		  ror).

     -g sid-list | -gsid-list
		  Specify a list of deltas to omit when the file is accessed  at
		  the  SCCS version ID (SID) created by this delta.  This causes
		  the file to be checked out later to differ from the checked in
		  file unless `get -isid-list' with the same sid-list is  speci-
		  fied	during	checkout.  sid-list is a comma-separated list of
		  SIDs.  To specify a range of deltas, use a `-'  separator  in-
		  stead of a comma, between two SIDs in the list.

     -m mr-list | -mmr-list
		  If  the  SCCS file has the v flag set (see sccs-admin(1)), you
		  must supply one or more Modification Request (MR) numbers  for
		  the  new delta. When specifying more than one MR number on the
		  command line, mr-list takes the form of a quoted,  space-sepa-
		  rated list. If -m is not used and the standard input is a ter-
		  minal, delta prompts with `MRs? ' for the list (before issuing
		  the  `comments?  '  prompt). If the v flag in the s.file has a
		  value, it is taken to be the name of a program to validate the
		  MR numbers. If that validation program returns a non-zero exit
		  status, delta terminates without checking in the changes.

     -o 	  Use the original time of the edited file for	the  delta  time
		  when	applying the delta.  In NSE mode this is the default be-
		  havior.

		  This option is a SCHILY extension that does not exist in  his-
		  toric sccs implementations.

     -r sid | -rsid
		  When two or more versions are checked out, specify the version
		  to check in. This SID value can be either the SID specified on
		  the  get  command  line,  or	the SID of the new version to be
		  checked in as reported by get.  A diagnostic	results  if  the
		  specified SID is ambiguous, or if one is required but not sup-
		  plied.

     -y[comment]  Supply  a  comment  for  the delta table (version log). A null
		  comment is accepted, and produces an empty commentary  in  the
		  log. If -y is not specified and the standard input is a termi-
		  nal,	delta  prompts	with `comments? '.  An unescaped NEWLINE
		  terminates the comment.

     -z 	  Enable CMF extensions for MR number handling.

		  This option is an undocumented SUN extension that does not ex-
		  ist in historic sccs implementations.

     -Cdir	  Specify the base directory for the g-file relative to the cur-
		  rent working directory.  By default, the  g-file  is	searched
		  for in the current directory (independent from the location of
		  the s.file.

		  This	option is a SCHILY extension that does not exist in his-
		  toric sccs implementations.

     -Ddiff-file  Provide a file with prepared diff output to delta(1).  If this
		  option is present, delta(1) will not	get  the  previous  file
		  content  and call diff(1) on the previous file content and the
		  current file content, but read the diff-file instead.

		  This option is a SCHILY extension that does not exist in  his-
		  toric sccs implementations.

     -Nbulk-spec  Processes  a	bulk  of SCCS history files.  This option allows
		  one to do an efficient mass processing of SCCS history files.

		  The bulk-spec parameter is composed from an optional	list  of
		  flag parameters followed by an optional path specifier.

		  The following flag types are supported:

		  +	    If	bulk-spec is preceded by a `+', delta(1) removes
			    the original g-files and replaces them by file  con-
			    tent  that is retrieved by a get(1) operation on the
			    related s.file.  This option is ignored  if  -n  has
			    been specified.

		  space     This  is a placeholder dummy flag that allows one to
			    use a prepared string for the -N option and  to  re-
			    place  the	space  character by one of the supported
			    flags on demand.

		  The following path specifier types are supported:

		  -N	    The file name parameters to the  delta  command  are
			    not  s.filename  files but the names of the g-files.
			    The s.filename names are automatically derived  from
			    the  g-file names by prepending s.	to the last path
			    name component.  Both, s.filename and the g-file are
			    in the same directory.

		  -Ns.	    The file name parameters to the  delta  command  are
			    s.filename	files.	 The the g-files names are auto-
			    matically derived by removing s.  from the beginning
			    of last  path  name  component  of	the  s.filename.
			    Both,  s.filename and the g-file are in the same di-
			    rectory.

		  -Ndir     The file name parameters to the  delta  command  are
			    not  s.filename  files but the names of the g-files.
			    The s.filename names are put into directory dir, the
			    names are  automatically  derived  from  the  g-file
			    names  by  prepending  dir/s.  to the last path name
			    component.

		  -Ndir/s.  The file name parameters to the  delta  command  are
			    s.filename	files in directory dir.  The the g-files
			    names are automatically derived by	removing  dir/s.
			    from  the  beginning  of last path name component of
			    the s.filename.

		  A typical value for dir is SCCS.

		  In order to overcome the limited number of exec(2)  arguments,
		  it  is  recommended  to use `-' as the file name parameter for
		  delta(1) and to send a list of path names to stdin.

		  This option is a SCHILY extension that does not exist in  his-
		  toric sccs implementations.

     -Xextended-options
		  Specify extended options. The argument extended-options may be
		  a comma separated list of extended option names.

		  The  following extended options are supported, they may be ab-
		  breviated as long as the abbreviation is still unique:

		  date=datetime
			 Allows one to overwrite the usual methods to  determine
			 the  time stamp used for a new delta. This is needed to
			 e.g. convert a historic SCCS history into a new project
			 oriented bundle history.  The format  of  the	datetime
			 argument  is  the same as for cutoff times but nanosec-
			 onds and a time zone offset are permitted in addition.

		  gpath=g-path
			 Specify a different path to the g-file instead  of  de-
			 riving the path from the s-file using an algorithm that
			 may  not  apply  in  a  specific  case.  This option is
			 needed to manage the changeset file.

		  nobulk
			 Disables the -N (bulkmode) filename translations.  This
			 is needed to disable a -N option that is  automatically
			 added by sccs(1) in NewMode and would otherwise make it
			 impossible    to   deal   with   the	changeset   file
			 ``.sccs/SCCS/s.changeset''.

		  mail=address
			 Set address as e-mail address in the  delta  table  for
			 the SID just created.

		  prepend
			 Prepend the current content of the g-file to the previ-
			 ous  content  of that file.  With this option, there is
			 no need to unpack the old reference version and to diff
			 the current version  against  that  old  version.  This
			 causes  a major performance win that is used for updat-
			 ing the sccschangeset(5) file when in project mode.

		  user=name
			 Use a different user name for the programmer  field  in
			 the  delta  table.  By the default, the logname is used
			 for this field.  Using a  different  name  may  however
			 later deny the permission to modify a delta by programs
			 like cdc(1).

		  0	 When  reading filenames from stdin, triggered by a file
			 name argument `-', the filename  separator  is  a  null
			 byte instead of a newline.  This allows one to use long
			 lists with arbitrary filenames.

		  help	 Print a short online help for available options.

		  The  -X  option  is  a SCHILY extension that does not exist in
		  historic sccs implementations.

     -V
     -version
     --version	  Prints the delta version number string and exists.

		  This option is a SCHILY extension that does not exist in  his-
		  toric sccs implementations.

ENVIRONMENT VARIABLES
     See environ(7) for descriptions of the following environment variables that
     affect  the  execution  of  delta(1):  LANG,  LC_ALL, LC_COLLATE, LC_CTYPE,
     LC_MESSAGES, and NLSPATH.

     SCCS_NO_HELP
	    If set, delta(1) will not automatically call help(1) with  the  SCCS
	    error  code  in order to print a more helpful error message. Scripts
	    that depend on the exact error messages of SCCS commands should  set
	    the environment variable SCCS_NO_HELP and set LC_ALL=C.

STDOUT
     If  the -s option was not specified, delta prints statistics about file ac-
     tivities in the following format:

	    new-sid
	    nn inserted
	    nn deleted
	    nn unchanged

EXIT STATUS
     The following exit values are returned:

     0	  Successful completion.

     1	  An error occurred and the -d option had not been specified.

     2	  An error occurred, the -d option had been specified, and  the  s.file-
	  name argument was not specified.

FILES
     d.file	 temporary file created by the delta(1) program with the content
		 of  the  previous  version,  used to compute differences to the
		 current version

     e.file	 temporary file to hold an uuencoded version of  the  g-file  in
		 case of an encoded history file

     p.file	 permission  (lock)  file  for	checked-out versions.  See sccs-
		 get(1) for a description of the layout of the p.file.

     q.file	 temporary copy of the p.file; renamed to the p.file after  com-
		 pletion

     s.file	 SCCS history file, see sccsfile(5).

     x.file	 temporary  copy of the s.file; renamed to the s.file after com-
		 pletion

     z.file	 temporary lock file contains the binary process id in host byte
		 order followed by the host name

     dump.core	 If the file dump.core exists in the current directory and a fa-
		 tal signal is received, a coredump is initiated via abort(3).

ATTRIBUTES
     See attributes(7) for descriptions of the following attributes:

   /usr/ccs/bin/delta
     +------------------------------+-----------------------------+
     |	     ATTRIBUTE TYPE	    |	   ATTRIBUTE VALUE	  |
     +------------------------------+-----------------------------+
     | Availability		    |SUNWsprot			  |
     +------------------------------+-----------------------------+

SEE ALSO
     sccs(1),	sccs-add(1),   sccs-admin(1),	 sccs-branch(1),    sccs-cdc(1),
     sccs-check(1), sccs-clean(1), sccs-comb(1), sccs-commit(1), sccs-create(1),
     sccs-cvt(1),  sccs-deledit(1), sccs-delget(1), sccs-diffs(1), sccs-edit(1),
     sccs-editor(1),  sccs-enter(1),  sccs-fix(1),  sccs-get(1),   sccs-help(1),
     sccs-histfile(1),	 sccs-info(1),	sccs-init(1),  sccs-istext(1),	sccs-ld-
     iffs(1),	 sccs-log(1),	 sccs-print(1),    sccs-prs(1),     sccs-prt(1),
     sccs-rcs2sccs(1),	   sccs-remove(1),     sccs-rename(1),	  sccs-rmdel(1),
     sccs-root(1), sccs-sact(1), sccs-sccsdiff(1), sccs-status(1), sccs-tell(1),
     sccs-unedit(1), sccs-unget(1), sccs-val(1), bdiff(1),  diff(1),  fsdiff(1),
     what(1),  sccschangeset(5),  sccsfile(5),	attributes(7), environ(7), stan-
     dards(7).

DIAGNOSTICS
     Use the SCCS help command for explanations (see sccs-help(1)).

WARNINGS
     Lines beginning with an ASCII SOH character (binary 001) cannot  be  placed
     in the SCCS file if the SCCS v4 history file format is used, unless the SOH
     is  escaped.  This  character has special meaning to SCCS (see sccsfile(5))
     and produces an error in SCCS v4 mode.  SCCS v6 automatically escapes  such
     characters and thus allows to use ASCII SOH at any place in a file.

     If  delta(1)  is  used in force mode (using `delta -q -f -n s.file'), using
     the option -gsid-list in addition will result in unexpected behavior.  This
     is because the file content used for delta(1), differs  from  what  is  ex-
     tracted  using get(1).  As in force delta mode, get(1) is usually not used,
     the next delta will revert the effect of the `delta -g...'  call.

BUGS
     None currently known.

     Mail bugs and suggestions	to  schilytools@mlists.in-berlin.de  or  open  a
     ticket at https://codeberg.org/schilytools/schilytools/issues.

     The mailing list archive may be found at:

     https://mlists.in-berlin.de/mailman/listinfo/schilytools-mlists.in-berlin.de.

AUTHORS
     The  SCCS	suite was originally written by Marc J. Rochkind at Bell Labs in
     1972.  Release 4.0 of SCCS, introducing new versions of  the  programs  ad-
     min(1), get(1), prt(1), and delta(1) was published on February 18, 1977; it
     introduced  the  new  text based SCCS v4 history file format (previous SCCS
     releases used a binary history file format).   The  SCCS  suite  was  later
     maintained by various people at AT&T and Sun Microsystems.  Since 2006, the
     SCCS  suite has been maintained by Joerg Schilling and is now maintained by
     the schilytools project authors.

SOURCE DOWNLOAD
     The source code for SCCS is included in the schilytools project and may  be
     retrieved from the schilytools project at Codeberg at

     https://codeberg.org/schilytools/schilytools.

     The download directory is

     https://codeberg.org/schilytools/schilytools/releases.

SunOS 5.11			   2022/10/06			   sccs-delta(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sccs-delta&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help