summaryrefslogtreecommitdiffstats
path: root/contrib/cvs/doc
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2008-03-19 14:46:59 +0000
committerobrien <obrien@FreeBSD.org>2008-03-19 14:46:59 +0000
commit1c0cbce33a57f17010ec5ab6d6e219a22abb0833 (patch)
tree2b5183382f4a2d7c6e711b462d7cade6607ead8a /contrib/cvs/doc
parent808f039f5f26abb40b9185217065c2e9e3522687 (diff)
parentc54c20f64254351041b8ea9719450e4d774ac0a5 (diff)
downloadFreeBSD-src-1c0cbce33a57f17010ec5ab6d6e219a22abb0833.zip
FreeBSD-src-1c0cbce33a57f17010ec5ab6d6e219a22abb0833.tar.gz
This commit was generated by cvs2svn to compensate for changes in r177391,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/cvs/doc')
-rw-r--r--contrib/cvs/doc/ChangeLog60
-rw-r--r--contrib/cvs/doc/HACKING.DOCS46
-rw-r--r--contrib/cvs/doc/Makefile.in201
-rw-r--r--contrib/cvs/doc/cvs.1387
-rw-r--r--contrib/cvs/doc/cvs.texinfo424
-rw-r--r--contrib/cvs/doc/cvsclient.texi55
-rwxr-xr-xcontrib/cvs/doc/mdate-sh135
-rw-r--r--contrib/cvs/doc/mkman.pl9
-rw-r--r--contrib/cvs/doc/stamp-18
-rw-r--r--contrib/cvs/doc/stamp-vti8
-rw-r--r--contrib/cvs/doc/version-client.texi8
-rw-r--r--contrib/cvs/doc/version.texi8
12 files changed, 1068 insertions, 281 deletions
diff --git a/contrib/cvs/doc/ChangeLog b/contrib/cvs/doc/ChangeLog
index e4bd947..e00073b 100644
--- a/contrib/cvs/doc/ChangeLog
+++ b/contrib/cvs/doc/ChangeLog
@@ -1,3 +1,63 @@
+2008-03-10 Mark D. Baushke <mdb@gnu.org>
+
+ * cvs.texinfo (config): Document the IgnoreUnknownConfigKeys
+ option.
+
+2008-01-27 Mark D. Baushke <mdb@gnu.org>
+
+ * cvs.texinfo: Document use of --with-ssh flag to configure and
+ how :extssh: uses the CVS_SSH environment variable or "ssh".
+ * stamp-vti, version.texi: Regenerated.
+
+ * cvs.texinfo: Update copyright for 2008.
+
+2008-01-24 Mark D. Baushke <mdb@gnu.org>
+
+ * cvs.texinfo (log options): Document the new cvs log -n
+ switch to reverse the -N switch.
+ * cvs.texinfo (annotate & rannotate): Document "blame" as a
+ synonym for the "annotate" command.
+ (Patch suggested by "David O'Brien" <obrien@FreeBSD.org>)
+
+ * cvs.1, stamp-1, stamp-vti, version-client.texi, version.texi:
+ Regenerated.
+
+2007-05-07 Derek Price <derek@ximbiot.com>
+
+ * cvsclient.text: Remove references to remote `init' command.
+
+2006-08-25 Derek Price <derek@ximbiot.com>
+
+ * cvsclient.texi (Requests, Responses): Remove reference to the
+ obsolete checkin & update programs.
+
+2006-08-21 Derek Price <derek@ximbiot.com>
+
+ * cvs.texinfo (man page nodes): Tweak grammar, especially refs.
+ (Original patch from Kevin R. Bulgrien <kbulgrien@att.net>.)
+
+ * mkman.pl (do_keyword): Process ref and p?xref differently.
+ (Original patch from Kevin R. Bulgrien <kbulgrien@att.net>.)
+
+2006-08-11 Mark D. Baushke <mdb@gnu.org>
+
+ * cvs.texinfo, cvsclient.texi: Fix some typos.
+ (inspired by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>)
+
+2006-07-16 Derek Price <derek@ximbiot.com>
+
+ * cvs.texinfo (File permissions): Correct punctuation.
+
+2006-07-11 Larry Jones <lawrence.jones@ugs.com>
+
+ * cvs.texinfo (log options): -b is a revision selection option, not
+ a header field option.
+
+2006-06-22 Larry Jones <lawrence.jones@ugs.com>
+
+ * cvs.texinfo (user-defined logging, Informing others): Remove
+ references to the obsolete -i module option.
+
2006-06-08 Derek Price <derek@ximbiot.com>
* cvsclient.texi (Requests): Add Empty-conflicts.
diff --git a/contrib/cvs/doc/HACKING.DOCS b/contrib/cvs/doc/HACKING.DOCS
new file mode 100644
index 0000000..adf6077
--- /dev/null
+++ b/contrib/cvs/doc/HACKING.DOCS
@@ -0,0 +1,46 @@
+Here's some of the texinfo conventions the CVS documentation uses:
+
+@code{ ... } command usage & command snippets, including
+ command names.
+@var{ ... } variables - text which the user is expected to
+ replace with some meaningful text of their own
+ in actual usage.
+@file{ ... } file names
+@samp{ ... } for most anything else you need quotes around
+ (often still misused for command snippets)
+@example ... @end example example command usage and output, etc.
+@emph{ ... } emphasis - warnings, stress, etc. This will be
+ bracketed by underline characters in info files
+ (_ ... _) and in italics in PDF & probably in
+ postscript & HTML.
+@strong{ ... } Similar to @emph{}, but the effect is to
+ bracket with asterisks in info files (* ... *)
+ and in bold in PDF & probably in postscript &
+ HTML.
+@noindent Suppresses indentation of the following
+ paragraph. This can ocassionally be useful
+ after examples and the like.
+@cindex ... Add a tag to the index.
+@pxref{ ... } Cross reference in parentheses.
+@xref{ ... } Cross reference.
+
+Preformatted text should be marked as such (use @example... there may be other
+ways) since many of the final output formats can use relational fonts otherwise
+and marking it as formatted should restrict it to a fixed width font. Keep
+this sort of text to 80 characters or less per line since larger may not be
+properly viewable for some info users.
+
+There are dictionary lists and function definition markers. Scan cvs.texinfo
+for their usage. There may be table definitions as well but I haven't used
+them.
+
+Use lots of index markers. Scan the index for the current style. Try to reuse
+an existing entry if the meaning is similar.
+
+`makeinfo' 3.11 or greater is required for output generation since earlier
+versions do not support the @ifnottex & @ifnothtml commands. There may be
+other commands used in `cvs.texinfo' that are unsupported by earlier versions
+of `makeinfo' by the time you read this.
+
+For more on using texinfo docs, see the `info texinfo' documentation or
+http://www.gnu.org/manual/texinfo/texinfo.html .
diff --git a/contrib/cvs/doc/Makefile.in b/contrib/cvs/doc/Makefile.in
index ad31da2..f3a2087 100644
--- a/contrib/cvs/doc/Makefile.in
+++ b/contrib/cvs/doc/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -30,15 +30,11 @@
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -75,13 +71,17 @@ MAKEINFOHTML = $(MAKEINFO) --html
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
DVIPS = dvips
am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -102,6 +102,8 @@ ECHO_T = @ECHO_T@
EDITOR = @EDITOR@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -113,11 +115,8 @@ LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
-MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
-MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
+MKDIR_P = @MKDIR_P@
MKTEMP = @MKTEMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
@@ -139,12 +138,13 @@ STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
+YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
ac_prefix_program = @ac_prefix_program@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -152,26 +152,38 @@ am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
+htmldir = @htmldir@
includedir = @includedir@
includeopt = @includeopt@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
with_default_rsh = @with_default_rsh@
+with_default_ssh = @with_default_ssh@
info_TEXINFOS = cvs.texinfo cvsclient.texi
man_MANS = $(srcdir)/cvs.1
PSS = \
@@ -388,9 +400,26 @@ maintainer-clean-1:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
$(DVIPS) -o $@ $<
+uninstall-dvi-am:
+ @$(NORMAL_UNINSTALL)
+ @list='$(DVIS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
+ rm -f "$(DESTDIR)$(dvidir)/$$f"; \
+ done
+
+uninstall-html-am:
+ @$(NORMAL_UNINSTALL)
+ @list='$(HTMLS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
+ rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+
uninstall-info-am:
@$(PRE_UNINSTALL)
- @if (install-info --version && \
+ @if test -d '$(DESTDIR)$(infodir)' && \
+ (install-info --version && \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
@@ -404,12 +433,28 @@ uninstall-info-am:
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
- (if cd "$(DESTDIR)$(infodir)"; then \
+ (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
else :; fi); \
done
+uninstall-pdf-am:
+ @$(NORMAL_UNINSTALL)
+ @list='$(PDFS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
+ done
+
+uninstall-ps-am:
+ @$(NORMAL_UNINSTALL)
+ @list='$(PSS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(psdir)/$$f"; \
+ done
+
dist-info: $(INFO_DEPS)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(INFO_DEPS)'; \
@@ -418,10 +463,13 @@ dist-info: $(INFO_DEPS)
$(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
esac; \
if test -f $$base; then d=.; else d=$(srcdir); fi; \
- for file in $$d/$$base*; do \
- relfile=`expr "$$file" : "$$d/\(.*\)"`; \
- test -f $(distdir)/$$relfile || \
- cp -p $$file $(distdir)/$$relfile; \
+ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
+ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
+ if test -f $$file; then \
+ relfile=`expr "$$file" : "$$d/\(.*\)"`; \
+ test -f $(distdir)/$$relfile || \
+ cp -p $$file $(distdir)/$$relfile; \
+ else :; fi; \
done; \
done
@@ -443,7 +491,7 @@ maintainer-clean-aminfo:
done
install-man1: $(man1_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
- test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
@@ -494,23 +542,21 @@ CTAGS:
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/$(srcdir)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -529,7 +575,7 @@ check: check-am
all-am: Makefile $(INFO_DEPS) $(MANS)
installdirs:
for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
@@ -578,13 +624,42 @@ info-am: $(INFO_DEPS)
install-data-am: install-info-am install-man
+install-dvi: install-dvi-am
+
+install-dvi-am: $(DVIS)
+ @$(NORMAL_INSTALL)
+ test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
+ @list='$(DVIS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(dvidir)/$$f'"; \
+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(dvidir)/$$f"; \
+ done
install-exec-am:
+install-html: install-html-am
+
+install-html-am: $(HTMLS)
+ @$(NORMAL_INSTALL)
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+ @list='$(HTMLS)'; for p in $$list; do \
+ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ if test -d "$$d$$p"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
+ echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \
+ else \
+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
+ fi; \
+ done
install-info: install-info-am
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)"
+ test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(INFO_DEPS)'; \
for file in $$list; do \
@@ -614,6 +689,28 @@ install-info-am: $(INFO_DEPS)
else : ; fi
install-man: install-man1
+install-pdf: install-pdf-am
+
+install-pdf-am: $(PDFS)
+ @$(NORMAL_INSTALL)
+ test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
+ @list='$(PDFS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \
+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \
+ done
+install-ps: install-ps-am
+
+install-ps-am: $(PSS)
+ @$(NORMAL_INSTALL)
+ test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
+ @list='$(PSS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(psdir)/$$f'"; \
+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(psdir)/$$f"; \
+ done
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -635,21 +732,27 @@ ps: ps-am
ps-am: $(PSS)
-uninstall-am: uninstall-info-am uninstall-man
+uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
+ uninstall-man uninstall-pdf-am uninstall-ps-am
uninstall-man: uninstall-man1
+.MAKE: install-am install-strip
+
.PHONY: all all-am check check-am clean clean-generic dist-info \
distclean distclean-generic distdir dvi dvi-am html html-am \
info info-am install install-am install-data install-data-am \
- install-exec install-exec-am install-info install-info-am \
- install-man install-man1 install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-1 maintainer-clean-aminfo \
- maintainer-clean-generic maintainer-clean-vti mostlyclean \
- mostlyclean-1 mostlyclean-aminfo mostlyclean-generic \
- mostlyclean-vti pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am uninstall-man uninstall-man1
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-man1 install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-1 \
+ maintainer-clean-aminfo maintainer-clean-generic \
+ maintainer-clean-vti mostlyclean mostlyclean-1 \
+ mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
+ pdf-am ps ps-am uninstall uninstall-am uninstall-dvi-am \
+ uninstall-html-am uninstall-info-am uninstall-man \
+ uninstall-man1 uninstall-pdf-am uninstall-ps-am
doc: info pdf
diff --git a/contrib/cvs/doc/cvs.1 b/contrib/cvs/doc/cvs.1
index 9fbc087..70f2bec 100644
--- a/contrib/cvs/doc/cvs.1
+++ b/contrib/cvs/doc/cvs.1
@@ -235,7 +235,7 @@ left of \fBcvs_command\fR) are:
\fB--allow-root=\fIrootdir\fB\fR
.IP "" 2
Specify legal \fBcvsroot\fR directory. See
-see node `Password authentication server\(aq in the CVS manual.
+`Password authentication server\(aq in the CVS manual.
.SP
.IX "Authentication, stream"
.IX "Stream authentication"
@@ -281,7 +281,7 @@ vice versa.)
.IP "" 2
Use \fIcvs_root_directory\fR as the root directory
pathname of the repository. Overrides the setting of
-the \fB$CVSROOT\fR environment variable. see node `Repository\(aq in the CVS manual.
+the \fB$CVSROOT\fR environment variable. See `Repository\(aq in the CVS manual.
.SP
.IX "EDITOR, overriding"
.IX "Overriding EDITOR"
@@ -291,7 +291,7 @@ the \fB$CVSROOT\fR environment variable. see node `Repository\(aq in the CVS ma
Use \fIeditor\fR to enter revision log information. Overrides the
setting of the \fB$CVSEDITOR\fR and \fB$EDITOR\fR
environment variables. For more information, see
-see node `Committing your changes\(aq in the CVS manual.
+`Committing your changes\(aq in the CVS manual.
.SP
.IP "" 0
\fB-f\fR
@@ -544,14 +544,14 @@ give an error if you mistype a tag name.
\fBWARNING: The \fBcommit\fB and \fBremove\fB
commands also have a
\fB-f\fB option, but it has a different behavior for
-those commands. See see node `commit options\(aq in the CVS manual, and
-see node `Removing files\(aq in the CVS manual.\fR
+those commands. See `commit options\(aq in the CVS manual, and
+`Removing files\(aq in the CVS manual.\fR
.SP
.IP "" 0
\fB-k \fIkflag\fB\fR
.IP "" 2
Alter the default processing of keywords.
-see node `Keyword substitution\(aq in the CVS manual, for the meaning of
+See `Keyword substitution\(aq in the CVS manual, for the meaning of
\fIkflag\fR. Your \fIkflag\fR specification is
\fIsticky\fR when you use it to create a private copy
of a source file; that is, when you use this option
@@ -603,7 +603,7 @@ and \fBrtag\fR commands.
.IP "" 0
\fB-P\fR
.IP "" 2
-Prune empty directories. See see node `Removing directories\(aq in the CVS manual.
+Prune empty directories. See `Removing directories\(aq in the CVS manual.
.SP
.IP "" 0
\fB-p\fR
@@ -642,8 +642,8 @@ future update commands, until you specify otherwise (for more information
on sticky tags/dates, see node `Sticky tags\(aq in the CVS manual).
.SP
The tag can be either a symbolic or numeric tag, as
-described in see node `Tags\(aq in the CVS manual, or the name of a branch, as
-described in see node `Branching and merging\(aq in the CVS manual.
+described in `Tags\(aq in the CVS manual, or the name of a branch, as
+described in `Branching and merging\(aq in the CVS manual.
When a command expects a specific revision,
the name of a branch is interpreted as the most recent
revision on that branch.
@@ -671,6 +671,111 @@ Available with the following commands: \fBimport\fR,
and \fBupdate\fR.
.SP
.SP
+.SH "add"
+.SS "Add files and directories to the repository"
+.IX "add (subcommand)"
+.SP
+.IP "\(bu" 2
+Synopsis: add [-k rcs-kflag] [-m message] files...
+.IP "\(bu" 2
+Requires: repository, working directory.
+.IP "\(bu" 2
+Changes: repository, working directory.
+.SP
+The \fBadd\fR command is used to present new files
+and directories for addition into the \fBcvs\fR
+repository. When \fBadd\fR is used on a directory,
+a new directory is created in the repository
+immediately. When used on a file, only the working
+directory is updated. Changes to the repository are
+not made until the \fBcommit\fR command is used on
+the newly added file.
+.SP
+The \fBadd\fR command also resurrects files that
+have been previously removed. This can be done
+before or after the \fBcommit\fR command is used
+to finalize the removal of files. Resurrected files
+are restored into the working directory at the time
+the \fBadd\fR command is executed.
+.SP
+.SH "add options"
+.SP
+These standard options are supported by \fBadd\fR
+(see node `Common options\(aq in the CVS manual, for a complete description of
+them):
+.SP
+.IP "" 0
+\fB-k \fIkflag\fB\fR
+.IP "" 2
+Process keywords according to \fIkflag\fR. See
+`Keyword substitution\(aq in the CVS manual.
+This option is sticky; future updates of
+this file in this working directory will use the same
+\fIkflag\fR. The \fBstatus\fR command can be viewed
+to see the sticky options. For more information on
+the \fBstatus\fR command, see node `Invoking CVS\(aq in the CVS manual.
+.SP
+.IP "" 0
+\fB-m \fImessage\fB\fR
+.IP "" 2
+Use \fImessage\fR as the log message, instead of
+invoking an editor.
+.SP
+.SH "add examples"
+.SP
+.SS "Adding a directory"
+.SP
+.PD 0
+.SP
+.IP "" 2
+$ mkdir doc
+.IP "" 2
+$ cvs add doc
+.IP "" 2
+Directory /path/to/repository/doc added to the repository
+
+.PD
+.IP "" 0
+.SP
+.SS "Adding a file"
+.SP
+.PD 0
+.SP
+.SP
+.IP "" 2
+$ >TODO
+.IP "" 2
+$ cvs add TODO
+.IP "" 2
+cvs add: scheduling file \`TODO\(aq for addition
+.IP "" 2
+cvs add: use \(aqcvs commit\(aq to add this file permanently
+
+.PD
+.IP "" 0
+.SP
+.SS "Undoing a \fBremove\fR command"
+.SP
+.PD 0
+.SP
+.IP "" 2
+$ rm -f makefile
+.IP "" 2
+$ cvs remove makefile
+.IP "" 2
+cvs remove: scheduling \`makefile\(aq for removal
+.IP "" 2
+cvs remove: use \(aqcvs commit\(aq to remove this file permanently
+.IP "" 2
+$ cvs add makefile
+.IP "" 2
+U makefile
+.IP "" 2
+cvs add: makefile, version 1.2, resurrected
+
+.PD
+.IP "" 0
+.SP
.SH "admin"
.SS "Administration"
.IX "Admin (subcommand)"
@@ -741,7 +846,7 @@ There can be no space between \fB-b\fR and its argument.
Sets the comment leader to \fIstring\fR. The comment
leader is not used by current versions of \fBcvs\fR or
\fBrcs\fR 5.7. Therefore, you can almost surely not
-worry about it. see node `Keyword substitution\(aq in the CVS manual.
+worry about it. See `Keyword substitution\(aq in the CVS manual.
.SP
.IP "" 0
\fB-e[\fIlogins\fB]\fR
@@ -772,7 +877,7 @@ new \fBrcs\fR file, without depositing a revision. With
\fB-k\fIsubst\fB\fR
.IP "" 2
Set the default keyword
-substitution to \fIsubst\fR. see node `Keyword
+substitution to \fIsubst\fR. See `Keyword
substitution\(aq in the CVS manual. Giving an explicit \fB-k\fR option to
\fBcvs update\fR, \fBcvs export\fR, or \fBcvs
checkout\fR overrides this default.
@@ -820,7 +925,7 @@ Replace the log message of revision \fIrev\fR with
.IP "" 2
Act like \fB-n\fR, except override any previous
assignment of \fIname\fR. For use with magic branches,
-see see node `Magic branch numbers\(aq in the CVS manual.
+see `Magic branch numbers\(aq in the CVS manual.
.SP
.IP "" 0
\fB-n\fIname\fB[:[\fIrev\fB]]\fR
@@ -957,7 +1062,7 @@ change to be like the \fB::\fR case.
.SP
Due to the way \fBcvs\fR handles branches \fIrev\fR
cannot be specified symbolically if it is a branch.
-see node `Magic branch numbers\(aq in the CVS manual, for an explanation.
+See `Magic branch numbers\(aq in the CVS manual for an explanation.
.SP
Make sure that no-one has checked out a copy of the
revision you outdate. Strange things will happen if he
@@ -1066,6 +1171,8 @@ Synopsis: annotate [options] files\&...
.IP "\(bu" 2
Requires: repository.
.IP "\(bu" 2
+Synonym: blame
+.IP "\(bu" 2
Changes: nothing.
.SP
For each file in \fIfiles\fR, print the head revision
@@ -1075,7 +1182,7 @@ modification for each line.
.SH "annotate options"
.SP
These standard options are supported by \fBannotate\fR
-(see node `Common options\(aq in the CVS manual, for a complete description of
+(see node `Common options\(aq in the CVS manual for a complete description of
them):
.SP
.IP "" 0
@@ -1138,9 +1245,9 @@ or replaced; you need to use \fBcvs diff\fR for that
(see node `diff\(aq in the CVS manual).
.SP
The options to \fBcvs annotate\fR are listed in
-see node `Invoking CVS\(aq in the CVS manual, and can be used to select the files
+`Invoking CVS\(aq in the CVS manual, and can be used to select the files
and revisions to annotate. The options are described
-in more detail there and in see node `Common options\(aq in the CVS manual.
+in more detail there and in `Common options\(aq in the CVS manual.
.SP
.SH "checkout"
.SS "Check out sources for editing"
@@ -1167,7 +1274,7 @@ symbolic names for some
collection of source directories and files, or paths to
directories or files in the repository. The symbolic
names are defined in the \fBmodules\fR file.
-see node `modules\(aq in the CVS manual.
+See `modules\(aq in the CVS manual.
.SP
Depending on the modules you specify, \fBcheckout\fR may
recursively create directories and populate them with
@@ -1211,13 +1318,13 @@ top level directory (where you originally ran
forget to change your directory to the top level
directory.
.SP
-For the output produced by the \fBcheckout\fR command
-see see node `update output\(aq in the CVS manual.
+For the output produced by the \fBcheckout\fR command,
+see node `update output\(aq in the CVS manual.
.SP
.SH "checkout options"
.SP
These standard options are supported by \fBcheckout\fR
-(see node `Common options\(aq in the CVS manual, for a complete description of
+(see node `Common options\(aq in the CVS manual for a complete description of
them):
.SP
.IP "" 0
@@ -1225,7 +1332,7 @@ them):
.IP "" 2
Use the most recent revision no later than \fIdate\fR.
This option is sticky, and implies \fB-P\fR. See
-see node `Sticky tags\(aq in the CVS manual, for more information on sticky tags/dates.
+`Sticky tags\(aq in the CVS manual for more information on sticky tags/dates.
.SP
.IP "" 0
\fB-f\fR
@@ -1239,11 +1346,11 @@ the file).
\fB-k \fIkflag\fB\fR
.IP "" 2
Process keywords according to \fIkflag\fR. See
-see node `Keyword substitution\(aq in the CVS manual.
+`Keyword substitution\(aq in the CVS manual.
This option is sticky; future updates of
this file in this working directory will use the same
\fIkflag\fR. The \fBstatus\fR command can be viewed
-to see the sticky options. See see node `Invoking CVS\(aq in the CVS manual, for
+to see the sticky options. See `Invoking CVS\(aq in the CVS manual for
more information on the \fBstatus\fR command.
.SP
.IP "" 0
@@ -1261,7 +1368,7 @@ see node `modules\(aq in the CVS manual).
.IP "" 0
\fB-P\fR
.IP "" 2
-Prune empty directories. See see node `Moving directories\(aq in the CVS manual.
+Prune empty directories. See `Moving directories\(aq in the CVS manual.
.SP
.IP "" 0
\fB-p\fR
@@ -1277,7 +1384,7 @@ Checkout directories recursively. This option is on by default.
\fB-r \fItag\fB\fR
.IP "" 2
Use revision \fItag\fR. This option is sticky, and implies \fB-P\fR.
-See see node `Sticky tags\(aq in the CVS manual, for more information on sticky tags/dates.
+See `Sticky tags\(aq in the CVS manual, for more information on sticky tags/dates.
.SP
In addition to those, you can use these special command
options with \fBcheckout\fR:
@@ -1287,7 +1394,7 @@ options with \fBcheckout\fR:
.IP "" 2
Reset any sticky tags, dates, or \fB-k\fR options.
Does not reset sticky \fB-k\fR options on modified files.
-See see node `Sticky tags\(aq in the CVS manual, for more information on sticky tags/dates.
+See `Sticky tags\(aq in the CVS manual for more information on sticky tags/dates.
.SP
.IP "" 0
\fB-c\fR
@@ -1350,7 +1457,7 @@ date. An optional date is specified by adding a colon
(:) to the tag:
\fB-j\fISymbolic_Tag\fB:\fIDate_Specifier\fB\fR.
.SP
-see node `Branching and merging\(aq in the CVS manual.
+See `Branching and merging\(aq in the CVS manual.
.SP
.IP "" 0
\fB-N\fR
@@ -1365,7 +1472,7 @@ discussion.
\fB-s\fR
.IP "" 2
Like \fB-c\fR, but include the status of all modules,
-and sort it by the status string. see node `modules\(aq in the CVS manual, for
+and sort it by the status string. See `modules\(aq in the CVS manual, for
info about the \fB-s\fR option that is used inside the
modules file to set the module status.
.SP
@@ -1434,7 +1541,7 @@ enter a log message that will be written to one or more
logging programs (see node `modules\(aq in the CVS manual, and see node `loginfo\(aq in the CVS manual)
and placed in the \fBrcs\fR file inside the
repository. This log message can be retrieved with the
-\fBlog\fR command; see see node `log\(aq in the CVS manual. You can specify the
+\fBlog\fR command; see node `log\(aq in the CVS manual. You can specify the
log message on the command line with the \fB-m
\fImessage\fB\fR option, and thus avoid the editor invocation,
or use the \fB-F \fIfile\fB\fR option to specify
@@ -1443,7 +1550,7 @@ that the argument file contains the log message.
.SH "commit options"
.SP
These standard options are supported by \fBcommit\fR
-(see node `Common options\(aq in the CVS manual, for a complete description of
+(see node `Common options\(aq in the CVS manual for a complete description of
them):
.SP
.IP "" 0
@@ -1477,7 +1584,7 @@ of invoking an editor.
\fB-f\fR
.IP "" 2
Note that this is not the standard behavior of
-the \fB-f\fR option as defined in see node `Common options\(aq in the CVS manual.
+the \fB-f\fR option as defined in `Common options\(aq in the CVS manual.
.SP
Force \fBcvs\fR to commit a new revision even if you haven\(aqt
made any changes to the file. If the current revision
@@ -1630,7 +1737,7 @@ The exit status for diff is different than for other
.SH "diff options"
.SP
These standard options are supported by \fBdiff\fR
-(see node `Common options\(aq in the CVS manual, for a complete description of
+(see node `Common options\(aq in the CVS manual for a complete description of
them):
.SP
.IP "" 0
@@ -1643,7 +1750,7 @@ See \fB-r\fR for how this affects the comparison.
\fB-k \fIkflag\fB\fR
.IP "" 2
Process keywords according to \fIkflag\fR. See
-see node `Keyword substitution\(aq in the CVS manual.
+`Keyword substitution\(aq in the CVS manual.
.SP
.IP "" 0
\fB-l\fR
@@ -1733,7 +1840,7 @@ context.
\fB--changed-group-format=\fIformat\fB\fR
.IP "" 2
Use \fIformat\fR to output a line group containing differing lines from
-both files in if-then-else format. see node `Line group formats\(aq in the CVS manual.
+both files in if-then-else format. See `Line group formats\(aq in the CVS manual.
.SP
.IP "" 0
\fB-d\fR
@@ -1855,7 +1962,7 @@ Print only the left column of two common lines in side by side format.
\fB--line-format=\fIformat\fB\fR
.IP "" 2
Use \fIformat\fR to output all input lines in if-then-else format.
-see node `Line formats\(aq in the CVS manual.
+See `Line formats\(aq in the CVS manual.
.SP
.IP "" 0
\fB--minimal\fR
@@ -1882,25 +1989,25 @@ treat it as present but empty in the other directory.
\fB--new-group-format=\fIformat\fB\fR
.IP "" 2
Use \fIformat\fR to output a group of lines taken from just the second
-file in if-then-else format. see node `Line group formats\(aq in the CVS manual.
+file in if-then-else format. See `Line group formats\(aq in the CVS manual.
.SP
.IP "" 0
\fB--new-line-format=\fIformat\fB\fR
.IP "" 2
Use \fIformat\fR to output a line taken from just the second file in
-if-then-else format. see node `Line formats\(aq in the CVS manual.
+if-then-else format. See `Line formats\(aq in the CVS manual.
.SP
.IP "" 0
\fB--old-group-format=\fIformat\fB\fR
.IP "" 2
Use \fIformat\fR to output a group of lines taken from just the first
-file in if-then-else format. see node `Line group formats\(aq in the CVS manual.
+file in if-then-else format. See `Line group formats\(aq in the CVS manual.
.SP
.IP "" 0
\fB--old-line-format=\fIformat\fB\fR
.IP "" 2
Use \fIformat\fR to output a line taken from just the first file in
-if-then-else format. see node `Line formats\(aq in the CVS manual.
+if-then-else format. See `Line formats\(aq in the CVS manual.
.SP
.IP "" 0
\fB-p\fR
@@ -2531,7 +2638,7 @@ In addition, these options (that are common to
.IP "" 2
Create a directory called \fIdir\fR for the working
files, instead of using the module name.
-see node `checkout options\(aq in the CVS manual, for complete details on how
+See `checkout options\(aq in the CVS manual for complete details on how
\fBcvs\fR handles this flag.
.SP
.IP "" 0
@@ -2543,7 +2650,7 @@ Set keyword expansion mode (see node `Substitution modes\(aq in the CVS manual).
\fB-N\fR
.IP "" 2
Only useful together with \fB-d \fIdir\fB\fR.
-see node `checkout options\(aq in the CVS manual, for complete details on how
+See `checkout options\(aq in the CVS manual for complete details on how
\fBcvs\fR handles this flag.
.SP
.SH "history"
@@ -2774,7 +2881,7 @@ distribution from an outside source (e.g., a source
vendor) into your source repository directory. You can
use this command both for initial creation of a
repository, and for wholesale updates to the module
-from the outside source. see node `Tracking sources\(aq in the CVS manual, for
+from the outside source. See `Tracking sources\(aq in the CVS manual for
a discussion on this subject.
.SP
The \fIrepository\fR argument gives a directory name
@@ -2791,14 +2898,14 @@ you to do.
.SP
If \fBcvs\fR decides a file should be ignored
(see node `cvsignore\(aq in the CVS manual), it does not import it and prints
-\fBI \fR followed by the filename (see node `import output\(aq in the CVS manual, for a
+\fBI \fR followed by the filename (see node `import output\(aq in the CVS manual for a
complete description of the output).
.SP
If the file \fB$CVSROOT/CVSROOT/cvswrappers\fR exists,
any file whose names match the specifications in that
file will be treated as packages and the appropriate
filtering will be performed on the file/directory
-before being imported. see node `Wrappers\(aq in the CVS manual.
+before being imported. See `Wrappers\(aq in the CVS manual.
.SP
The outside source is saved in a first-level
branch, by default 1.1.1. Updates are leaves of this
@@ -2826,7 +2933,7 @@ directory (see node `Getting the source\(aq in the CVS manual).
.SH "import options"
.SP
This standard option is supported by \fBimport\fR
-(see node `Common options\(aq in the CVS manual, for a complete description):
+(see node `Common options\(aq in the CVS manual for a complete description):
.SP
.IP "" 0
\fB-m \fImessage\fB\fR
@@ -2839,7 +2946,7 @@ There are the following additional special options.
.IP "" 0
\fB-b \fIbranch\fB\fR
.IP "" 2
-See see node `Multiple vendor branches\(aq in the CVS manual.
+See `Multiple vendor branches\(aq in the CVS manual.
.SP
.IP "" 0
\fB-k \fIsubst\fB\fR
@@ -2847,7 +2954,7 @@ See see node `Multiple vendor branches\(aq in the CVS manual.
Indicate the keyword expansion mode desired. This
setting will apply to all files created during the
import, but not to any files that previously existed in
-the repository. See see node `Substitution modes\(aq in the CVS manual, for a
+the repository. See `Substitution modes\(aq in the CVS manual for a
list of valid \fB-k\fR settings.
.SP
.IP "" 0
@@ -2860,7 +2967,7 @@ default), specify \`-I !\(aq.
.SP
\fIname\fR can be a file name pattern of the same type
that you can specify in the \fB.cvsignore\fR file.
-see node `cvsignore\(aq in the CVS manual.
+See `cvsignore\(aq in the CVS manual.
.SP
.IP "" 0
\fB-W \fIspec\fB\fR
@@ -2914,7 +3021,7 @@ see node `modules\(aq in the CVS manual.)
.SP
.SH "import examples"
.SP
-See see node `Tracking sources\(aq in the CVS manual, and see node `From files\(aq in the CVS manual.
+See `Tracking sources\(aq in the CVS manual, and `From files\(aq in the CVS manual.
.SP
.SH "log"
.SS "Print out log information for files"
@@ -2952,10 +3059,11 @@ with the normal use inside \fBcvs\fB (see node `Common options\(aq in the CVS ma
.SP
By default, \fBlog\fR prints all information that is
available. All other options restrict the output. Note that the revision
-selection options (\fB-d\fR, \fB-r\fR, \fB-s\fR, and \fB-w\fR) have no
+selection options (\fB-b\fR, \fB-d\fR, \fB-r\fR, \fB-s\fR, and \fB-w\fR)
+have no
effect, other than possibly causing a search for files in Attic directories,
when used in conjunction with the options that restrict the output to only
-\fBlog\fR header fields (\fB-b\fR, \fB-h\fR, \fB-R\fR, and \fB-t\fR)
+\fBlog\fR header fields (\fB-h\fR, \fB-R\fR, and \fB-t\fR)
unless the \fB-S\fR option is also specified.
.SP
.IP "" 0
@@ -3035,6 +3143,14 @@ information, the log information is presented without
tags at all.
.SP
.IP "" 0
+\fB-n\fR
+.IP "" 2
+Print the list of tags for this file. This option can
+be very useful when your \fB.cvsrc\fR file has a
+\fBlog -N\fR entry as a way to get a full list of all
+of the tags.
+.SP
+.IP "" 0
\fB-R\fR
.IP "" 2
Print only the name of the \fBrcs\fR file.
@@ -3116,7 +3232,7 @@ Print information about revisions whose state
attributes match one of the states given in the
comma-separated list \fIstates\fR. Individual states may
be any text string, though \fBcvs\fR commonly only uses two
-states, \fBExp\fR and \fBdead\fR. See see node `admin options\(aq in the CVS manual
+states, \fBExp\fR and \fBdead\fR. See `admin options\(aq in the CVS manual
for more information.
.SP
.IP "" 0
@@ -3179,7 +3295,7 @@ the files that are located in other directories.
.SH "rdiff options"
.SP
These standard options are supported by \fBrdiff\fR
-(see node `Common options\(aq in the CVS manual, for a complete description of
+(see node `Common options\(aq in the CVS manual for a complete description of
them):
.SP
.IP "" 0
@@ -3197,7 +3313,7 @@ recent revision (instead of ignoring the file).
\fB-k \fIkflag\fB\fR
.IP "" 2
Process keywords according to \fIkflag\fR. See
-see node `Keyword substitution\(aq in the CVS manual.
+`Keyword substitution\(aq in the CVS manual.
.SP
.IP "" 0
\fB-l\fR
@@ -3268,7 +3384,7 @@ easily be fixed with a command such as this:
.IP "" 2
$ cvs rdiff -c -r FOO1_2 -r FOO1_4 tc | \\
.IP "" 2
-$$ Mail -s \(aqThe patches you asked for\(aq foo@example.net
+> Mail -s \(aqThe patches you asked for\(aq foo@example.net
.PD
.IP "" 0
@@ -3341,9 +3457,9 @@ remain in your working directory.
\fBWARNING: The \fBrelease\fB command deletes
all directories and files recursively. This
has the very serious side-effect that any directory
-that you have created inside your checked-out sources,
-and not added to the repository (using the \fBadd\fB
-command; see node `Adding files\(aq in the CVS manual) will be silently deleted\(emeven
+created inside checked-out sources, and not added to
+the repository (using the \fBadd\fB command;
+see node `Adding files\(aq in the CVS manual) will be silently deleted\(emeven
if it is non-empty!\fR
.SP
.SH "release output"
@@ -3376,7 +3492,7 @@ this file will be lost.
The file has been removed from your private copy of the
sources, but has not yet been removed from the
repository, since you have not yet committed the
-removal. see node `commit\(aq in the CVS manual.
+removal. See `commit\(aq in the CVS manual.
.SP
.IP "" 0
\fBM \fIfile\fB\fR
@@ -3417,6 +3533,131 @@ $
.PD
.IP "" 0
.SP
+.SH "remove"
+.SS "Remove files from active use"
+.IX "remove (subcommand)"
+.SP
+.IP "\(bu" 2
+Synopsis: remove [-flR] [files...]
+.IP "\(bu" 2
+Requires: repository, working directory.
+.IP "\(bu" 2
+Changes: working directory.
+.SP
+The \fBremove\fR command is used to remove unwanted
+files from active use. The user normally deletes the
+files from the working directory prior to invocation
+of the \fBremove\fR command. Only the working
+directory is updated. Changes to the repository are
+not made until the \fBcommit\fR command is run.
+.SP
+The \fBremove\fR command does not delete files from
+from the repository. \fBcvs\fR keeps all historical
+data in the repository so that it is possible to
+reconstruct previous states of the projects under
+revision control.
+.SP
+To undo \fBcvs\fR \fBremove\fR or to resurrect files
+that were previously removed, see node `add\(aq in the CVS manual.
+.SP
+.SH "remove options"
+.SP
+These standard options are supported by \fBremove\fR
+(see node `Common options\(aq in the CVS manual for a complete description of
+them):
+.SP
+.IP "" 0
+\fB-l\fR
+.IP "" 2
+Local; run only in current working directory. See `Recursive behavior\(aq in the CVS manual.
+.SP
+.IP "" 0
+\fB-R\fR
+.IP "" 2
+Process directories recursively. See `Recursive behavior\(aq in the CVS manual.
+.SP
+.SP
+In addition, these options are also supported:
+.SP
+.IP "" 0
+\fB-f\fR
+.IP "" 2
+Note that this is not the standard behavior of
+the \fB-f\fR option as defined in `Common options\(aq in the CVS manual.
+.SP
+Delete files before removing them.
+.SP
+Entire directory hierarchies are easily removed
+using \fB-f\fR, but take note that it is not as
+easy to resurrect directory hierarchies as it is
+to remove them.
+.SP
+.SP
+.SH "remove examples"
+.SP
+.SS "Removing a file"
+.SP
+.PD 0
+.SP
+.IP "" 2
+$ cvs remove remove.me
+.IP "" 2
+cvs remove: file \`remove.me\(aq still in working directory
+.IP "" 2
+cvs remove: 1 file exists; remove it first
+.IP "" 2
+$ rm -f remove.me
+.IP "" 2
+$ cvs remove remove.me
+.IP "" 2
+cvs remove: scheduling \`remove.me\(aq for removal
+.IP "" 2
+cvs remove: use \(aqcvs commit\(aq to remove this file permanently
+.SP
+.IP "" 2
+$ ls remove.it
+.IP "" 2
+remove.it
+.IP "" 2
+$ cvs remove -f remove.it
+.IP "" 2
+cvs remove: scheduling \`remove.it\(aq for removal
+.IP "" 2
+cvs remove: use \(aqcvs commit\(aq to remove this file permanently
+
+.PD
+.IP "" 0
+.SP
+.SS "Removing entire directories"
+.SP
+.PD 0
+.IP "" 2
+$ tree -d a
+.IP "" 2
+a
+.IP "" 2
+|-- CVS
+.IP "" 2
+\`-- b
+.IP "" 2
+ \`-- CVS
+.SP
+.IP "" 2
+3 directories
+.IP "" 2
+$ cvs remove -f a
+.IP "" 2
+cvs remove: Removing a
+.IP "" 2
+cvs remove: Removing a/b
+.IP "" 2
+cvs remove: scheduling \`a/b/c\(aq for removal
+.IP "" 2
+cvs remove: use \(aqcvs commit\(aq to remove this file permanently
+
+.PD
+.IP "" 0
+.SP
.SH "update"
.SS "Bring work tree in sync with repository"
.IX "update (subcommand)"
@@ -3440,7 +3681,7 @@ since your last checkout or update.
.SH "update options"
.SP
These standard options are available with \fBupdate\fR
-(see node `Common options\(aq in the CVS manual, for a complete description of
+(see node `Common options\(aq in the CVS manual for a complete description of
them):
.SP
.IP "" 0
@@ -3448,7 +3689,7 @@ them):
.IP "" 2
Use the most recent revision no later than \fIdate\fR.
This option is sticky, and implies \fB-P\fR.
-See see node `Sticky tags\(aq in the CVS manual, for more information on sticky tags/dates.
+See `Sticky tags\(aq in the CVS manual for more information on sticky tags/dates.
.SP
.IP "" 0
\fB-f\fR
@@ -3462,22 +3703,22 @@ the file).
\fB-k \fIkflag\fB\fR
.IP "" 2
Process keywords according to \fIkflag\fR. See
-see node `Keyword substitution\(aq in the CVS manual.
+`Keyword substitution\(aq in the CVS manual.
This option is sticky; future updates of
this file in this working directory will use the same
\fIkflag\fR. The \fBstatus\fR command can be viewed
-to see the sticky options. See see node `Invoking CVS\(aq in the CVS manual, for
+to see the sticky options. See `Invoking CVS\(aq in the CVS manual for
more information on the \fBstatus\fR command.
.SP
.IP "" 0
\fB-l\fR
.IP "" 2
-Local; run only in current working directory. see node `Recursive behavior\(aq in the CVS manual.
+Local; run only in current working directory. See `Recursive behavior\(aq in the CVS manual.
.SP
.IP "" 0
\fB-P\fR
.IP "" 2
-Prune empty directories. See see node `Moving directories\(aq in the CVS manual.
+Prune empty directories. See `Moving directories\(aq in the CVS manual.
.SP
.IP "" 0
\fB-p\fR
@@ -3487,7 +3728,7 @@ Pipe files to the standard output.
.IP "" 0
\fB-R\fR
.IP "" 2
-Update directories recursively (default). see node `Recursive
+Update directories recursively (default). See `Recursive
behavior\(aq in the CVS manual.
.SP
.IP "" 0
@@ -3495,7 +3736,7 @@ behavior\(aq in the CVS manual.
.IP "" 2
Retrieve revision/tag \fIrev\fR. This option is sticky,
and implies \fB-P\fR.
-See see node `Sticky tags\(aq in the CVS manual, for more information on sticky tags/dates.
+See `Sticky tags\(aq in the CVS manual, for more information on sticky tags/dates.
.SP
These special options are also available with
\fBupdate\fR.
@@ -3505,7 +3746,7 @@ These special options are also available with
.IP "" 2
Reset any sticky tags, dates, or \fB-k\fR options.
Does not reset sticky \fB-k\fR options on modified files.
-See see node `Sticky tags\(aq in the CVS manual, for more information on sticky tags/dates.
+See `Sticky tags\(aq in the CVS manual for more information on sticky tags/dates.
.SP
.IP "" 0
\fB-C\fR
@@ -3539,7 +3780,7 @@ Ignore files whose names match \fIname\fR (in your
working directory) during the update. You can specify
\fB-I\fR more than once on the command line to specify
several files to ignore. Use \fB-I !\fR to avoid
-ignoring any files at all. see node `cvsignore\(aq in the CVS manual, for other
+ignoring any files at all. See `cvsignore\(aq in the CVS manual for other
ways to make \fBcvs\fR ignore some files.
.SP
.IP "" 0
@@ -3550,7 +3791,7 @@ update. You can use this option repeatedly.
.SP
\fIspec\fR can be a file name pattern of the same type
that you can specify in the \fB.cvswrappers\fR
-file. see node `Wrappers\(aq in the CVS manual.
+file. See `Wrappers\(aq in the CVS manual.
.SP
.IP "" 0
\fB-j\fIrevision\fB\fR
@@ -3570,7 +3811,7 @@ the revision specified in the \fB-j\fR option.
Note that using a single \fB-j \fItagname\fB\fR option rather than
\fB-j \fIbranchname\fB\fR to merge changes from a branch will
often not remove files which were removed on the branch.
-see node `Merging adds and removals\(aq in the CVS manual, for more.
+See `Merging adds and removals\(aq in the CVS manual for more information.
.SP
In addition, each \fB-j\fR option can contain an optional
date specification which, when used with branches, can
@@ -3579,7 +3820,7 @@ date. An optional date is specified by adding a colon
(:) to the tag:
\fB-j\fISymbolic_Tag\fB:\fIDate_Specifier\fB\fR.
.SP
-see node `Branching and merging\(aq in the CVS manual.
+See `Branching and merging\(aq in the CVS manual.
.SP
.SP
.SH "update output"
@@ -3651,7 +3892,7 @@ is also in your working directory, with the name
\fB.#\fIfile\fB.\fIrevision\fB\fR where \fIrevision\fR
is the revision that your modified file started
from. Resolve the conflict as described in
-see node `Conflicts example\(aq in the CVS manual.
+`Conflicts example\(aq in the CVS manual.
(Note that some systems automatically purge
files that begin with \fB.#\fR if they have not been
accessed for a few days. If you intend to keep a copy
diff --git a/contrib/cvs/doc/cvs.texinfo b/contrib/cvs/doc/cvs.texinfo
index 6c7afce..6b1840a 100644
--- a/contrib/cvs/doc/cvs.texinfo
+++ b/contrib/cvs/doc/cvs.texinfo
@@ -4,14 +4,14 @@
@macro copyleftnotice
@noindent
Copyright @copyright{} 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
@multitable @columnfractions .12 .88
@item Portions
-@item @tab Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005
- Derek R. Price,
-@item @tab Copyright @copyright{} 2002, 2003, 2004, 2005
+@item @tab Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2007 Derek R. Price,
+@item @tab Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007
Ximbiot @url{http://ximbiot.com},
@item @tab Copyright @copyright{} 1992, 1993, 1999 Signum Support AB,
@item @tab and Copyright @copyright{} others.
@@ -338,7 +338,7 @@ not address the issues involved.
Of course, you should place the tools created to
support such a build system (scripts, @file{Makefile}s,
-etc) under @sc{cvs}.
+etc.) under @sc{cvs}.
Figuring out what files need to be rebuilt when
something changes is, again, something to be handled
@@ -374,7 +374,7 @@ within a single file, or across a whole collection of
files, will logically conflict with one another. Its
concept of a @dfn{conflict} is purely textual, arising
when two changes to the same base file are near enough
-to spook the merge (i.e. @code{diff3}) command.
+to spook the merge (i.e., @code{diff3}) command.
@sc{cvs} does not claim to help at all in figuring out
non-textual or distributed conflicts in program logic.
@@ -394,7 +394,7 @@ peers.
Change control refers to a number of things. First of
all it can mean @dfn{bug-tracking}, that is being able
to keep a database of reported bugs and the status of
-each one (is it fixed? in what release? has the bug
+each one (Is it fixed? In what release? Has the bug
submitter agreed that it is fixed?). For interfacing
@sc{cvs} to an external bug-tracking system, see the
@file{rcsinfo} and @file{verifymsg} files
@@ -1060,7 +1060,7 @@ for new directories that are added inside the tree, but
you must fix the permissions manually when a new
directory should have different permissions than its
parent directory. If you set the @code{CVSUMASK}
-environment variable that will control the file
+environment variable, that will control the file
permissions which @sc{cvs} uses in creating directories
and/or files in the repository. @code{CVSUMASK} does
not affect the file permissions in the working
@@ -2183,13 +2183,24 @@ For information on disk space requirements, see
@ref{Creating a repository}.
@node Connecting via rsh
-@subsection Connecting with rsh
+@subsection Connecting with rsh or ssh
+
+@cindex ssh
+@sc{cvs} may use the @samp{ssh} protocol to perform
+these operations, so the remote user host needs to have
+a either an agent like @code{ssh-agent} to hold
+credentials or a @file{.shosts} file which grants
+access to the local user. Note that the program that
+@sc{cvs} uses for this purpose may be specified using
+the @file{--with-ssh} flag to configure.
@cindex rsh
@sc{cvs} uses the @samp{rsh} protocol to perform these
operations, so the remote user host needs to have a
@file{.rhosts} file which grants access to the local
-user.
+user. Note that the program that @sc{cvs} uses for this
+purpose may be specified using the @file{--with-rsh}
+flag to configure.
For example, suppose you are the user @samp{mozart} on
the local machine @samp{toe.example.com}, and the
@@ -2208,6 +2219,13 @@ Then test that @samp{rsh} is working with
rsh -l bach faun.example.org 'echo $PATH'
@end example
+@noindent
+To test that @samp{ssh} is working use
+
+@example
+ssh -l bach faun.example.org 'echo $PATH'
+@end example
+
@cindex CVS_SERVER, environment variable
Next you have to make sure that @code{rsh} will be able
to find the server. Make sure that the path which
@@ -2229,14 +2247,21 @@ There is no need to edit @file{inetd.conf} or start a
@cindex :server:, setting up
@cindex :ext:, setting up
+@cindex :extssh:, setting up
@cindex Kerberos, using kerberized rsh
@cindex SSH (rsh replacement)
@cindex rsh replacements (Kerberized, SSH, &c)
-There are two access methods that you use in @code{CVSROOT}
-for rsh. @code{:server:} specifies an internal rsh
+There are three access methods that you use in @code{CVSROOT}
+for rsh or ssh. @code{:server:} specifies an internal rsh
client, which is supported only by some @sc{cvs} ports.
+@code{:extssh:} specifies an external ssh program. By
+default this is @code{ssh} (unless otherwise specified
+by the @file{--with-ssh} flag to configure) but you may set the
+@code{CVS_SSH} environment variable to invoke another
+program or wrapper script.
@code{:ext:} specifies an external rsh program. By
-default this is @code{rsh} but you may set the
+default this is @code{rsh} (unless otherwise specified
+by the @file{--with-rsh} flag to configure) but you may set the
@code{CVS_RSH} environment variable to invoke another
program which can access the remote server (for
example, @code{remsh} on HP-UX 9 because @code{rsh} is
@@ -2255,8 +2280,8 @@ to be inapplicable; consult the documentation for your rsh
replacement.
@c FIXME: there should be a way to specify the
@c program in CVSROOT, not CVS_RSH, so that one can use
-@c different ones for different roots. e.g. ":ext;rsh=remsh:"
-@c instead of ":ext:".
+@c different ones for different roots. e.g.
+@c ":ext;CVS_RSH=remsh:" instead of ":ext:".
@c See also the comment in src/client.c for rationale
@c concerning "rsh" being the default and never
@c "remsh".
@@ -3541,7 +3566,7 @@ tags; see @ref{Sticky tags}.
When you tag more than one file with the same tag you
can think about the tag as "a curve drawn through a
-matrix of filename vs. revision number." Say we have 5
+matrix of filename vs.@: revision number." Say we have 5
files with the following revisions:
@example
@@ -3673,7 +3698,7 @@ place. Therefore, one might delete, move, or rename a
tag.
@noindent
-@strong{WARNING: the commands in this section are
+@strong{WARNING: The commands in this section are
dangerous; they permanently discard historical
information and it can be difficult or impossible to
recover from errors. If you are a @sc{cvs}
@@ -3703,7 +3728,7 @@ of branch tags. In that case, any non-branch tags encountered will
trigger warnings and will not be deleted.
@noindent
-@strong{WARNING: Moving branch tags is very dangerous! If you think
+@strong{WARNING: Moving branch tags is very dangerous! If you think
you need the @code{-B} option, think again and ask your @sc{cvs}
administrator about it (if that isn't you). There is almost certainly
another way to accomplish what you want to accomplish.}
@@ -3734,7 +3759,7 @@ In that case, non-branch tags encountered with the given
name are ignored with a warning message.
@noindent
-@strong{WARNING: Moving branch tags is very dangerous! If you think you
+@strong{WARNING: Moving branch tags is very dangerous! If you think you
need the @code{-B} option, think again and ask your @sc{cvs}
administrator about it (if that isn't you). There is almost certainly
another way to accomplish what you want to accomplish.}
@@ -4768,7 +4793,7 @@ directory.
@c changing right away.
Unlike most other commands, the @code{add} command is
-not recursive. You have to expcicitly name files and
+not recursive. You have to explicitly name files and
directories that you wish to add to the repository.
However, each directory will need to be added
separately before you will be able to add new files
@@ -5445,8 +5470,8 @@ To log tags, use the @file{taginfo} file (@pxref{taginfo}).
@c FIXME: What is difference between doing it in the
@c modules file and using loginfo/taginfo? Why should
@c user use one or the other?
-To log commits, checkouts, exports, and tags,
-respectively, you can also use the @samp{-i},
+To log checkouts, exports, and tags,
+respectively, you can also use the
@samp{-o}, @samp{-e}, and @samp{-t} options in the
modules file. For a more flexible way of giving
notifications to various users, which requires less in
@@ -6202,9 +6227,8 @@ See the documentation for pcl-cvs.
@cindex Mail, automatic mail on commit
It is often useful to inform others when you commit a
-new revision of a file. The @samp{-i} option of the
-@file{modules} file, or the @file{loginfo} file, can be
-used to automate this process. @xref{modules}.
+new revision of a file. The @file{loginfo} file can be
+used to automate this process.
@xref{loginfo}. You can use these features of @sc{cvs}
to, for instance, instruct @sc{cvs} to mail a
message to all developers, or post a message to a local
@@ -7234,7 +7258,7 @@ $ cd wdiff-0.05
$ cvs import -m "Import of FSF v. 0.05" fsf/wdiff FSF_DIST WDIFF_0_05
@end example
-@strong{WARNING: If you use a release tag that already exists in one of the
+@strong{WARNING: If you use a release tag that already exists in one of the
repository archives, files removed by an import may not be detected.}
For files that have not been modified locally, the newly created
@@ -7608,6 +7632,7 @@ reference to @sc{cvs} commands, @pxref{Invoking CVS}).
* ~/.cvsrc:: Default options with the ~/.cvsrc file
* Global options:: Options you give to the left of cvs_command
* Common options:: Options you give to the right of cvs_command
+* add:: Add files and directories to the repository
* admin:: Administration
* annotate:: What revision modified each line of a file?
* checkout:: Checkout sources for editing
@@ -7619,6 +7644,7 @@ reference to @sc{cvs} commands, @pxref{Invoking CVS}).
* log:: Show log messages for files
* rdiff:: 'patch' format diffs between releases
* release:: Indicate that a directory is no longer in use
+* remove:: Remove files from active development
* update:: Bring work tree in sync with repository
@end menu
@@ -7819,7 +7845,7 @@ vice versa.)
@item -d @var{cvs_root_directory}
Use @var{cvs_root_directory} as the root directory
pathname of the repository. Overrides the setting of
-the @code{$CVSROOT} environment variable. @xref{Repository}.
+the @code{$CVSROOT} environment variable. See @ref{Repository}.
@cindex EDITOR, overriding
@cindex Overriding EDITOR
@@ -8160,7 +8186,7 @@ those commands. See @ref{commit options}, and
@item -k @var{kflag}
Alter the default processing of keywords.
-@xref{Keyword substitution}, for the meaning of
+See @ref{Keyword substitution}, for the meaning of
@var{kflag}. Your @var{kflag} specification is
@dfn{sticky} when you use it to create a private copy
of a source file; that is, when you use this option
@@ -8290,6 +8316,98 @@ and @code{update}.
@end table
@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+@node add
+@appendixsec add---Add files and directories to the repository
+@cindex add (subcommand)
+
+@itemize @bullet
+@item
+Synopsis: add [-k rcs-kflag] [-m message] files...
+@item
+Requires: repository, working directory.
+@item
+Changes: repository, working directory.
+@end itemize
+
+The @code{add} command is used to present new files
+and directories for addition into the @sc{cvs}
+repository. When @code{add} is used on a directory,
+a new directory is created in the repository
+immediately. When used on a file, only the working
+directory is updated. Changes to the repository are
+not made until the @code{commit} command is used on
+the newly added file.
+
+The @code{add} command also resurrects files that
+have been previously removed. This can be done
+before or after the @code{commit} command is used
+to finalize the removal of files. Resurrected files
+are restored into the working directory at the time
+the @code{add} command is executed.
+
+@menu
+* add options:: add options
+* add examples:: add examples
+@end menu
+
+@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
+@node add options
+@appendixsubsec add options
+
+These standard options are supported by @code{add}
+(@pxref{Common options}, for a complete description of
+them):
+
+@table @code
+@item -k @var{kflag}
+Process keywords according to @var{kflag}. See
+@ref{Keyword substitution}.
+This option is sticky; future updates of
+this file in this working directory will use the same
+@var{kflag}. The @code{status} command can be viewed
+to see the sticky options. For more information on
+the @code{status} command, @xref{Invoking CVS}.
+
+@item -m @var{message}
+Use @var{message} as the log message, instead of
+invoking an editor.
+@end table
+
+@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
+@node add examples
+@appendixsubsec add examples
+
+@appendixsubsubsec Adding a directory
+
+@example
+$ mkdir doc
+$ cvs add doc
+Directory /path/to/repository/doc added to the repository
+@end example
+
+@appendixsubsubsec Adding a file
+
+@example
+
+$ >TODO
+$ cvs add TODO
+cvs add: scheduling file `TODO' for addition
+cvs add: use 'cvs commit' to add this file permanently
+@end example
+
+@appendixsubsubsec Undoing a @code{remove} command
+
+@example
+$ rm -f makefile
+$ cvs remove makefile
+cvs remove: scheduling `makefile' for removal
+cvs remove: use 'cvs commit' to remove this file permanently
+$ cvs add makefile
+U makefile
+cvs add: makefile, version 1.2, resurrected
+@end example
+
+@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@node admin
@appendixsec admin---Administration
@cindex Admin (subcommand)
@@ -8367,7 +8485,7 @@ There can be no space between @samp{-b} and its argument.
Sets the comment leader to @var{string}. The comment
leader is not used by current versions of @sc{cvs} or
@sc{rcs} 5.7. Therefore, you can almost surely not
-worry about it. @xref{Keyword substitution}.
+worry about it. See @ref{Keyword substitution}.
@item -e[@var{logins}]
Might not work together with @sc{cvs}. Erase the login
@@ -8390,7 +8508,7 @@ new @sc{rcs} file, without depositing a revision. With
@item -k@var{subst}
Set the default keyword
-substitution to @var{subst}. @xref{Keyword
+substitution to @var{subst}. See @ref{Keyword
substitution}. Giving an explicit @samp{-k} option to
@code{cvs update}, @code{cvs export}, or @code{cvs
checkout} overrides this default.
@@ -8554,7 +8672,7 @@ change to be like the @samp{::} case.
Due to the way @sc{cvs} handles branches @var{rev}
cannot be specified symbolically if it is a branch.
-@xref{Magic branch numbers}, for an explanation.
+See @ref{Magic branch numbers} for an explanation.
@c FIXME: is this still true? I suspect not.
Make sure that no-one has checked out a copy of the
@@ -8660,6 +8778,8 @@ Synopsis: annotate [options] files@dots{}
@item
Requires: repository.
@item
+Synonym: blame
+@item
Changes: nothing.
@end itemize
@@ -8677,7 +8797,7 @@ modification for each line.
@appendixsubsec annotate options
These standard options are supported by @code{annotate}
-(@pxref{Common options}, for a complete description of
+(@pxref{Common options} for a complete description of
them):
@table @code
@@ -8762,7 +8882,7 @@ symbolic names for some
collection of source directories and files, or paths to
directories or files in the repository. The symbolic
names are defined in the @samp{modules} file.
-@xref{modules}.
+See @ref{modules}.
@c Needs an example, particularly of the non-"modules"
@c case but probably of both.
@@ -8812,8 +8932,8 @@ top level directory (where you originally ran
forget to change your directory to the top level
directory.
-For the output produced by the @code{checkout} command
-see @ref{update output}.
+For the output produced by the @code{checkout} command,
+@xref{update output}.
@menu
* checkout options:: checkout options
@@ -8825,14 +8945,14 @@ see @ref{update output}.
@appendixsubsec checkout options
These standard options are supported by @code{checkout}
-(@pxref{Common options}, for a complete description of
+(@pxref{Common options} for a complete description of
them):
@table @code
@item -D @var{date}
Use the most recent revision no later than @var{date}.
This option is sticky, and implies @samp{-P}. See
-@ref{Sticky tags}, for more information on sticky tags/dates.
+@ref{Sticky tags} for more information on sticky tags/dates.
@item -f
Only useful with the @samp{-D @var{date}} or @samp{-r
@@ -8846,7 +8966,7 @@ Process keywords according to @var{kflag}. See
This option is sticky; future updates of
this file in this working directory will use the same
@var{kflag}. The @code{status} command can be viewed
-to see the sticky options. See @ref{Invoking CVS}, for
+to see the sticky options. See @ref{Invoking CVS} for
more information on the @code{status} command.
@item -l
@@ -8878,7 +8998,7 @@ options with @code{checkout}:
@item -A
Reset any sticky tags, dates, or @samp{-k} options.
Does not reset sticky @samp{-k} options on modified files.
-See @ref{Sticky tags}, for more information on sticky tags/dates.
+See @ref{Sticky tags} for more information on sticky tags/dates.
@item -c
Copy the module file, sorted, to the standard output,
@@ -8935,7 +9055,7 @@ date. An optional date is specified by adding a colon
(:) to the tag:
@samp{-j@var{Symbolic_Tag}:@var{Date_Specifier}}.
-@xref{Branching and merging}.
+See @ref{Branching and merging}.
@item -N
Only useful together with @samp{-d @var{dir}}. With
@@ -8946,7 +9066,7 @@ discussion.
@item -s
Like @samp{-c}, but include the status of all modules,
-and sort it by the status string. @xref{modules}, for
+and sort it by the status string. See @ref{modules}, for
info about the @samp{-s} option that is used inside the
modules file to set the module status.
@end table
@@ -9013,7 +9133,7 @@ enter a log message that will be written to one or more
logging programs (@pxref{modules}, and @pxref{loginfo})
and placed in the @sc{rcs} file inside the
repository. This log message can be retrieved with the
-@code{log} command; see @ref{log}. You can specify the
+@code{log} command; @xref{log}. You can specify the
log message on the command line with the @samp{-m
@var{message}} option, and thus avoid the editor invocation,
or use the @samp{-F @var{file}} option to specify
@@ -9029,7 +9149,7 @@ that the argument file contains the log message.
@appendixsubsec commit options
These standard options are supported by @code{commit}
-(@pxref{Common options}, for a complete description of
+(@pxref{Common options} for a complete description of
them):
@table @code
@@ -9189,7 +9309,7 @@ compared. If any directories are given, all files
under them will be compared.
The exit status for diff is different than for other
-@sc{cvs} commands; for details @ref{Exit status}.
+@sc{cvs} commands; for details @xref{Exit status}.
@menu
* diff options:: diff options
@@ -9201,7 +9321,7 @@ The exit status for diff is different than for other
@appendixsubsec diff options
These standard options are supported by @code{diff}
-(@pxref{Common options}, for a complete description of
+(@pxref{Common options} for a complete description of
them):
@table @code
@@ -9296,7 +9416,7 @@ context.
@item --changed-group-format=@var{format}
Use @var{format} to output a line group containing differing lines from
-both files in if-then-else format. @xref{Line group formats}.
+both files in if-then-else format. See @ref{Line group formats}.
@item -d
Change the algorithm to perhaps find a smaller set of changes. This makes
@@ -9374,7 +9494,7 @@ Print only the left column of two common lines in side by side format.
@item --line-format=@var{format}
Use @var{format} to output all input lines in if-then-else format.
-@xref{Line formats}.
+See @ref{Line formats}.
@item --minimal
Change the algorithm to perhaps find a smaller set of changes. This
@@ -9391,19 +9511,19 @@ treat it as present but empty in the other directory.
@item --new-group-format=@var{format}
Use @var{format} to output a group of lines taken from just the second
-file in if-then-else format. @xref{Line group formats}.
+file in if-then-else format. See @ref{Line group formats}.
@item --new-line-format=@var{format}
Use @var{format} to output a line taken from just the second file in
-if-then-else format. @xref{Line formats}.
+if-then-else format. See @ref{Line formats}.
@item --old-group-format=@var{format}
Use @var{format} to output a group of lines taken from just the first
-file in if-then-else format. @xref{Line group formats}.
+file in if-then-else format. See @ref{Line group formats}.
@item --old-line-format=@var{format}
Use @var{format} to output a line taken from just the first file in
-if-then-else format. @xref{Line formats}.
+if-then-else format. See @ref{Line formats}.
@item -p
Show which C function each change is in.
@@ -9871,7 +9991,7 @@ In addition, these options (that are common to
@item -d @var{dir}
Create a directory called @var{dir} for the working
files, instead of using the module name.
-@xref{checkout options}, for complete details on how
+See @ref{checkout options} for complete details on how
@sc{cvs} handles this flag.
@item -k @var{subst}
@@ -9879,7 +9999,7 @@ Set keyword expansion mode (@pxref{Substitution modes}).
@item -N
Only useful together with @samp{-d @var{dir}}.
-@xref{checkout options}, for complete details on how
+See @ref{checkout options} for complete details on how
@sc{cvs} handles this flag.
@end table
@@ -10097,7 +10217,7 @@ distribution from an outside source (e.g., a source
vendor) into your source repository directory. You can
use this command both for initial creation of a
repository, and for wholesale updates to the module
-from the outside source. @xref{Tracking sources}, for
+from the outside source. See @ref{Tracking sources} for
a discussion on this subject.
The @var{repository} argument gives a directory name
@@ -10114,14 +10234,14 @@ you to do.
If @sc{cvs} decides a file should be ignored
(@pxref{cvsignore}), it does not import it and prints
-@samp{I } followed by the filename (@pxref{import output}, for a
+@samp{I } followed by the filename (@pxref{import output} for a
complete description of the output).
If the file @file{$CVSROOT/CVSROOT/cvswrappers} exists,
any file whose names match the specifications in that
file will be treated as packages and the appropriate
filtering will be performed on the file/directory
-before being imported. @xref{Wrappers}.
+before being imported. See @ref{Wrappers}.
The outside source is saved in a first-level
branch, by default 1.1.1. Updates are leaves of this
@@ -10160,7 +10280,7 @@ directory (@pxref{Getting the source}).
@appendixsubsec import options
This standard option is supported by @code{import}
-(@pxref{Common options}, for a complete description):
+(@pxref{Common options} for a complete description):
@table @code
@item -m @var{message}
@@ -10178,7 +10298,7 @@ See @ref{Multiple vendor branches}.
Indicate the keyword expansion mode desired. This
setting will apply to all files created during the
import, but not to any files that previously existed in
-the repository. See @ref{Substitution modes}, for a
+the repository. See @ref{Substitution modes} for a
list of valid @samp{-k} settings.
@item -I @var{name}
@@ -10189,7 +10309,7 @@ default), specify `-I !'.
@var{name} can be a file name pattern of the same type
that you can specify in the @file{.cvsignore} file.
-@xref{cvsignore}.
+See @ref{cvsignore}.
@c -- Is this really true?
@item -W @var{spec}
@@ -10306,10 +10426,11 @@ with the normal use inside @sc{cvs} (@pxref{Common options}).}
By default, @code{log} prints all information that is
available. All other options restrict the output. Note that the revision
-selection options (@code{-d}, @code{-r}, @code{-s}, and @code{-w}) have no
+selection options (@code{-b}, @code{-d}, @code{-r}, @code{-s}, and @code{-w})
+have no
effect, other than possibly causing a search for files in Attic directories,
when used in conjunction with the options that restrict the output to only
-@code{log} header fields (@code{-b}, @code{-h}, @code{-R}, and @code{-t})
+@code{log} header fields (@code{-h}, @code{-R}, and @code{-t})
unless the @code{-S} option is also specified.
@table @code
@@ -10369,6 +10490,12 @@ tags, so rather than "more"'ing over 3 pages of tag
information, the log information is presented without
tags at all.
+@item -n
+Print the list of tags for this file. This option can
+be very useful when your @file{.cvsrc} file has a
+@samp{log -N} entry as a way to get a full list of all
+of the tags.
+
@item -R
Print only the name of the @sc{rcs} file.
@@ -10515,7 +10642,7 @@ the files that are located in other directories.
@appendixsubsec rdiff options
These standard options are supported by @code{rdiff}
-(@pxref{Common options}, for a complete description of
+(@pxref{Common options} for a complete description of
them):
@table @code
@@ -10585,7 +10712,7 @@ easily be fixed with a command such as this:
@example
$ cvs rdiff -c -r FOO1_2 -r FOO1_4 tc | \
-$$ Mail -s 'The patches you asked for' foo@@example.net
+> Mail -s 'The patches you asked for' foo@@example.net
@end example
Suppose you have made release 1.3, and forked a branch
@@ -10658,9 +10785,9 @@ remain in your working directory.
@strong{WARNING: The @code{release} command deletes
all directories and files recursively. This
has the very serious side-effect that any directory
-that you have created inside your checked-out sources,
-and not added to the repository (using the @code{add}
-command; @pxref{Adding files}) will be silently deleted---even
+created inside checked-out sources, and not added to
+the repository (using the @code{add} command;
+@pxref{Adding files}) will be silently deleted---even
if it is non-empty!}
@end table
@@ -10689,7 +10816,7 @@ this file will be lost.
The file has been removed from your private copy of the
sources, but has not yet been removed from the
repository, since you have not yet committed the
-removal. @xref{commit}.
+removal. See @ref{commit}.
@item M @var{file}
The file is modified in your working directory. There
@@ -10721,6 +10848,112 @@ $
@end example
@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+@node remove
+@appendixsec remove---Remove files from active use
+@cindex remove (subcommand)
+
+@itemize @bullet
+@item
+Synopsis: remove [-flR] [files...]
+@item
+Requires: repository, working directory.
+@item
+Changes: working directory.
+@end itemize
+
+The @code{remove} command is used to remove unwanted
+files from active use. The user normally deletes the
+files from the working directory prior to invocation
+of the @code{remove} command. Only the working
+directory is updated. Changes to the repository are
+not made until the @code{commit} command is run.
+
+The @code{remove} command does not delete files from
+from the repository. @sc{cvs} keeps all historical
+data in the repository so that it is possible to
+reconstruct previous states of the projects under
+revision control.
+
+To undo @sc{cvs} @code{remove} or to resurrect files
+that were previously removed, @xref{add}.
+
+@menu
+* remove options:: remove options
+* remove examples:: remove examples
+@end menu
+
+@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
+@node remove options
+@appendixsubsec remove options
+
+These standard options are supported by @code{remove}
+(@pxref{Common options} for a complete description of
+them):
+
+@table @code
+@item -l
+Local; run only in current working directory. See @ref{Recursive behavior}.
+
+@item -R
+Process directories recursively. See @ref{Recursive behavior}.
+
+@end table
+
+In addition, these options are also supported:
+
+@table @code
+@item -f
+Note that this is not the standard behavior of
+the @samp{-f} option as defined in @ref{Common options}.
+
+Delete files before removing them.
+
+Entire directory hierarchies are easily removed
+using @samp{-f}, but take note that it is not as
+easy to resurrect directory hierarchies as it is
+to remove them.
+
+@end table
+
+@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
+@node remove examples
+@appendixsubsec remove examples
+
+@appendixsubsubsec Removing a file
+
+@example
+$ cvs remove remove.me
+cvs remove: file `remove.me' still in working directory
+cvs remove: 1 file exists; remove it first
+$ rm -f remove.me
+$ cvs remove remove.me
+cvs remove: scheduling `remove.me' for removal
+cvs remove: use 'cvs commit' to remove this file permanently
+
+$ ls remove.it
+remove.it
+$ cvs remove -f remove.it
+cvs remove: scheduling `remove.it' for removal
+cvs remove: use 'cvs commit' to remove this file permanently
+@end example
+
+@appendixsubsubsec Removing entire directories
+@example
+$ tree -d a
+a
+|-- CVS
+`-- b
+ `-- CVS
+
+3 directories
+$ cvs remove -f a
+cvs remove: Removing a
+cvs remove: Removing a/b
+cvs remove: scheduling `a/b/c' for removal
+cvs remove: use 'cvs commit' to remove this file permanently
+@end example
+
+@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@node update
@appendixsec update---Bring work tree in sync with repository
@cindex update (subcommand)
@@ -10753,14 +10986,14 @@ since your last checkout or update.
@appendixsubsec update options
These standard options are available with @code{update}
-(@pxref{Common options}, for a complete description of
+(@pxref{Common options} for a complete description of
them):
@table @code
@item -D date
Use the most recent revision no later than @var{date}.
This option is sticky, and implies @samp{-P}.
-See @ref{Sticky tags}, for more information on sticky tags/dates.
+See @ref{Sticky tags} for more information on sticky tags/dates.
@item -f
Only useful with the @samp{-D @var{date}} or @samp{-r
@@ -10774,11 +11007,11 @@ Process keywords according to @var{kflag}. See
This option is sticky; future updates of
this file in this working directory will use the same
@var{kflag}. The @code{status} command can be viewed
-to see the sticky options. See @ref{Invoking CVS}, for
+to see the sticky options. See @ref{Invoking CVS} for
more information on the @code{status} command.
@item -l
-Local; run only in current working directory. @xref{Recursive behavior}.
+Local; run only in current working directory. See @ref{Recursive behavior}.
@item -P
Prune empty directories. See @ref{Moving directories}.
@@ -10787,7 +11020,7 @@ Prune empty directories. See @ref{Moving directories}.
Pipe files to the standard output.
@item -R
-Update directories recursively (default). @xref{Recursive
+Update directories recursively (default). See @ref{Recursive
behavior}.
@item -r rev
@@ -10804,7 +11037,7 @@ These special options are also available with
@item -A
Reset any sticky tags, dates, or @samp{-k} options.
Does not reset sticky @samp{-k} options on modified files.
-See @ref{Sticky tags}, for more information on sticky tags/dates.
+See @ref{Sticky tags} for more information on sticky tags/dates.
@item -C
Overwrite locally modified files with clean copies from
@@ -10832,7 +11065,7 @@ Ignore files whose names match @var{name} (in your
working directory) during the update. You can specify
@samp{-I} more than once on the command line to specify
several files to ignore. Use @samp{-I !} to avoid
-ignoring any files at all. @xref{cvsignore}, for other
+ignoring any files at all. See @ref{cvsignore} for other
ways to make @sc{cvs} ignore some files.
@item -W@var{spec}
@@ -10841,7 +11074,7 @@ update. You can use this option repeatedly.
@var{spec} can be a file name pattern of the same type
that you can specify in the @file{.cvswrappers}
-file. @xref{Wrappers}.
+file. See @ref{Wrappers}.
@item -j@var{revision}
With two @samp{-j} options, merge changes from the
@@ -10859,7 +11092,7 @@ the revision specified in the @samp{-j} option.
Note that using a single @samp{-j @var{tagname}} option rather than
@samp{-j @var{branchname}} to merge changes from a branch will
often not remove files which were removed on the branch.
-@xref{Merging adds and removals}, for more.
+See @ref{Merging adds and removals} for more information.
In addition, each @samp{-j} option can contain an optional
date specification which, when used with branches, can
@@ -10868,7 +11101,7 @@ date. An optional date is specified by adding a colon
(:) to the tag:
@samp{-j@var{Symbolic_Tag}:@var{Date_Specifier}}.
-@xref{Branching and merging}.
+See @ref{Branching and merging}.
@end table
@@ -12242,7 +12475,7 @@ If using remote access methods (pserver, ext, etc.),
@sc{cvs} will execute this program on the server from a temporary
directory. The path is searched for this program.
-If using ``local access'' (on a local or remote NFS file system, i.e.
+If using ``local access'' (on a local or remote NFS file system, i.e.,
repository set just to a path),
the program will be executed from the newly checked-out tree, if
found there, or alternatively searched for in the path if not.
@@ -12283,7 +12516,7 @@ two versions of the files, and require the user using
mechanisms outside @sc{cvs}, to insert any necessary
changes.
-@strong{WARNING: do not use @code{COPY} with
+@strong{WARNING: Do not use @code{COPY} with
@sc{cvs} 1.9 or earlier - such versions of @sc{cvs} will
copy one version of your file over the other, wiping
out the previous contents.}
@@ -13596,6 +13829,20 @@ CPU intensive but is not recommended for use with large repositories}
@xref{verifymsg}, for more information on how verifymsg
may be used.
+
+@cindex IgnoreUnknownConfigKeys, in CVSROOT/config
+@item IgnoreUnknownConfigKeys=@var{value}
+If @var{value} is @samp{yes}, then @sc{cvs} should
+ignore any keywords in @file{CVSROOT/config} which it
+does not recognize. This option is intended primarily
+for transitions between versions of @sc{cvs} which
+support more configuration options in an environment
+where a read-only mirror of the current @sc{cvs} server
+may be maintained by someone else who is not yet ready
+to upgrade to the same version. It is recommended that
+this option be used only for a short time so that
+problems with the @file{CVSROOT/config} file will be
+found quickly. The default is @samp{no}.
@end table
@c ---------------------------------------------------------------------
@@ -13683,6 +13930,12 @@ Specifies the external program which @sc{cvs} connects with,
when @code{:ext:} access method is specified.
@pxref{Connecting via rsh}.
+@cindex CVS_SSH, environment variable
+@item $CVS_SSH
+Specifies the external program which @sc{cvs} connects with,
+when @code{:extssh:} access method is specified.
+@pxref{Connecting via rsh}.
+
@item $CVS_SERVER
Used in client-server mode when accessing a remote
repository using @sc{rsh}. It specifies the name of
@@ -14077,7 +14330,7 @@ cause, please let us know as described in @ref{BUGS}.
@item end of file from server (consult above messages if any)
The most common cause for this message is if you are
-using an external @code{rsh} program and it exited with
+using an external @code{rsh} or @code{ssh} program and it exited with
an error. In this case the @code{rsh} program should
have printed a message, which will appear before the
above message. For more information on setting up a
@@ -14546,13 +14799,14 @@ fee. One such company is:
@cindex Ximbiot
@cindex Support, getting CVS support
@example
-Ximbiot
-319 S. River St.
-Harrisburg, PA 17104-1657
+Ximbiot LLC
+Suite 230
+200 Diversion St.
+Rochester Hills, MI 48307-6636
USA
Email: info@@ximbiot.com
-Phone: (717) 579-6168
-Fax: (717) 234-3125
+Phone: (248) 835-1260
+Fax: (248) 835-1263
@url{http://ximbiot.com/}
@end example
diff --git a/contrib/cvs/doc/cvsclient.texi b/contrib/cvs/doc/cvsclient.texi
index b6123ae..b727a32 100644
--- a/contrib/cvs/doc/cvsclient.texi
+++ b/contrib/cvs/doc/cvsclient.texi
@@ -205,7 +205,7 @@ this response, which is generic, or a more specific response using
@samp{E} and/or @samp{error}.
@item E @var{text}
-Provide a message for the user. After this reponse, the authentication
+Provide a message for the user. After this response, the authentication
protocol continues with another response. Typically the server will
provide a series of @samp{E} responses followed by @samp{error}.
Compatibility note: @sc{cvs} 1.9.10 and older clients will print
@@ -245,7 +245,7 @@ version or the other.
The procedure here is to start with @samp{BEGIN
GSSAPI REQUEST}. GSSAPI authentication information is then exchanged
between the client and the server. Each packet of information consists
-of a two byte big endian length, followed by that many bytes of data.
+of a two byte big-endian length, followed by that many bytes of data.
After the GSSAPI authentication is complete, the server continues with
the responses described above (@samp{I LOVE YOU}, etc.).
@@ -537,8 +537,7 @@ Here are the requests:
Response expected: no. Tell the server which @code{CVSROOT} to use.
Note that @var{pathname} is @emph{not} a fully qualified @code{CVSROOT}
variable, but only the local directory part of it. @var{pathname} must
-already exist on the server; if creating a new root, use the @code{init}
-request, not @code{Root}. Again, @var{pathname} @emph{does not} include
+already exist on the server. Again, @var{pathname} @emph{does not} include
the hostname of the server, how to access the server, etc.; by the time
the CVS protocol is in use, connection, authentication, etc., are
already taken care of.
@@ -546,7 +545,7 @@ already taken care of.
The @code{Root} request must be sent only once, and it must be sent
before any requests other than @code{Valid-responses},
@code{valid-requests}, @code{UseUnchanged}, @code{Set},
-@code{Global_option}, @code{init}, @code{noop}, or @code{version}.
+@code{Global_option}, @code{noop}, or @code{version}.
@item Valid-responses @var{request-list} \n
Response expected: no.
@@ -569,7 +568,7 @@ also for @code{ci} and the other commands; normal usage is to send
@code{Entry} or @code{Modified}, and then a final @code{Directory}
for the original directory, then the command.
The @var{local-directory} is relative to
-the top level at which the command is occurring (i.e. the last
+the top level at which the command is occurring (i.e., the last
@code{Directory} which is sent before the command);
to indicate that top level, @samp{.} should be sent for
@var{local-directory}.
@@ -758,18 +757,6 @@ each time it sends a @code{Directory} request for a given directory.
However, the server is not obliged to remember them beyond the context
of a single command.
-@item Checkin-prog @var{program} \n
-Response expected: no. Tell the server that the directory most recently
-specified with @code{Directory} has a checkin program @var{program}.
-Such a program would have been previously set with the
-@code{Set-checkin-prog} response.
-
-@item Update-prog @var{program} \n
-Response expected: no. Tell the server that the directory most recently
-specified with @code{Directory} has an update program @var{program}.
-Such a program would have been previously set with the
-@code{Set-update-prog} response.
-
@item Entry @var{entry-line} \n
Response expected: no. Tell the server what version of a file is on the
local machine. The name in @var{entry-line} is a name relative to the
@@ -853,7 +840,7 @@ Commands for which @code{Modified} is necessary are @code{co},
Commands which do not need to inform the server about a working
directory, and thus should not be sending either @code{Modified} or
@code{Is-modified}: @code{rdiff}, @code{rtag}, @code{history},
-@code{init}, and @code{release}.
+and @code{release}.
Commands for which further investigation is warranted are:
@code{remove}, @code{add}, and @code{export}. Pending such
@@ -953,7 +940,7 @@ there are some situations it cannot handle (ignore patterns, or
situations where the user specifies a filename and the client does not
know about that file).
-Though this request will be supported into the forseeable future, it has been
+Though this request will be supported into the foreseeable future, it has been
the source of numerous bug reports in the past due to the complexity of testing
this functionality via the test suite and client developers are encouraged not
to use it. Instead, please consider munging conflicting names and maintaining
@@ -1192,12 +1179,6 @@ should not send @code{Directory}, @code{Entry}, or @code{Modified}
requests for these commands; they are not used. Arguments to these
commands are module names, as described for @code{co}.
-@item init @var{root-name} \n
-Response expected: yes. If it doesn't already exist, create a @sc{cvs}
-repository @var{root-name}. Note that @var{root-name} is a local
-directory and @emph{not} a fully qualified @code{CVSROOT} variable.
-The @code{Root} request need not have been previously sent.
-
@item update \n
Response expected: yes. Actually do a @code{cvs update} command. This
uses any previous @code{Argument}, @code{Directory}, @code{Entry},
@@ -1216,7 +1197,7 @@ of the operation - unlike most commands, the repository field of each
@code{Directory} request is ignored (it merely must point somewhere
within the root). The files to be imported are sent in @code{Modified}
requests (files which the client knows should be ignored are not sent;
-the server must still process the CVSROOT/cvsignore file unless -I ! is
+the server must still process the CVSROOT/cvsignore file unless -I !@: is
sent). A log message must have been specified with a @code{-m}
argument.
@@ -1393,7 +1374,7 @@ indicates that the response is over.
@c lame terms (mostly because they are so awkward). Any better ideas?
The responses @code{Checked-in}, @code{New-entry}, @code{Updated},
@code{Created}, @code{Update-existing}, @code{Merged}, and
-@code{Patched} are refered to as @dfn{file updating} responses, because
+@code{Patched} are referred to as @dfn{file updating} responses, because
they change the status of a file in the working directory in some way.
The responses @code{Mode}, @code{Mod-time}, and @code{Checksum} are
referred to as @dfn{file update modifying} responses because they modify
@@ -1412,7 +1393,7 @@ Many of the responses contain something called @var{pathname}.
@c end in "/.".
The name is somewhat misleading; it actually indicates a pair of
pathnames. First, a local directory name
-relative to the directory in which the command was given (i.e. the last
+relative to the directory in which the command was given (i.e., the last
@code{Directory} before the command). Then a linefeed and a repository
name. Then
a slash and the filename (without a @samp{,v} ending).
@@ -1463,7 +1444,7 @@ patches, it will include @samp{update-patches} in this list. The
@item Checked-in @var{pathname} \n
Additional data: New Entries line, \n. This means a file @var{pathname}
-has been successfully operated on (checked in, added, etc.). name in
+has been successfully operated on (checked in, added, etc.). The name in
the Entries line is the same as the last component of @var{pathname}.
@item New-entry @var{pathname} \n
@@ -1636,16 +1617,6 @@ specify a directory, not a file within a directory. Tell the client to
store the file transmission as the template log message, and then use
that template in the future when prompting the user for a log message.
-@item Set-checkin-prog @var{dir} \n
-Additional data: @var{prog} \n. Tell the client to set a checkin
-program, which should be supplied with the @code{Checkin-prog} request
-for future operations.
-
-@item Set-update-prog @var{dir} \n
-Additional data: @var{prog} \n. Tell the client to set an update
-program, which should be supplied with the @code{Update-prog} request
-for future operations.
-
@item Notified @var{pathname} \n
Indicate to the client that the notification for @var{pathname} has been
done. There should be one such response for every @code{Notify}
@@ -1857,7 +1828,7 @@ and requests would be longer.
@c line breaks. Any better solutions?
@c Other than that, this exchange is taken verbatim from the data
@c exchanged by CVS (as of Nov 1996). That is why some of the requests and
-@c reponses are not quite what you would pick for pedagogical purposes.
+@c responses are not quite what you would pick for pedagogical purposes.
@example
C: Root /u/cvsroot
@@ -2029,7 +2000,7 @@ Similarly, the @code{http://cvs.nongnu.org} site, in particular the
@itemize @bullet
@item
-The @code{Modified} request could be speeded up by sending diffs rather
+The @code{Modified} request could be sped up by sending diffs rather
than entire files. The client would need some way to keep the version
of the file which was originally checked out; probably requiring the use
of "cvs edit" in this case is the most sensible course (the "cvs edit"
diff --git a/contrib/cvs/doc/mdate-sh b/contrib/cvs/doc/mdate-sh
index 0c88e75..cd916c0 100755
--- a/contrib/cvs/doc/mdate-sh
+++ b/contrib/cvs/doc/mdate-sh
@@ -1,6 +1,10 @@
#!/bin/sh
# Get modification time of a file or directory and pretty-print it.
-# Copyright 1995, 1996, 1997 Free Software Foundation, Inc.
+
+scriptversion=2005-06-29.22
+
+# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software
+# Foundation, Inc.
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
#
# This program is free software; you can redistribute it and/or modify
@@ -15,7 +19,37 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case $1 in
+ '')
+ echo "$0: No file. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: mdate-sh [--help] [--version] FILE
+
+Pretty-print the modification time of FILE.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "mdate-sh $scriptversion"
+ exit $?
+ ;;
+esac
# Prevent date giving response in another language.
LANG=C
@@ -25,24 +59,46 @@ export LC_ALL
LC_TIME=C
export LC_TIME
-# Get the extended ls output of the file or directory.
-# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
+# GNU ls changes its time format in response to the TIME_STYLE
+# variable. Since we cannot assume `unset' works, revert this
+# variable to its documented default.
+if test "${TIME_STYLE+set}" = set; then
+ TIME_STYLE=posix-long-iso
+ export TIME_STYLE
+fi
+
+save_arg1=$1
+
+# Find out how to get the extended ls output of a file or directory.
if ls -L /dev/null 1>/dev/null 2>&1; then
- set - x`ls -L -l -d $1`
+ ls_command='ls -L -l -d'
else
- set - x`ls -l -d $1`
+ ls_command='ls -l -d'
fi
-# The month is at least the fourth argument
-# (3 shifts here, the next inside the loop).
-shift
-shift
-shift
-# Find the month. Next argument is day, followed by the year or time.
+# A `ls -l' line looks as follows on OS/2.
+# drwxrwx--- 0 Aug 11 2001 foo
+# This differs from Unix, which adds ownership information.
+# drwxrwx--- 2 root root 4096 Aug 11 2001 foo
+#
+# To find the date, we split the line on spaces and iterate on words
+# until we find a month. This cannot work with files whose owner is a
+# user named `Jan', or `Feb', etc. However, it's unlikely that `/'
+# will be owned by a user whose name is a month. So we first look at
+# the extended ls output of the root directory to decide how many
+# words should be skipped to get the date.
+
+# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
+set x`ls -l -d /`
+
+# Find which argument is the month.
month=
+command=
until test $month
do
shift
+ # Add another shift to the command.
+ command="$command shift;"
case $1 in
Jan) month=January; nummonth=1;;
Feb) month=February; nummonth=2;;
@@ -59,7 +115,51 @@ do
esac
done
-day=$2
+# Get the extended ls output of the file or directory.
+set dummy x`eval "$ls_command \"\$save_arg1\""`
+
+# Remove all preceding arguments
+eval $command
+
+# Because of the dummy argument above, month is in $2.
+#
+# On a POSIX system, we should have
+#
+# $# = 5
+# $1 = file size
+# $2 = month
+# $3 = day
+# $4 = year or time
+# $5 = filename
+#
+# On Darwin 7.7.0 and 7.6.0, we have
+#
+# $# = 4
+# $1 = day
+# $2 = month
+# $3 = year or time
+# $4 = filename
+
+# Get the month.
+case $2 in
+ Jan) month=January; nummonth=1;;
+ Feb) month=February; nummonth=2;;
+ Mar) month=March; nummonth=3;;
+ Apr) month=April; nummonth=4;;
+ May) month=May; nummonth=5;;
+ Jun) month=June; nummonth=6;;
+ Jul) month=July; nummonth=7;;
+ Aug) month=August; nummonth=8;;
+ Sep) month=September; nummonth=9;;
+ Oct) month=October; nummonth=10;;
+ Nov) month=November; nummonth=11;;
+ Dec) month=December; nummonth=12;;
+esac
+
+case $3 in
+ ???*) day=$1;;
+ *) day=$3; shift;;
+esac
# Here we have to deal with the problem that the ls output gives either
# the time of day or the year.
@@ -90,3 +190,12 @@ esac
# The result.
echo $day $month $year
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/contrib/cvs/doc/mkman.pl b/contrib/cvs/doc/mkman.pl
index ecc2ea1..de0d298 100644
--- a/contrib/cvs/doc/mkman.pl
+++ b/contrib/cvs/doc/mkman.pl
@@ -2,7 +2,8 @@
#
# Generate a man page from sections of a Texinfo manual.
#
-# Copyright 2004 The Free Software Foundation,
+# Copyright 2004, 2006
+# The Free Software Foundation,
# Derek R. Price,
# & Ximbiot <http://ximbiot.com>
#
@@ -72,8 +73,10 @@ sub do_keyword
{
my ($file, $parent, $keyword, $content) = @_;
- return "see node \`$content\\(aq in the CVS manual"
- if $keyword =~ /^(p?x)?ref$/;
+ return "`$content\\(aq in the CVS manual"
+ if $keyword eq "ref";
+ return "see node `$content\\(aq in the CVS manual"
+ if $keyword =~ /^p?xref$/;
return "\\fP\\fP$content"
if $keyword =~ /^splitrcskeyword$/;
diff --git a/contrib/cvs/doc/stamp-1 b/contrib/cvs/doc/stamp-1
index 9db9288..b17c01c 100644
--- a/contrib/cvs/doc/stamp-1
+++ b/contrib/cvs/doc/stamp-1
@@ -1,4 +1,4 @@
-@set UPDATED 8 June 2006
-@set UPDATED-MONTH June 2006
-@set EDITION 1.11.22
-@set VERSION 1.11.22
+@set UPDATED 7 May 2007
+@set UPDATED-MONTH May 2007
+@set EDITION 1.11.22.1
+@set VERSION 1.11.22.1
diff --git a/contrib/cvs/doc/stamp-vti b/contrib/cvs/doc/stamp-vti
index 8d58a7c..05bc349 100644
--- a/contrib/cvs/doc/stamp-vti
+++ b/contrib/cvs/doc/stamp-vti
@@ -1,4 +1,4 @@
-@set UPDATED 15 May 2006
-@set UPDATED-MONTH May 2006
-@set EDITION 1.11.22
-@set VERSION 1.11.22
+@set UPDATED 27 January 2008
+@set UPDATED-MONTH January 2008
+@set EDITION 1.11.22.1
+@set VERSION 1.11.22.1
diff --git a/contrib/cvs/doc/version-client.texi b/contrib/cvs/doc/version-client.texi
index 9db9288..b17c01c 100644
--- a/contrib/cvs/doc/version-client.texi
+++ b/contrib/cvs/doc/version-client.texi
@@ -1,4 +1,4 @@
-@set UPDATED 8 June 2006
-@set UPDATED-MONTH June 2006
-@set EDITION 1.11.22
-@set VERSION 1.11.22
+@set UPDATED 7 May 2007
+@set UPDATED-MONTH May 2007
+@set EDITION 1.11.22.1
+@set VERSION 1.11.22.1
diff --git a/contrib/cvs/doc/version.texi b/contrib/cvs/doc/version.texi
index 8d58a7c..05bc349 100644
--- a/contrib/cvs/doc/version.texi
+++ b/contrib/cvs/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 15 May 2006
-@set UPDATED-MONTH May 2006
-@set EDITION 1.11.22
-@set VERSION 1.11.22
+@set UPDATED 27 January 2008
+@set UPDATED-MONTH January 2008
+@set EDITION 1.11.22.1
+@set VERSION 1.11.22.1
OpenPOWER on IntegriCloud