This commit was generated by cvs2svn to compensate for changes in r102840,
which included commits to RCS files with non-trunk default branches.
This commit is contained in:
commit
d588342b92
@ -1,3 +1,296 @@
|
||||
2002-04-17 Derek Price <oberon@umich.edu>
|
||||
|
||||
* configure.in: Update version number.
|
||||
* configure: Regenerated.
|
||||
|
||||
2002-04-03 Derek Price <oberon@umich.edu>
|
||||
|
||||
* cvs.spec.in: Use a lowercase "cvshome.org". Add some RedHat safety
|
||||
features to avoid "rm -rf /". No need to rebuild the docs in the
|
||||
distribution. Don't strip the binary.
|
||||
|
||||
2002-03-26 Derek Price <oberon@umich.edu>
|
||||
|
||||
* configure.in: Add a FIXME comment.
|
||||
|
||||
2002-03-21 Derek Price <oberon@umich.edu>
|
||||
|
||||
* aclocal.m4: Regenerate with recent version of Autoconf. It looks
|
||||
like things changed because of some RedHat patches or the like which
|
||||
didn't change the Autoconf version number, but the differences look
|
||||
like useful changes so I'm going to use them for consistency.
|
||||
* config.h.in: Ditto.
|
||||
* configure: Ditto.
|
||||
|
||||
2002-03-19 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* NEWS (Changes since 1.11.1p1): Note -S flag for [r]log.
|
||||
|
||||
2002-02-08 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* NEWS (Changes since 1.11.1p1): Note read-only tag fix.
|
||||
|
||||
2002-02-01 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* NEWS (Changes from 1.9 to 1.10): Note -t/-f wrappers disabled.
|
||||
|
||||
2001-12-12 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* NEWS (Changes from 1.10 to 1.11): Note update -C.
|
||||
|
||||
2001-12-03 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* TODO (206, 207): New items.
|
||||
|
||||
* NEWS (Changes since 1.11.1p1): Note -F flag for [r]annotate.
|
||||
(Changes from 1.11 to 1.11.1): Note :: for log.
|
||||
|
||||
2001-10-18 Derek Price <dprice@collab.net>
|
||||
|
||||
* TESTS: Remove outdated note about tests that don't use the dotest
|
||||
function and add some notes on writing tests.
|
||||
* HACKING: Reference TESTS file in note about submitting test cases
|
||||
with patches.
|
||||
|
||||
2001-09-28 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* noautomake.sh: Protect wildcards from shell expansion.
|
||||
(Patch submitted by Stephen Cameron <smcameron@yahoo.com>.)
|
||||
|
||||
2001-09-22 Derek Price <dprice@collab.net>
|
||||
|
||||
* INSTALL (Building from source code under Unix): Continue
|
||||
noautoconf.sh note, stressing source checked out from CVS.
|
||||
|
||||
2001-09-22 Derek Price <dprice@collab.net>
|
||||
|
||||
* noautomake.sh: Correct usage.
|
||||
|
||||
2001-09-13 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am (AUTOMAKE_OPTIONS): Updated to require Automake 1.5.
|
||||
* NEWS (Changes since 1.11.1p1): Added note about standardizing on
|
||||
Automake 1.5.
|
||||
* INSTALL (Building from source code under UNIX): It's Automake version
|
||||
`1.5', not `2.5'.
|
||||
(Detailed information about your interaction with "configure"): Added
|
||||
note about using `configure --help'.
|
||||
* README (Installation): Add noautoconf.sh to the list of build and
|
||||
installation commands.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with automake 1.5.
|
||||
* aclocal.m4: Ditto.
|
||||
* configure: Ditto.
|
||||
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* INSTALL (Building from source code under UNIX): Add a comment about
|
||||
the noautomake.sh script and autotool versions.
|
||||
|
||||
2001-08-20 Derek Price <dprice@collab.net>
|
||||
|
||||
* configure.in (AC_OUTPUT): Add src/version.h.
|
||||
(Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2001-08-20 Derek Price <dprice@collab.net>
|
||||
|
||||
* .cvsignore: Add cvs.spec.
|
||||
|
||||
2001-08-14 Derek Price <dprice@collab.net>
|
||||
|
||||
* configure.in (AC_OUTPUT): Add cvs.spec.
|
||||
* Makefile.am (EXTRA_DIST): Remove cvs.spec.in and cvs.spec.
|
||||
(Original patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
|
||||
* cvs.spec.in: Use @PACKAGE@ from configure.
|
||||
* cvs.spec: Remove this file.
|
||||
|
||||
* configure: Regenerated.
|
||||
* Makefile.in: Ditto.
|
||||
|
||||
2001-08-14 Derek Price <dprice@collab.net>
|
||||
|
||||
* DEVEL-CVS: Update mailing list addresses.
|
||||
* HACKING: Ditto.
|
||||
|
||||
2001-08-09 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvsnt.mak: Add entry for annotate.c.
|
||||
|
||||
2001-08-07 Derek Price <dprice@collab.net>
|
||||
|
||||
* build.com: correct name of build .com for zlib.
|
||||
(Patch from Mike Marciniszyn <Mike.Marciniszyn@sanchez.com>.)
|
||||
|
||||
2001-08-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* configure.in: Remove some redundant macros (they appear to be run
|
||||
automatically by AC_INIT).
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2001-08-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* configure.in: Add AC_EXEEXT to get things right when under Windows.
|
||||
(Report and patch from manklu@web.de.)
|
||||
|
||||
* configure.in: Reorder some macros to prevent Autoconf warnings.
|
||||
|
||||
* configure: Regenerated.
|
||||
* Makefile.in: Ditto.
|
||||
|
||||
2001-07-26 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* NEWS: Fix format, add note about tag -B.
|
||||
|
||||
2001-07-16 Derek Price <dprice@collab.net>
|
||||
|
||||
* compile: New Automake file.
|
||||
* configure.in: Add AM_PROG_CC_C_O to work around problems with some
|
||||
compilers.
|
||||
|
||||
* aclocal.m4: Regenerated.
|
||||
* Makefile.in: Ditto.
|
||||
* config.h.in: Ditto.
|
||||
* configure: Ditto.
|
||||
(Thanks to Stephen Cameron <smcameron@yahoo.com> and
|
||||
Tom Tromey <tromey@redhat.com>.)
|
||||
|
||||
2001-07-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new Automake release candidate 1.4h.
|
||||
* aclocal.m4: Ditto.
|
||||
|
||||
2001-07-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* configure.in: Tidy and add some comments.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2001-07-03 Derek Price <dprice@collab.net>
|
||||
|
||||
* HACKING (Source): Add a note about where to obtain the development
|
||||
sources.
|
||||
(Thanks to Bear Giles <bear@coyotesong.com>.)
|
||||
|
||||
2001-07-03 Derek Price <dprice@collab.net>
|
||||
|
||||
* configure.in: Test for mmap.
|
||||
|
||||
* configure: Regenerated.
|
||||
* config.h.in: Ditto.
|
||||
|
||||
2001-06-28 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new version of Automake.
|
||||
* aclocal.m4: Ditto.
|
||||
* configure: Regenerated.
|
||||
|
||||
2001-06-28 Derek Price <dprice@collab.net>
|
||||
|
||||
* mdate-sh: New file to support doc/version.texi.
|
||||
|
||||
2001-06-27 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* TESTS: Note environment variables to select certain tools,
|
||||
potential problems with big environments.
|
||||
|
||||
* TODO: Add note about non-canonical paths. Reformat long lines.
|
||||
|
||||
* NEWS (Changes since 1.11): Note new loginfo format string expansion.
|
||||
Reformat some long lines.
|
||||
|
||||
2001-06-11 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvsnt.dsp: Add src/annotate.c to source file list.
|
||||
(Thanks to Jerzy Kaczorowski <kaczoroj@hotmail.com>.)
|
||||
|
||||
2001-05-30 Derek Price <dprice@collab.net>
|
||||
|
||||
* configure.in (AC_OUTPUT): Change contrib/pvcs2cvs to contrib/pvcs2rcs.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2001-05-29 Derek Price <dprice@collab.net>
|
||||
|
||||
* configure.in (AC_OUTPUT): Add pvcs2cvs.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2001-05-21 Derek Price <dprice@collab.net>
|
||||
|
||||
* NEWS (Changes since 1.11): It's "noautomake.sh", not "noautoconf.sh".
|
||||
* Makefile.am (EXTRA_DIST): Include noautomake.sh.
|
||||
(AUTOMAKE_OPTIONS): Update required Automake version to 1.4e.
|
||||
(Reported by Alexey Mahotkin <alexm@hsys.msk.ru>).
|
||||
|
||||
2001-05-21 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am (EXTRA_DIST): Add noautoconf.sh.
|
||||
|
||||
2001-05-17 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* depcomp: Yet another newer (unofficial) version from Automake.
|
||||
|
||||
2001-05-10 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* configure.in (AC_OUTPUT): Remove -f from chmod -- not portable.
|
||||
* configure: Regenerated.
|
||||
|
||||
2001-05-03 Derek Price <dprice@collab.net>
|
||||
|
||||
* TODO (204): New item.
|
||||
|
||||
2001-05-02 Derek Price <dprice@collab.net>
|
||||
|
||||
* acinclude.m4 (ACX_WITH_GSSAPI): Make krb5.h a requirement for GSSAPI.
|
||||
krb5.h shouldn't be required, but CVS's GSSAPI implementation is
|
||||
broken.
|
||||
(Reported by Stephen Rasku <stephen@tgivan.com>.)
|
||||
|
||||
* aclocal.m4: Regenerated.
|
||||
* configure: Ditto.
|
||||
|
||||
2001-04-29 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am (distcheck-hook): Undo last change.
|
||||
(localcheck): New target.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-04-29 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am: Add remotecheck to distcheck-hook.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-04-27 Derek Price <dprice@collab.net>
|
||||
|
||||
* TODO (202): Remove my claim.
|
||||
(203): New item.
|
||||
|
||||
2001-04-27 Derek Price <dprice@collab.net>
|
||||
|
||||
* configure.in: Update version number.
|
||||
|
||||
* configure: Regenerated.
|
||||
* cvs.spec: Ditto.
|
||||
|
||||
2001-04-27 Derek Price <dprice@collab.net>
|
||||
|
||||
* configure.in: Update version number.
|
||||
* NEWS (new since 1.11.1): Broke read-only fix.
|
||||
(new since 1.11): Diff fix.
|
||||
|
||||
* configure: Regenerated.
|
||||
* cvs.spec: Ditto.
|
||||
|
||||
2001-04-26 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.spec.in: Don't include %{_infodir}/dir.
|
||||
@ -18,11 +311,11 @@
|
||||
|
||||
* NEWS: Correct punctuation.
|
||||
|
||||
2001-04-25 Larry Jones <larry.jones@sdr.com>
|
||||
2001-04-25 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* depcomp (aix, sgi): Correct previous fixes.
|
||||
|
||||
2001-04-24 Larry Jones <larry.jones@sdr.com>
|
||||
2001-04-24 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* depcomp (sgi): Remove stray HP-UX code.
|
||||
|
||||
@ -32,23 +325,23 @@
|
||||
prevent unecessary AUtomake rebuilds after updates.
|
||||
* NEWS: Note this new scipt.
|
||||
|
||||
2001-04-16 Larry Jones <larry.jones@sdr.com>
|
||||
2001-04-16 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* depcomp (aix): Remove stray HP-UX code.
|
||||
|
||||
2001-04-12 Larry Jones <larry.jones@sdr.com>
|
||||
2001-04-12 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* mkinstalldirs: Newer version from Automake.
|
||||
|
||||
2001-04-12 Larry Jones <larry.jones@sdr.com>
|
||||
2001-04-12 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* depcomp: Newer version from Automake.
|
||||
|
||||
2001-04-04 Larry Jones <larry.jones@sdr.com>
|
||||
2001-04-04 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* depcomp: Don't count on $? being set in then or else clauses.
|
||||
|
||||
2001-03-30 Larry Jones <larry.jones@sdr.com>
|
||||
2001-03-30 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* NEWS: Note new rlog and rannotate commands.
|
||||
|
||||
|
@ -6,7 +6,7 @@ development group operates. Also see the HACKING file.
|
||||
----------------------------------------------------------------------
|
||||
Charter for the devel-cvs mailing list:
|
||||
|
||||
The CVS Developers' List <devel-cvs@cvshome.org> exists to help people
|
||||
The CVS Developers' List <dev@ccvs.cvshome.org> exists to help people
|
||||
with access to the CVS source repository co-ordinate changes, make
|
||||
releases, and administer the repository.
|
||||
|
||||
|
@ -1,5 +1,11 @@
|
||||
How to write code for CVS
|
||||
|
||||
* Source
|
||||
|
||||
Patches against the development version of CVS are most likely to be accepted:
|
||||
|
||||
$ cvs -d:pserver:anoncvs@cvs.cvshome.org/cvsroot co ccvs
|
||||
|
||||
* Compiler options
|
||||
|
||||
If you are using GCC, you'll want to configure with -Wall, which can
|
||||
@ -141,7 +147,7 @@ process the following should exist:
|
||||
- Most of the time, a test case (see TESTS). It can be quite
|
||||
frustrating to fix a bug only to see it reappear later, and adding
|
||||
the case to the testsuite, where feasible, solves this and other
|
||||
problems.
|
||||
problems. See the TESTS file for notes on writing new tests.
|
||||
|
||||
If you solve several unrelated problems, it is generally easier to
|
||||
consider the desirability of the changes if there is a separate patch
|
||||
@ -180,20 +186,20 @@ intentional, to avoid a last minute rush to get new features in.
|
||||
|
||||
Anyone can add themselves to the following mailing lists:
|
||||
|
||||
devel-cvs. Unless you are accepted as a CVS developer as
|
||||
dev. Unless you are accepted as a CVS developer as
|
||||
described in the DEVEL-CVS file, you will only be able to
|
||||
read this list, not send to it. The charter of the list is
|
||||
also in DEVEL-CVS.
|
||||
commit-cvs. The only messages sent to this list are sent
|
||||
cvs. The only messages sent to this list are sent
|
||||
automatically, via the CVS `loginfo' mechanism, when someone
|
||||
checks something in to the master CVS repository.
|
||||
test-results. The only messages sent to this list are sent
|
||||
automatically, daily, by a script which runs "make check"
|
||||
and "make remotecheck" on the master CVS sources.
|
||||
To subscribe to devel-cvs, commit-cvs, or test-results, send
|
||||
a message to "majordomo@cvshome.org" whose body consists of
|
||||
"subscribe <list>", where <list> is devel-cvs, commit-cvs or
|
||||
test-results.
|
||||
To subscribe to dev, cvs, or test-results, send
|
||||
a message to "<list>-subscribe@ccvs.cvshome.org" or visit
|
||||
http://ccvs.cvshome.org/servlets/ProjectMailingListList and follow the
|
||||
instructions there.
|
||||
|
||||
One other list related to CVS development is bug-cvs. This is the
|
||||
list which users are requested to send bug reports to. Anyone can
|
||||
|
@ -241,7 +241,19 @@ VAX:
|
||||
|
||||
Building from source code under Unix:
|
||||
|
||||
1) Run "configure":
|
||||
1) Some combinations of Automake and Autoconf versions may break the CVS build
|
||||
if file timestamps aren't set correctly, so you may wish to run
|
||||
noautomake.sh to set the timestamps and avoid attempting to run the
|
||||
autotools on your system, especially if you are building from source
|
||||
checked out from CVS:
|
||||
|
||||
$ ./noautomake.sh --noautoconf
|
||||
|
||||
The CVS Makefiles and configure script were built using Automake 1.5 and
|
||||
Autoconf 2.13, respectively. Other combinations of autotool versions may
|
||||
or may not work.
|
||||
|
||||
2) Run "configure":
|
||||
|
||||
$ ./configure
|
||||
|
||||
@ -332,10 +344,10 @@ Building from source code under Unix:
|
||||
|
||||
END OF NOTE FOR NDBM GUNK.
|
||||
|
||||
2) Edit src/options.h. The defaults should be reasonable, and in fact
|
||||
3) Edit src/options.h. The defaults should be reasonable, and in fact
|
||||
if you are lazy you can safely skip this step.
|
||||
|
||||
3) Try to build it:
|
||||
4) Try to build it:
|
||||
|
||||
$ make
|
||||
|
||||
@ -346,7 +358,7 @@ Building from source code under Unix:
|
||||
compiler information, make output, and anything else you think
|
||||
will be helpful.
|
||||
|
||||
3a) Run the regression tests (optional).
|
||||
4a) Run the regression tests (optional).
|
||||
|
||||
You may also wish to validate the correctness of the new binary by
|
||||
running the regression tests. If they succeed, that is nice to
|
||||
@ -358,7 +370,7 @@ Building from source code under Unix:
|
||||
|
||||
If you want to run the tests, see the file TESTS for more information.
|
||||
|
||||
4) Install the binaries/documentation:
|
||||
5) Install the binaries/documentation:
|
||||
|
||||
$ make install
|
||||
|
||||
@ -371,7 +383,8 @@ Detailed information about your interaction with "configure":
|
||||
|
||||
The "configure" script and its interaction with its options and the
|
||||
environment is described here. For more detailed documentation about
|
||||
"configure", please refer to the GNU Autoconf documentation.
|
||||
"configure", please run `./configure --help' or refer to the GNU Autoconf
|
||||
documentation.
|
||||
|
||||
Supported options are:
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.4a dist-bzip2
|
||||
AUTOMAKE_OPTIONS = 1.5 dist-bzip2
|
||||
|
||||
## Subdirectories to run make in for the primary targets.
|
||||
# Unix source subdirs, where we'll want to run lint and etags:
|
||||
@ -35,32 +35,23 @@ EXTRA_DIST = \
|
||||
TESTS \
|
||||
build.com \
|
||||
cvs-format.el \
|
||||
cvs.spec \
|
||||
cvs.spec.in \
|
||||
cvsnt.dsp \
|
||||
cvsnt.dsw \
|
||||
cvsnt.mak
|
||||
cvsnt.mak \
|
||||
noautomake.sh
|
||||
|
||||
.PHONY: remotecheck
|
||||
remotecheck: all
|
||||
|
||||
|
||||
## MAINTAINER Targets
|
||||
|
||||
.PHONY: localcheck remotecheck
|
||||
localcheck remotecheck: all
|
||||
cd src && $(MAKE) $(AM_MAKEFLAGS) "$@"
|
||||
|
||||
.PHONY: doc
|
||||
doc:
|
||||
cd doc && $(MAKE) $(AM_MAKEFLAGS) "$@"
|
||||
|
||||
## MAINTAINER Targets
|
||||
|
||||
## cvs.spec ##
|
||||
# - cvs.spec needs to be updated only once, since it depends on
|
||||
# configure.in, not on the results of a 'configure' run.
|
||||
# - It is guaranteed (with GNU Make) that when the version in configure.in
|
||||
# is changed, acversion.m4 is built only after the new version number is
|
||||
# propagated to the Makefile. (Libtool uses the same guarantee.)
|
||||
cvs.spec: $(srcdir)/cvs.spec.in $(top_srcdir)/configure.in
|
||||
sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/cvs.spec.in >cvs.tspec
|
||||
mv cvs.tspec $(srcdir)/cvs.spec
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
.PHONY: realclean
|
||||
realclean: maintainer-clean
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4e from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@ -26,7 +26,6 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@ -47,11 +46,9 @@ infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = .
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
@ -65,7 +62,6 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
@ -77,29 +73,26 @@ AWK = @AWK@
|
||||
CC = @CC@
|
||||
CSH = @CSH@
|
||||
DEPDIR = @DEPDIR@
|
||||
ETAGS = @ETAGS@
|
||||
ETAGS_INCLUDE_OPTION = @ETAGS_INCLUDE_OPTION@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTALL_STRIP_PROGRAM_ENV = @INSTALL_STRIP_PROGRAM_ENV@
|
||||
KRB4 = @KRB4@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
includeopt = @includeopt@
|
||||
install_sh = @install_sh@
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.4a dist-bzip2
|
||||
AUTOMAKE_OPTIONS = 1.5 dist-bzip2
|
||||
|
||||
# Unix source subdirs, where we'll want to run lint and etags:
|
||||
# This is a legacy variable from b4 Automake
|
||||
@ -122,52 +115,47 @@ EXTRA_DIST = \
|
||||
TESTS \
|
||||
build.com \
|
||||
cvs-format.el \
|
||||
cvs.spec \
|
||||
cvs.spec.in \
|
||||
cvsnt.dsp \
|
||||
cvsnt.dsw \
|
||||
cvsnt.mak
|
||||
cvsnt.mak \
|
||||
noautomake.sh
|
||||
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = config.h $(top_builddir)/src/options.h
|
||||
CONFIG_CLEAN_FILES = emx/Makefile os2/Makefile zlib/Makefile
|
||||
CONFIG_CLEAN_FILES = cvs.spec emx/Makefile os2/Makefile zlib/Makefile
|
||||
DIST_SOURCES =
|
||||
|
||||
RECURSIVE_TARGETS = all-recursive install-data-recursive \
|
||||
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
|
||||
uninstall-info-recursive all-recursive install-data-recursive \
|
||||
install-exec-recursive installdirs-recursive install-recursive \
|
||||
uninstall-recursive check-recursive installcheck-recursive
|
||||
DIST_COMMON = README ./stamp-h1.in AUTHORS COPYING COPYING.LIB \
|
||||
ChangeLog INSTALL Makefile.am Makefile.in NEWS TODO acconfig.h \
|
||||
acinclude.m4 aclocal.m4 config.h.in configure configure.in \
|
||||
depcomp install-sh missing mkinstalldirs
|
||||
acinclude.m4 aclocal.m4 compile config.h.in configure \
|
||||
configure.in cvs.spec.in depcomp install-sh mdate-sh missing \
|
||||
mkinstalldirs
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$@ $(SHELL) ./config.status
|
||||
|
||||
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
$(ACLOCAL_M4): configure.in acinclude.m4
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
@ -193,12 +181,15 @@ $(srcdir)/./stamp-h1.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h
|
||||
cvs.spec: $(top_builddir)/config.status cvs.spec.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
emx/Makefile: $(top_builddir)/config.status $(top_srcdir)/emx/Makefile.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
os2/Makefile: $(top_builddir)/config.status $(top_srcdir)/os2/Makefile.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
zlib/Makefile: $(top_builddir)/config.status $(top_srcdir)/zlib/Makefile.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
uninstall-info-am:
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
@ -272,39 +263,44 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
here=`pwd`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -f $$subdir/TAGS && tags="$$tags $(ETAGS_INCLUDE_OPTION)$$here/$$subdir/TAGS"; \
|
||||
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list @CONFIG@; do \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
|
||||
|| $(ETAGS) $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)
|
||||
|| etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)
|
||||
|
||||
GTAGS:
|
||||
here=`CDPATH=: && cd $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $$here
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = .
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
# Avoid unsightly `./'.
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
|
||||
GZIP_ENV = --best
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkinstalldirs) $(distdir)/contrib $(distdir)/emx $(distdir)/os2 $(distdir)/src $(distdir)/zlib
|
||||
$(mkinstalldirs) $(distdir)/. $(distdir)/contrib $(distdir)/emx $(distdir)/os2 $(distdir)/src $(distdir)/zlib
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
|| exit 1; \
|
||||
@ -359,7 +355,9 @@ distcheck: dist
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|
||||
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|
||||
|| (echo "Error: files left after uninstall" 1>&2; \
|
||||
exit 1) ) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distclean \
|
||||
&& rm -f $(distdir).tar.gz \
|
||||
@ -372,7 +370,6 @@ distcheck: dist
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile config.h
|
||||
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
|
||||
@ -385,38 +382,37 @@ install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_PROGRAM_ENV='$(INSTALL_STRIP_PROGRAM_ENV)' install
|
||||
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f Makefile.in
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
dist-all: dist dist-bzip2
|
||||
|
||||
dist-all: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
|
||||
distclean: distclean-recursive
|
||||
-rm -f config.status
|
||||
-rm -f config.status config.cache config.log
|
||||
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
|
||||
|
||||
dvi:
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
info:
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
@ -424,56 +420,52 @@ install-data-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info:
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f config.status
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
.PHONY: $(RECURSIVE_TARGETS) all all-am check check-am clean \
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
uninstall-info: uninstall-info-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
|
||||
clean-generic clean-recursive dist dist-all dist-bzip2 \
|
||||
distcheck distclean distclean-generic distclean-hdr \
|
||||
distclean-recursive distclean-tags distdir dvi dvi-am info \
|
||||
info-am install install-am install-data install-data-am \
|
||||
install-data-recursive install-exec install-exec-am \
|
||||
install-exec-recursive install-info install-man \
|
||||
distclean-recursive distclean-tags distdir dvi dvi-am \
|
||||
dvi-recursive info info-am info-recursive install install-am \
|
||||
install-data install-data-am install-data-recursive \
|
||||
install-exec install-exec-am install-exec-recursive \
|
||||
install-info install-info-am install-info-recursive install-man \
|
||||
install-recursive install-strip installcheck installcheck-am \
|
||||
installdirs installdirs-am installdirs-recursive \
|
||||
maintainer-clean maintainer-clean-generic \
|
||||
maintainer-clean-recursive mostlyclean mostlyclean-generic \
|
||||
mostlyclean-recursive tags tags-recursive uninstall \
|
||||
uninstall-am uninstall-recursive
|
||||
uninstall-am uninstall-info-am uninstall-info-recursive \
|
||||
uninstall-recursive
|
||||
|
||||
|
||||
.PHONY: remotecheck
|
||||
remotecheck: all
|
||||
.PHONY: localcheck remotecheck
|
||||
localcheck remotecheck: all
|
||||
cd src && $(MAKE) $(AM_MAKEFLAGS) "$@"
|
||||
|
||||
.PHONY: doc
|
||||
doc:
|
||||
cd doc && $(MAKE) $(AM_MAKEFLAGS) "$@"
|
||||
|
||||
# - cvs.spec needs to be updated only once, since it depends on
|
||||
# configure.in, not on the results of a 'configure' run.
|
||||
# - It is guaranteed (with GNU Make) that when the version in configure.in
|
||||
# is changed, acversion.m4 is built only after the new version number is
|
||||
# propagated to the Makefile. (Libtool uses the same guarantee.)
|
||||
cvs.spec: $(srcdir)/cvs.spec.in $(top_srcdir)/configure.in
|
||||
sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/cvs.spec.in >cvs.tspec
|
||||
mv cvs.tspec $(srcdir)/cvs.spec
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
.PHONY: realclean
|
||||
realclean: maintainer-clean
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
@ -1,46 +1,88 @@
|
||||
Changes since 1.11.1:
|
||||
Changes since 1.11.1p1:
|
||||
|
||||
* The "log" and "rlog" commands now have a -S option to suppress the
|
||||
header information when no revisions are selected.
|
||||
|
||||
* A serious error that allowed read-only users to tag files has been
|
||||
corrected.
|
||||
|
||||
* The "annotate" command will no longer annotate binary files unless
|
||||
you specify the new -F option.
|
||||
|
||||
* The "tag" and "rtag" commands will no longer move or delete branch
|
||||
tags unless you use the new -B option. (This prevents accidental
|
||||
changes to branch tags that are hard to undo.)
|
||||
|
||||
* We've standardized on the 1.5 Automake release for the moment. Again, this
|
||||
should only really affect developers. See the section of the INSTALL file
|
||||
about using the autotools if you are compiling CVS yourself.
|
||||
|
||||
Changes from 1.11.1 to 1.11.1p1:
|
||||
|
||||
* Read only access was broken - now fixed.
|
||||
|
||||
Changes since 1.11:
|
||||
Changes from 1.11 to 1.11.1:
|
||||
|
||||
* There was a bug in the diff code which caused conflicts to be flagged which shouldn't
|
||||
have been. This has been fixed.
|
||||
* The "cvs diff" command now accepts the -y/--side=by-side and -T/
|
||||
--initial-tab options. (To use these options with a remote repository,
|
||||
both the client and the server must support them.)
|
||||
|
||||
* The expansion of the loginfo format string has changed slightly.
|
||||
Previously, the expansion was surrounded by single quotes ('); if a file
|
||||
name contained a single quote character, the string would not be parsed
|
||||
as a single entity by the Unix shell (and it would not be possible to
|
||||
parse it unambiguously). Now the expansion is surrounded by double
|
||||
quotes (") and any embedded dollar signs ($), backticks (`), backslashes
|
||||
(\), and double quotes are preceded by a backslash. This is parsed as a
|
||||
single entity by the shell reguardless of content. This change should
|
||||
not be noticable unless you're not using a Unix shell or you have
|
||||
embedded the format string inside a double quoted string.
|
||||
|
||||
* There was a bug in the diff code which sometimes caused conflicts to
|
||||
be flagged which shouldn't have been. This has been fixed.
|
||||
|
||||
* New "cvs rlog" and "cvs rannotate" commands have been added to get log
|
||||
messages and annotations without having to have a checked-out copy.
|
||||
|
||||
* Exclusive revision ranges have been added to "cvs log" using ::
|
||||
(similar to "cvs admin -o").
|
||||
|
||||
* The VMS client now accepts wildcards if you're running VMS 7.x.
|
||||
|
||||
* ZLIB has been updated to version 1.1.3, the most current version. This
|
||||
includes mostly some optimizations and minor bug fixes.
|
||||
|
||||
* The ~/.cvspass file has a slightly modified format. CVSROOTs are now
|
||||
stored in a new canonical form - hostnames are now case insensitive and port
|
||||
numbers are always stored in the new format. Until a new login for a
|
||||
particular CVSROOT is performed with the new version of CVS, new and old
|
||||
versions of CVS should interoperate invisibly. After that point, an extra login
|
||||
using the old version of CVS may be necessary to continue to allow the new and
|
||||
old versions of CVS to interoperate using the same ~/.cvspass file and CVSROOT.
|
||||
The exception to this rule occurs when the CVSROOTs used with the different
|
||||
versions use case insensitively different hostnames, for example, "empress",
|
||||
and "empress.2-wit.com".
|
||||
stored in a new canonical form - hostnames are now case insensitive and
|
||||
port numbers are always stored in the new format. Until a new login for
|
||||
a particular CVSROOT is performed with the new version of CVS, new and
|
||||
old versions of CVS should interoperate invisibly. After that point, an
|
||||
extra login using the old version of CVS may be necessary to continue to
|
||||
allow the new and old versions of CVS to interoperate using the same
|
||||
~/.cvspass file and CVSROOT. The exception to this rule occurs when the
|
||||
CVSROOTs used with the different versions use case insensitively
|
||||
different hostnames, for example, "empress", and "empress.2-wit.com".
|
||||
|
||||
* A password and a port number may now be specified in CVSROOT for pserver
|
||||
connections. The new format is:
|
||||
* A password and a port number may now be specified in CVSROOT for
|
||||
pserver connections. The new format is:
|
||||
|
||||
:pserver:[[user][:password]@]host[:[port]]/path
|
||||
|
||||
Note that passwords specified in a checkout command will be saved in the clear
|
||||
in the CVS/Root file in each created directory, so this is not recommended,
|
||||
except perhaps when accessing anonymous repositories or the like.
|
||||
Note that passwords specified in a checkout command will be saved in the
|
||||
clear in the CVS/Root file in each created directory, so this is not
|
||||
recommended, except perhaps when accessing anonymous repositories or the
|
||||
like.
|
||||
|
||||
* The distribution has been converted to use Automake. This shouldn't affect
|
||||
most users except to ease some portability concerns, but if you are building
|
||||
from the repository and encounter problems with the makefiles, you might try
|
||||
running ./noautoconf.sh after a fresh update -AC.
|
||||
* The distribution has been converted to use Automake. This shouldn't
|
||||
affect most users except to ease some portability concerns, but if you
|
||||
are building from the repository and encounter problems with the
|
||||
makefiles, you might try running ./noautomake.sh after a fresh update
|
||||
-AC.
|
||||
|
||||
Changes since 1.10:
|
||||
Changes from 1.10 to 1.11:
|
||||
|
||||
* The "cvs update" command has a new -C option to get clean copies from
|
||||
the repository, abandoning any local changes.
|
||||
|
||||
* The new "cvs version" command gives a short version message. If
|
||||
the repository is remote, both the client and server versions are
|
||||
@ -84,6 +126,11 @@ continues to be to put the lock files in the repository itself.
|
||||
|
||||
Changes from 1.9 to 1.10:
|
||||
|
||||
* A bug was discovered in the -t/-f wrapper support that can cause
|
||||
serious data loss. Because of this (and also the fact that it doesn't
|
||||
work at all in client/server mode), the -t/-f wrapper code has been
|
||||
disabled until it can be fixed.
|
||||
|
||||
* There is a new feature, enabled by TopLevelAdmin in CVSROOT/config,
|
||||
which tells CVS to modify the behavior of the "checkout" command. The
|
||||
command now creates a CVS directory at the top level of the new
|
||||
|
@ -75,6 +75,7 @@ Installation:
|
||||
|
||||
Please read the INSTALL file for installation instructions. Brief summary:
|
||||
|
||||
$ ./noautomake.sh --noautoconf
|
||||
$ ./configure
|
||||
$ make
|
||||
(run the regression tests if desired)
|
||||
|
@ -27,19 +27,22 @@ provide multiple versions of tools (typically an ancient, traditional
|
||||
version and a new, standards-conforming version), so you may already
|
||||
have a usable version even if the default version isn't. If you don't
|
||||
have a suitable tool, you can probably get one from the GNU Project (see
|
||||
http://www.gnu.org). expr and id are both part of the GNU shellutils
|
||||
package, tr is part of the GNU textutils package, and awk is part of the
|
||||
GNU gawk package. The test script tries to verify that the tools exist
|
||||
and are usable; if not, it tries to find the GNU versions and use them
|
||||
instead. If it can't find the GNU versions either, it will print an
|
||||
error message and, depending on the severity of the deficiency, it may
|
||||
exit.
|
||||
http://www.gnu.org). At this writting, expr and id are both part of the
|
||||
GNU shellutils package, tr is part of the GNU textutils package, and awk
|
||||
is part of the GNU gawk package. The test script tries to verify that
|
||||
the tools exist and are usable; if not, it tries to find the GNU
|
||||
versions and use them instead. If it can't find the GNU versions
|
||||
either, it will print an error message and, depending on the severity of
|
||||
the deficiency, it may exit. There are environment variables you can
|
||||
set to use a particular version of a tool -- see the test script
|
||||
(src/sanity.sh) for details.
|
||||
|
||||
If there is some unexpected output, that is a failure which can be
|
||||
somewhat hard to track down. Finding out which test is producing the
|
||||
output is not always easy. The newer tests (that is, ones using
|
||||
dotest*) will not have this problem, but there are many old tests
|
||||
which have not been converted.
|
||||
Some of the tests use fairly long command lines -- this usually isn't a
|
||||
problem, but if you have a very short command line length limit (or a
|
||||
lot of environment variables), you may run into trouble. Also, some of
|
||||
the tests expect your local timezone to be an integral number of hours
|
||||
from UTC -- if you usually use a fractional timezone, use a different
|
||||
(integral) timezone when running the tests to avoid spurious failures.
|
||||
|
||||
If running the tests produces the output "FAIL:" followed by the name
|
||||
of the test that failed, then the details on the failure are in the
|
||||
@ -161,3 +164,66 @@ c. have a send-expect type dialog with the program under test
|
||||
(e.g. see server-7 or pserver-4 which want to talk the CVS
|
||||
protocol, or the many tests which need to answer the prompt of "cvs
|
||||
release", e.g. deep-5).
|
||||
|
||||
ABOUT ADDING YOUR OWN TESTS
|
||||
***************************
|
||||
|
||||
As stated in the HACKING file, patches are not accepted without documentation
|
||||
and tests. Many people seem to be scared off by the large size of the
|
||||
sanity.sh script, but it is not really very complicated.
|
||||
|
||||
You can probably ignore most of the begining of the script. This section
|
||||
just sets some environment variables and finds the tools the script needs to
|
||||
run.
|
||||
|
||||
There is one main loop you can find by grepping for "The big loop". This loop
|
||||
repeatedly calls a case statement where the individual cases are of the form:
|
||||
|
||||
testname)
|
||||
...
|
||||
;;
|
||||
|
||||
If you add a complete new test be sure to add it into the default list of tests
|
||||
(grep for 'tests=' near the begining of the script) as well as the case
|
||||
statement. During debugging, be aware that the sanity.sh usage allows for a '-f
|
||||
testname' option to continue through the default list "from" a particular test
|
||||
as well as interpreting everything in argv past the required options as test
|
||||
names to run individual tests.
|
||||
|
||||
Within each major test section, individual tests usually look like:
|
||||
|
||||
dotest testname-subtestname "shell command" "optionally multiline regexp"
|
||||
|
||||
Tests should always start in $testdir and create a subdirectory to operate in
|
||||
and remove their cruft and end back in $testdir. The dotest functions output
|
||||
failure messages and exit if the shell command exits with the wrong exit code or
|
||||
its stdin/stderr output doesn't match the regexp. There are a few dotest
|
||||
variations, most notably dotest_fail for expected non-zero exit codes.
|
||||
|
||||
Other than that the script is mostly vanilla Bourne shell. There are a few
|
||||
constructs used for versatility and portability. You can grep for the ones I
|
||||
miss, but here are a few important ones. I'm leaving off long explanations
|
||||
after the first few since it probably gives you the idea and the data is in
|
||||
sanity.sh.
|
||||
|
||||
|
||||
* $testdir = the directory this test is taking place in
|
||||
(CVSROOT=$testdir/cvsroot or CVSROOT=:fork:$testdir/cvsroot)
|
||||
* $testcvs = full path to the cvs executable we are testing
|
||||
* $PLUS = expr dependant uninterpreted '+' since this can vary
|
||||
* $DOTSTAR = expr dependant _interpreted_ .* since some exprs don't match
|
||||
EOL
|
||||
* $username = regexp to match a username
|
||||
* $hostname = regexp to match a hostname
|
||||
* $PROG = regexp to match progname in CVS error messages
|
||||
* $remote = 'yes' or 'no', depending on whether the script is running with
|
||||
a remote CVSROOT
|
||||
|
||||
And, of course, some characters like '.' in regexps need to be '\' escaped when
|
||||
you mean them literally. Some characters may be interpreted by the shell,
|
||||
e.g. backquotes and '$', are usually either escaped or replaced with '.'.
|
||||
dotest adds the final '$' anchor to the regexp itself and all the expr
|
||||
implementations I know of implicitly supply the start anchor ('^').
|
||||
|
||||
If you only make a few mistakes, the work is, of course, still usable, though we
|
||||
may send the patch back to you for repair. :)
|
||||
|
@ -801,15 +801,35 @@ but most unlinks should probably be using unlink_file and not CVS_UNLINK.
|
||||
199. Add test for login & logout functionality, including support for
|
||||
backwards compatibility with old CVSROOTs.
|
||||
|
||||
200. Make a 'cvs add' without write access a non-fatal error so that the
|
||||
user's Entries file is updated and future 'cvs diffs' will work properly. This
|
||||
should ease patch submission.
|
||||
200. Make a 'cvs add' without write access a non-fatal error so that
|
||||
the user's Entries file is updated and future 'cvs diffs' will work
|
||||
properly. This should ease patch submission.
|
||||
|
||||
201. cvs_temp_file should be creating temporary files in a privately owned
|
||||
subdirectory of of temp due to security issues on some systems.
|
||||
|
||||
**
|
||||
202. Merge most of the diff & rdiff code. Enable rdiff to accept most diff
|
||||
options. Make rdiff output look like diff's. Make diff garbage go to stderr
|
||||
and only standard diff output go to stdout.
|
||||
** In progress - DRP
|
||||
202. Merge most of the diff & rdiff code. Enable rdiff to accept most
|
||||
diff options. Make rdiff output look like diff's. Make CVS diff
|
||||
garbage go to stderr and only standard diff output go to stdout.
|
||||
|
||||
203. Add val-tags additions to the tagging code. Don't remove the
|
||||
update additions since val-tags could still be used as a cache when the
|
||||
repository was imported from elsewhere (the tags weren't applied with a
|
||||
version which wrote val-tags).
|
||||
|
||||
204. Add test case for compression. A buf_shutdown error using compression
|
||||
wasn't caught by the test suite.
|
||||
|
||||
205. There are lots of cases where trailing slashes on directory names
|
||||
and other non-canonical paths confuse CVS. Most of the cases that do
|
||||
work are handled on an ad-hoc basis. We need to come up with a coherent
|
||||
strategy to address path canonicalization and apply it consistently.
|
||||
|
||||
206. Restore directory-at-a-time locking for tag operations instead of
|
||||
locking the entire tree.
|
||||
|
||||
207. Fix the branch following logic in log to work with CVS branching.
|
||||
Right now the code assumes RCS branching where all revisions on the
|
||||
branch have the same number of components in their revision numbers and
|
||||
that isn't true for CVS (revisions 1.2 and 2.4.6.8 can be on the same
|
||||
branch in CVS).
|
||||
|
@ -60,9 +60,11 @@ if test x$acx_gssapi_withgssapi = xyes; then
|
||||
fi
|
||||
unset ac_cv_header_gssapi_h
|
||||
unset ac_cv_header_gssapi_gssapi_h
|
||||
AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h])
|
||||
if test "$ac_cv_header_gssapi_h" = "yes" ||
|
||||
test "$ac_cv_header_gssapi_gssapi_h" = "yes"; then
|
||||
unset ac_cv_header_krb5_h
|
||||
AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h krb5.h])
|
||||
if (test "$ac_cv_header_gssapi_h" = yes ||
|
||||
test "$ac_cv_header_gssapi_gssapi_h" = yes) &&
|
||||
test "$ac_cv_header_krb5_h" = yes; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
367
contrib/cvs/aclocal.m4
vendored
367
contrib/cvs/aclocal.m4
vendored
@ -1,6 +1,6 @@
|
||||
# aclocal.m4 generated automatically by aclocal 1.4e
|
||||
# aclocal.m4 generated automatically by aclocal 1.5
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -73,9 +73,11 @@ if test x$acx_gssapi_withgssapi = xyes; then
|
||||
fi
|
||||
unset ac_cv_header_gssapi_h
|
||||
unset ac_cv_header_gssapi_gssapi_h
|
||||
AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h])
|
||||
if test "$ac_cv_header_gssapi_h" = "yes" ||
|
||||
test "$ac_cv_header_gssapi_gssapi_h" = "yes"; then
|
||||
unset ac_cv_header_krb5_h
|
||||
AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h krb5.h])
|
||||
if (test "$ac_cv_header_gssapi_h" = yes ||
|
||||
test "$ac_cv_header_gssapi_gssapi_h" = yes) &&
|
||||
test "$ac_cv_header_krb5_h" = yes; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
@ -295,7 +297,16 @@ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
|
||||
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
|
||||
# the ones we care about.
|
||||
ifdef([m4_pattern_allow],
|
||||
[m4_pattern_allow([^AM_(C|CPP|CXX|OBJC|F|R|GCJ)FLAGS])])dnl
|
||||
[m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
|
||||
|
||||
# Autoconf 2.50 always computes EXEEXT. However we need to be
|
||||
# compatible with 2.13, for now. So we always define EXEEXT, but we
|
||||
# don't compute it.
|
||||
AC_SUBST(EXEEXT)
|
||||
# Similar for OBJEXT -- only we only use OBJEXT if the user actually
|
||||
# requests that it be used. This is a bit dumb.
|
||||
: ${OBJEXT=o}
|
||||
AC_SUBST(OBJEXT)
|
||||
|
||||
# Some tools Automake needs.
|
||||
AC_REQUIRE([AM_SANITY_CHECK])dnl
|
||||
@ -306,23 +317,22 @@ AM_MISSING_PROG(AUTOMAKE, automake)
|
||||
AM_MISSING_PROG(AUTOHEADER, autoheader)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo)
|
||||
AM_MISSING_PROG(AMTAR, tar)
|
||||
AM_MISSING_INSTALL_SH
|
||||
AM_PROG_INSTALL_SH
|
||||
AM_PROG_INSTALL_STRIP
|
||||
# We need awk for the "check" target. The system "awk" is bad on
|
||||
# some platforms.
|
||||
AC_REQUIRE([AC_PROG_AWK])dnl
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AM_PROG_ETAGS])dnl
|
||||
AC_REQUIRE([AM_DEP_TRACK])dnl
|
||||
AC_REQUIRE([AM_SET_DEPDIR])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_][CC],
|
||||
[AM_DEPENDENCIES(CC)],
|
||||
[_AM_DEPENDENCIES(CC)],
|
||||
[define([AC_PROG_][CC],
|
||||
defn([AC_PROG_][CC])[AM_DEPENDENCIES(CC)])])dnl
|
||||
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_][CXX],
|
||||
[AM_DEPENDENCIES(CXX)],
|
||||
[_AM_DEPENDENCIES(CXX)],
|
||||
[define([AC_PROG_][CXX],
|
||||
defn([AC_PROG_][CXX])[AM_DEPENDENCIES(CXX)])])dnl
|
||||
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||
])
|
||||
|
||||
#
|
||||
@ -349,6 +359,7 @@ if (
|
||||
# -L didn't work.
|
||||
set X `ls -t $srcdir/configure conftest.file`
|
||||
fi
|
||||
rm -f conftest.file
|
||||
if test "$[*]" != "X $srcdir/configure conftest.file" \
|
||||
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
|
||||
|
||||
@ -369,7 +380,6 @@ else
|
||||
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||
Check your system clock])
|
||||
fi
|
||||
rm -f conftest*
|
||||
AC_MSG_RESULT(yes)])
|
||||
|
||||
|
||||
@ -383,32 +393,13 @@ $1=${$1-"${am_missing_run}$2"}
|
||||
AC_SUBST($1)])
|
||||
|
||||
|
||||
# AM_MISSING_INSTALL_SH
|
||||
# ---------------------
|
||||
# Like AM_MISSING_PROG, but only looks for install-sh.
|
||||
AC_DEFUN([AM_MISSING_INSTALL_SH],
|
||||
[AC_REQUIRE([AM_MISSING_HAS_RUN])
|
||||
if test -z "$install_sh"; then
|
||||
for install_sh in "$ac_aux_dir/install-sh" \
|
||||
"$ac_aux_dir/install.sh" \
|
||||
"${am_missing_run}${ac_auxdir}/install-sh";
|
||||
do
|
||||
test -f "$install_sh" && break
|
||||
done
|
||||
# FIXME: an evil hack: we remove the SHELL invocation from
|
||||
# install_sh because automake adds it back in. Sigh.
|
||||
install_sh=`echo $install_sh | sed -e 's/\${SHELL}//'`
|
||||
fi
|
||||
AC_SUBST(install_sh)])
|
||||
|
||||
|
||||
# AM_MISSING_HAS_RUN
|
||||
# ------------------
|
||||
# Define MISSING if not defined so far and test if it supports --run.
|
||||
# If it does, set am_missing_run to use it, otherwise, to nothing.
|
||||
AC_DEFUN([AM_MISSING_HAS_RUN],
|
||||
[test x"${MISSING+set}" = xset ||
|
||||
MISSING="\${SHELL} `CDPATH=:; cd $ac_aux_dir && pwd`/missing"
|
||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
|
||||
# Use eval to expand $SHELL
|
||||
if eval "$MISSING --run true"; then
|
||||
am_missing_run="$MISSING --run "
|
||||
@ -422,140 +413,71 @@ fi
|
||||
# AM_AUX_DIR_EXPAND
|
||||
|
||||
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
|
||||
# $ac_aux_dir to ${srcdir}/foo. In other projects, it is set to `.'.
|
||||
# Of course, Automake must honor this variable whenever it call a tool
|
||||
# from the auxiliary directory. The problem is that $srcdir (hence
|
||||
# $ac_aux_dir) can be either an absolute path or a path relative to
|
||||
# $top_srcdir or absolute, this depends on how configure is run. This
|
||||
# is pretty anoying since it makes $ac_aux_dir quite unusable in
|
||||
# subdirectories: on the top source directory, any form will work
|
||||
# fine, but in subdirectories relative pat needs to be adapted.
|
||||
# - calling $top_srcidr/$ac_aux_dir/missing would success if $srcdir is
|
||||
# relative, but fail if $srcdir is absolute
|
||||
# - conversly, calling $ax_aux_dir/missing would fail if $srcdir is
|
||||
# absolute, and success on relative paths.
|
||||
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
|
||||
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
|
||||
#
|
||||
# Consequently, we define and use $am_aux_dir, the "always absolute"
|
||||
# version of $ac_aux_dir.
|
||||
# Of course, Automake must honor this variable whenever it calls a
|
||||
# tool from the auxiliary directory. The problem is that $srcdir (and
|
||||
# therefore $ac_aux_dir as well) can be either absolute or relative,
|
||||
# depending on how configure is run. This is pretty annoying, since
|
||||
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
|
||||
# source directory, any form will work fine, but in subdirectories a
|
||||
# relative path needs to be adjusted first.
|
||||
#
|
||||
# $ac_aux_dir/missing
|
||||
# fails when called from a subdirectory if $ac_aux_dir is relative
|
||||
# $top_srcdir/$ac_aux_dir/missing
|
||||
# fails if $ac_aux_dir is absolute,
|
||||
# fails when called from a subdirectory in a VPATH build with
|
||||
# a relative $ac_aux_dir
|
||||
#
|
||||
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
|
||||
# are both prefixed by $srcdir. In an in-source build this is usually
|
||||
# harmless because $srcdir is `.', but things will broke when you
|
||||
# start a VPATH build or use an absolute $srcdir.
|
||||
#
|
||||
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
|
||||
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
|
||||
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
|
||||
# and then we would define $MISSING as
|
||||
# MISSING="\${SHELL} $am_aux_dir/missing"
|
||||
# This will work as long as MISSING is not called from configure, because
|
||||
# unfortunately $(top_srcdir) has no meaning in configure.
|
||||
# However there are other variables, like CC, which are often used in
|
||||
# configure, and could therefore not use this "fixed" $ac_aux_dir.
|
||||
#
|
||||
# Another solution, used here, is to always expand $ac_aux_dir to an
|
||||
# absolute PATH. The drawback is that using absolute paths prevent a
|
||||
# configured tree to be moved without reconfiguration.
|
||||
|
||||
AC_DEFUN([AM_AUX_DIR_EXPAND], [
|
||||
# expand $ac_aux_dir to an absolute path
|
||||
am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
|
||||
])
|
||||
|
||||
# AM_PROG_INSTALL_SH
|
||||
# ------------------
|
||||
# Define $install_sh.
|
||||
AC_DEFUN([AM_PROG_INSTALL_SH],
|
||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||
install_sh=${install_sh-"$am_aux_dir/install-sh"}
|
||||
AC_SUBST(install_sh)])
|
||||
|
||||
# One issue with vendor `install' (even GNU) is that you can't
|
||||
# specify the program used to strip binaries. This is especially
|
||||
# annoying in cross=compiling environments, where the build's strip
|
||||
# annoying in cross-compiling environments, where the build's strip
|
||||
# is unlikely to handle the host's binaries.
|
||||
# Fortunately install-sh will honor a STRIPPROG variable, so if we ever
|
||||
# need to use a non standard strip, we just have to make sure we use
|
||||
# install-sh with the STRIPPROG variable set.
|
||||
# Fortunately install-sh will honor a STRIPPROG variable, so we
|
||||
# always use install-sh in `make install-strip', and initialize
|
||||
# STRIPPROG with the value of the STRIP variable (set by the user).
|
||||
AC_DEFUN([AM_PROG_INSTALL_STRIP],
|
||||
[AC_REQUIRE([AM_MISSING_INSTALL_SH])
|
||||
dnl Don't test for $cross_compiling = yes, it might be `maybe'...
|
||||
# We'd like to do this but we can't because it will unconditionally
|
||||
# require config.guess. One way would be if autoconf had the capability
|
||||
# to let us compile in this code only when config.guess was already
|
||||
# a possibility.
|
||||
#if test "$cross_compiling" != no; then
|
||||
# # since we are cross-compiling, we need to check for a suitable `strip'
|
||||
# AM_PROG_STRIP
|
||||
# if test -z "$STRIP"; then
|
||||
# AC_MSG_WARN([strip missing, install-strip will not strip binaries])
|
||||
# fi
|
||||
#fi
|
||||
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
||||
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
|
||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||
|
||||
# If $STRIP is defined (either by the user, or by AM_PROG_STRIP),
|
||||
# instruct install-strip to use install-sh and the given $STRIP program.
|
||||
# Otherwise, just use ${INSTALL}: the idea is to use the vendor install
|
||||
# as much as possible, because it's faster.
|
||||
if test -z "$STRIP"; then
|
||||
# The top level make will set INSTALL_PROGRAM=$(INSTALL_STRIP_PROGRAM)
|
||||
# and the double dolard below is there to make sure that ${INSTALL}
|
||||
# is substitued in the sub-makes, not at the top-level; this is
|
||||
# needed if ${INSTALL} is a relative path (ajusted in each subdirectory
|
||||
# by config.status).
|
||||
INSTALL_STRIP_PROGRAM='$${INSTALL} -s'
|
||||
INSTALL_STRIP_PROGRAM_ENV=''
|
||||
else
|
||||
_am_dirpart="`echo $install_sh | sed -e 's,//*[[^/]]*$,,'`"
|
||||
INSTALL_STRIP_PROGRAM="\${SHELL} \`CDPATH=: && cd $_am_dirpart && pwd\`/install-sh -c -s"
|
||||
INSTALL_STRIP_PROGRAM_ENV="STRIPPROG='\$(STRIP)'"
|
||||
fi
|
||||
AC_SUBST([STRIP])
|
||||
AC_SUBST([INSTALL_STRIP_PROGRAM])
|
||||
AC_SUBST([INSTALL_STRIP_PROGRAM_ENV])])
|
||||
|
||||
#AC_DEFUN([AM_PROG_STRIP],
|
||||
#[# Check for `strip', unless the installer
|
||||
# has set the STRIP environment variable.
|
||||
# Note: don't explicitly check for -z "$STRIP" here because
|
||||
# that will cause problems if AC_CANONICAL_* is AC_REQUIREd after
|
||||
# this macro, and anyway it doesn't have an effect anyway.
|
||||
#AC_CHECK_TOOL([STRIP],[strip])
|
||||
#])
|
||||
|
||||
#
|
||||
# Find some information about the etags program
|
||||
#
|
||||
# Sets
|
||||
# ETAGS = path to etags
|
||||
# ETAGS_INCLUDE_OPTION = option to pass to etags with arg for includes
|
||||
#
|
||||
|
||||
AC_DEFUN([AM_PROG_ETAGS],
|
||||
[AC_BEFORE([$0], [AM_PROG_ETAGS_WORKS])dnl
|
||||
AC_CHECK_PROG(ETAGS, etags, etags)
|
||||
if test -z "$ETAGS"; then
|
||||
AC_CHECK_PROG(ETAGS, ctags, ctags -e)
|
||||
fi
|
||||
if test -n "$ETAGS"; then
|
||||
AM_PROG_ETAGS_WORKS
|
||||
if test "$am_cv_prog_etags_works" = yes ; then
|
||||
AM_PROG_ETAGS_INCLUDE_OPTION
|
||||
else
|
||||
AM_MISSING_PROG(ETAGS, etags)
|
||||
fi
|
||||
else
|
||||
AM_MISSING_PROG(ETAGS, etags)
|
||||
fi])
|
||||
# serial 4 -*- Autoconf -*-
|
||||
|
||||
|
||||
AC_DEFUN([AM_PROG_ETAGS_WORKS],
|
||||
[AC_CACHE_CHECK([whether ${ETAGS-etags} works], [am_cv_prog_etags_works],
|
||||
[cat >conftest.c <<EOF
|
||||
int globalvar;
|
||||
EOF
|
||||
if AC_TRY_COMMAND([${ETAGS-etags} -f - conftest.c |egrep ^int\ globalvar\; >&2]); then
|
||||
am_cv_prog_etags_works=yes
|
||||
else
|
||||
am_cv_prog_etags_works=no
|
||||
fi
|
||||
rm -f conftest.c])])
|
||||
|
||||
AC_DEFUN([AM_PROG_ETAGS_INCLUDE_OPTION],
|
||||
[AC_REQUIRE([AM_PROG_ETAGS_WORKS])dnl
|
||||
if test "$am_cv_prog_etags_works" = yes ; then
|
||||
AC_CACHE_CHECK([for etags include option],
|
||||
[am_cv_prog_etags_include_option],
|
||||
[cat >conftest.c <<EOF
|
||||
int globalvar;
|
||||
EOF
|
||||
if AC_TRY_COMMAND([${ETAGS-etags} --etags-include=TAGS.inc -f - conftest.c |egrep ^TAGS.inc,include\$ >&2]); then
|
||||
am_cv_prog_etags_include_option=--etags-include=
|
||||
elif AC_TRY_COMMAND([${ETAGS-etags} -i TAGS.inc -f - conftest.c |egrep ^TAGS.inc,include\$ >&2]); then
|
||||
am_cv_prog_etags_include_option='"-i "'
|
||||
else :
|
||||
# AC_MSG_ERROR(unfamiliar etags implementation)
|
||||
fi
|
||||
rm -f conftest.c])
|
||||
else
|
||||
:
|
||||
fi
|
||||
ETAGS_INCLUDE_OPTION="$am_cv_prog_etags_include_option"
|
||||
AC_SUBST(ETAGS_INCLUDE_OPTION)])
|
||||
|
||||
# serial 3
|
||||
|
||||
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
||||
# written in clear, in which case automake, when reading aclocal.m4,
|
||||
@ -563,53 +485,57 @@ AC_SUBST(ETAGS_INCLUDE_OPTION)])
|
||||
# C support machinery. Also note that it means that autoscan, seeing
|
||||
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
||||
|
||||
# AM_DEPENDENCIES(NAME)
|
||||
|
||||
|
||||
# _AM_DEPENDENCIES(NAME)
|
||||
# ---------------------
|
||||
# See how the compiler implements dependency checking.
|
||||
# NAME is "CC", "CXX" or "OBJC".
|
||||
# We try a few techniques and use that to set a single cache variable.
|
||||
AC_DEFUN([AM_DEPENDENCIES],
|
||||
#
|
||||
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
|
||||
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
|
||||
# dependency, and given that the user is not expected to run this macro,
|
||||
# just rely on AC_PROG_CC.
|
||||
AC_DEFUN([_AM_DEPENDENCIES],
|
||||
[AC_REQUIRE([AM_SET_DEPDIR])dnl
|
||||
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
|
||||
ifelse([$1], CC,
|
||||
[AC_REQUIRE([AC_PROG_][CC])dnl
|
||||
AC_REQUIRE([AC_PROG_][CPP])
|
||||
depcc="$CC"
|
||||
depcpp="$CPP"],
|
||||
[$1], CXX, [AC_REQUIRE([AC_PROG_][CXX])dnl
|
||||
AC_REQUIRE([AC_PROG_][CXXCPP])
|
||||
depcc="$CXX"
|
||||
depcpp="$CXXCPP"],
|
||||
[$1], OBJC, [am_cv_OBJC_dependencies_compiler_type=gcc],
|
||||
[AC_REQUIRE([AC_PROG_][$1])dnl
|
||||
depcc="$$1"
|
||||
depcpp=""])
|
||||
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
|
||||
AC_REQUIRE([AM_DEP_TRACK])dnl
|
||||
|
||||
AC_REQUIRE([AM_MAKE_INCLUDE])
|
||||
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
|
||||
[$1], CXX, [depcc="$CXX" am_compiler_list=],
|
||||
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
|
||||
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
|
||||
[depcc="$$1" am_compiler_list=])
|
||||
|
||||
AC_CACHE_CHECK([dependency style of $depcc],
|
||||
[am_cv_$1_dependencies_compiler_type],
|
||||
[if test -z "$AMDEP"; then
|
||||
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
|
||||
# We make a subdir and do the tests there. Otherwise we can end up
|
||||
# making bogus files that we don't know about and never remove. For
|
||||
# instance it was reported that on HP-UX the gcc test will end up
|
||||
# making a dummy file named `D' -- because `-MD' means `put the output
|
||||
# in D'.
|
||||
mkdir confdir
|
||||
mkdir conftest.dir
|
||||
# Copy depcomp to subdir because otherwise we won't find it if we're
|
||||
# using a relative directory.
|
||||
cp "$am_depcomp" confdir
|
||||
cd confdir
|
||||
cp "$am_depcomp" conftest.dir
|
||||
cd conftest.dir
|
||||
|
||||
am_cv_$1_dependencies_compiler_type=none
|
||||
for depmode in `sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < "./depcomp"`; do
|
||||
if test "$am_compiler_list" = ""; then
|
||||
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
||||
fi
|
||||
for depmode in $am_compiler_list; do
|
||||
# We need to recreate these files for each test, as the compiler may
|
||||
# overwrite some of them when testing with obscure command lines.
|
||||
# This happens at least with the AIX C compiler.
|
||||
echo '#include "conftest.h"' > conftest.c
|
||||
echo 'int i;' > conftest.h
|
||||
echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
|
||||
|
||||
case "$depmode" in
|
||||
case $depmode in
|
||||
nosideeffect)
|
||||
# after this tag, mechanisms are not by side-effect, so they'll
|
||||
# only be used when explicitly requested
|
||||
@ -624,18 +550,19 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
||||
# We check with `-c' and `-o' for the sake of the "dashmstdout"
|
||||
# mode. It turns out that the SunPro C++ compiler does not properly
|
||||
# handle `-M -o', and we need to detect this.
|
||||
if depmode="$depmode" \
|
||||
if depmode=$depmode \
|
||||
source=conftest.c object=conftest.o \
|
||||
depfile=conftest.Po tmpdepfile=conftest.TPo \
|
||||
$SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
|
||||
grep conftest.h conftest.Po > /dev/null 2>&1; then
|
||||
am_cv_$1_dependencies_compiler_type="$depmode"
|
||||
grep conftest.h conftest.Po > /dev/null 2>&1 &&
|
||||
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
||||
am_cv_$1_dependencies_compiler_type=$depmode
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
cd ..
|
||||
rm -rf confdir
|
||||
rm -rf conftest.dir
|
||||
else
|
||||
am_cv_$1_dependencies_compiler_type=none
|
||||
fi
|
||||
@ -648,16 +575,17 @@ AC_SUBST([$1DEPMODE])
|
||||
# AM_SET_DEPDIR
|
||||
# -------------
|
||||
# Choose a directory name for dependency files.
|
||||
# This macro is AC_REQUIREd in AM_DEPENDENCIES
|
||||
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
|
||||
AC_DEFUN([AM_SET_DEPDIR],
|
||||
[if test -d .deps || mkdir .deps 2> /dev/null || test -d .deps; then
|
||||
[rm -f .deps 2>/dev/null
|
||||
mkdir .deps 2>/dev/null
|
||||
if test -d .deps; then
|
||||
DEPDIR=.deps
|
||||
# We redirect because .deps might already exist and be populated.
|
||||
# In this situation we don't want to see an error.
|
||||
rmdir .deps > /dev/null 2>&1
|
||||
else
|
||||
# MS-DOS does not allow filenames that begin with a dot.
|
||||
DEPDIR=_deps
|
||||
fi
|
||||
rmdir .deps 2>/dev/null
|
||||
AC_SUBST(DEPDIR)
|
||||
])
|
||||
|
||||
@ -689,7 +617,7 @@ popdef([subst])
|
||||
# need in order to bootstrap the dependency handling code.
|
||||
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
|
||||
AC_OUTPUT_COMMANDS([
|
||||
test x"$AMDEP" != x"" ||
|
||||
test x"$AMDEP_TRUE" != x"" ||
|
||||
for mf in $CONFIG_FILES; do
|
||||
case "$mf" in
|
||||
Makefile) dirpart=.;;
|
||||
@ -726,7 +654,7 @@ for mf in $CONFIG_FILES; do
|
||||
echo '# dummy' > "$dirpart/$file"
|
||||
done
|
||||
done
|
||||
], [AMDEP="$AMDEP"
|
||||
], [AMDEP_TRUE="$AMDEP_TRUE"
|
||||
ac_aux_dir="$ac_aux_dir"])])
|
||||
|
||||
# AM_MAKE_INCLUDE()
|
||||
@ -740,27 +668,32 @@ doit:
|
||||
END
|
||||
# If we don't find an include directive, just comment out the code.
|
||||
AC_MSG_CHECKING([for style of include used by $am_make])
|
||||
_am_include='#'
|
||||
_am_quote=
|
||||
am__include='#'
|
||||
am__quote=
|
||||
_am_result=none
|
||||
# First try GNU make style include.
|
||||
echo "include confinc" > confmf
|
||||
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
||||
_am_include=include
|
||||
_am_quote=
|
||||
# We grep out `Entering directory' and `Leaving directory'
|
||||
# messages which can occur if `w' ends up in MAKEFLAGS.
|
||||
# In particular we don't look at `^make:' because GNU make might
|
||||
# be invoked under some other name (usually "gmake"), in which
|
||||
# case it prints its new name instead of `make'.
|
||||
if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
fi
|
||||
# Now try BSD make style include.
|
||||
if test "$_am_include" = "#"; then
|
||||
if test "$am__include" = "#"; then
|
||||
echo '.include "confinc"' > confmf
|
||||
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
||||
_am_include=.include
|
||||
_am_quote='"'
|
||||
am__include=.include
|
||||
am__quote='"'
|
||||
_am_result=BSD
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(_am_include)
|
||||
AC_SUBST(_am_quote)
|
||||
AC_SUBST(am__include)
|
||||
AC_SUBST(am__quote)
|
||||
AC_MSG_RESULT($_am_result)
|
||||
rm -f confinc confmf
|
||||
])
|
||||
@ -859,3 +792,43 @@ AC_DEFUN([_AM_DIRNAME],
|
||||
m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
|
||||
]) # _AM_DIRNAME
|
||||
|
||||
# serial 2
|
||||
|
||||
# AM_PROG_CC_C_O
|
||||
# --------------
|
||||
# Like AC_PROG_CC_C_O, but changed for automake.
|
||||
AC_DEFUN([AM_PROG_CC_C_O],
|
||||
[AC_REQUIRE([AC_PROG_CC_C_O])dnl
|
||||
AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||
# FIXME: we rely on the cache variable name because
|
||||
# there is no other way.
|
||||
set dummy $CC
|
||||
ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
|
||||
if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
|
||||
# Losing compiler, so override with the script.
|
||||
# FIXME: It is wrong to rewrite CC.
|
||||
# But if we don't then we get into trouble of one sort or another.
|
||||
# A longer-term fix would be to have automake use am__CC in this case,
|
||||
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
|
||||
CC="$am_aux_dir/compile $CC"
|
||||
fi
|
||||
])
|
||||
|
||||
#serial 1
|
||||
# This test replaces the one in autoconf.
|
||||
# Currently this macro should have the same name as the autoconf macro
|
||||
# because gettext's gettext.m4 (distributed in the automake package)
|
||||
# still uses it. Otherwise, the use in gettext.m4 makes autoheader
|
||||
# give these diagnostics:
|
||||
# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
|
||||
# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
|
||||
|
||||
undefine([AC_ISC_POSIX])
|
||||
|
||||
AC_DEFUN([AC_ISC_POSIX],
|
||||
[
|
||||
dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
|
||||
AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
|
||||
]
|
||||
)
|
||||
|
||||
|
82
contrib/cvs/compile
Executable file
82
contrib/cvs/compile
Executable file
@ -0,0 +1,82 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Wrapper for compilers which do not understand `-c -o'.
|
||||
|
||||
# Copyright 1999, 2000 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Usage:
|
||||
# compile PROGRAM [ARGS]...
|
||||
# `-o FOO.o' is removed from the args passed to the actual compile.
|
||||
|
||||
prog=$1
|
||||
shift
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
args=
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
-o)
|
||||
ofile=$2
|
||||
shift
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
args="$args $1"
|
||||
;;
|
||||
*)
|
||||
args="$args $1"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
test -z "$ofile" && {
|
||||
echo "compile: no \`-o' option seen" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
test -z "$cfile" && {
|
||||
echo "compile: no \`.c' file seen" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
lockdir=`echo $ofile | sed -e 's|/|_|g'`
|
||||
while true; do
|
||||
if mkdir $lockdir > /dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir $lockdir; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$prog" $args
|
||||
status=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
mv "$cofile" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir $lockdir
|
||||
exit $status
|
@ -22,6 +22,9 @@
|
||||
/* Define if you support file names longer than 14 characters. */
|
||||
#undef HAVE_LONG_FILE_NAMES
|
||||
|
||||
/* Define if you have a working `mmap' system call. */
|
||||
#undef HAVE_MMAP
|
||||
|
||||
/* Define if your struct stat has st_blksize. */
|
||||
#undef HAVE_ST_BLKSIZE
|
||||
|
||||
@ -43,6 +46,9 @@
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
#undef mode_t
|
||||
|
||||
/* Define if your C compiler doesn't accept -c and -o together. */
|
||||
#undef NO_MINUS_C_MINUS_O
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
#undef pid_t
|
||||
|
||||
@ -275,6 +281,9 @@
|
||||
/* Define if you have the <ndir.h> header file. */
|
||||
#undef HAVE_NDIR_H
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
@ -299,12 +308,18 @@
|
||||
/* Define if you have the <sys/select.h> header file. */
|
||||
#undef HAVE_SYS_SELECT_H
|
||||
|
||||
/* Define if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define if you have the <sys/time.h> header file. */
|
||||
#undef HAVE_SYS_TIME_H
|
||||
|
||||
/* Define if you have the <sys/timeb.h> header file. */
|
||||
#undef HAVE_SYS_TIMEB_H
|
||||
|
||||
/* Define if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define if you have the <syslog.h> header file. */
|
||||
#undef HAVE_SYSLOG_H
|
||||
|
||||
|
1698
contrib/cvs/configure
vendored
1698
contrib/cvs/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1,18 +1,30 @@
|
||||
dnl configure.in for cvs
|
||||
AC_INIT(src/cvs.h)
|
||||
AM_INIT_AUTOMAKE(cvs, 1.11.1p1)
|
||||
AM_INIT_AUTOMAKE(cvs, 1.11.2)
|
||||
AC_PREREQ(2.13)
|
||||
AC_PREFIX_PROGRAM(cvs)
|
||||
AM_CONFIG_HEADER(config.h src/options.h)
|
||||
|
||||
AC_PROG_AWK
|
||||
AC_PROG_CC
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_MAKE_SET
|
||||
# Automake's more advanced version of AC_PROG_RANLIB
|
||||
AM_PROG_CC_C_O
|
||||
|
||||
dnl FIXME the next three calls should be avoided according to autoconf
|
||||
dnl philosophy. for example, AC_CHECK_LIB should be used to look for crypt.
|
||||
dnl
|
||||
dnl These are here instead of later because they want to be called before
|
||||
dnl anything that calls a C compiler.
|
||||
AC_AIX
|
||||
AC_MINIX
|
||||
AC_ISC_POSIX
|
||||
if test "$ISC" = yes; then
|
||||
CFLAGS="$CFLAGS -D_SYSV3"
|
||||
LIBS="-lcrypt $LIBS"
|
||||
fi
|
||||
|
||||
AC_PROG_RANLIB
|
||||
AC_PROG_YACC
|
||||
AC_PROG_LN_S
|
||||
AC_EXEEXT
|
||||
|
||||
AC_PATH_PROG(PERL, perl, no)
|
||||
AC_PATH_PROG(CSH, csh, no)
|
||||
@ -26,6 +38,9 @@ dnl FIXME This is truly gross.
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
dnl FIXME I pulled this default list from sanity.sh. Perhaps these lists
|
||||
dnl can be stored in one location?
|
||||
dnl
|
||||
dnl Yeah, put the value in a variable add it to the substitution list
|
||||
dnl then have configure create sanity.sh from sanity.sh.in...
|
||||
glocs="$PATH:/usr/local/bin:/usr/contrib/bin:/usr/gnu/bin:/local/bin:/local/gnu/bin:/gnu/bin"
|
||||
AC_PATH_PROGS(ROFF, groff roff, $missing_dir/missing roff, $glocs)
|
||||
AC_PATH_PROG(PS2PDF, ps2pdf, $missing_dir/missing ps2pdf)
|
||||
@ -66,21 +81,29 @@ AM_CONDITIONAL(MAKE_TARGETS_IN_VPATH, \
|
||||
test $ccvs_cv_bsd_make_vpath_bug = no \
|
||||
|| test $srcdir = .)
|
||||
|
||||
AC_AIX
|
||||
AC_MINIX
|
||||
AC_ISC_POSIX
|
||||
if test "$ISC" = yes; then
|
||||
CFLAGS="$CFLAGS -D_SYSV3"
|
||||
LIBS="-lcrypt $LIBS"
|
||||
fi
|
||||
|
||||
AC_HEADER_DIRENT
|
||||
AC_HEADER_STDC
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_CHECK_HEADERS(errno.h unistd.h string.h memory.h utime.h fcntl.h ndbm.h \
|
||||
limits.h sys/file.h \
|
||||
sys/param.h sys/select.h sys/time.h sys/timeb.h \
|
||||
io.h direct.h sys/bsdtypes.h sys/resource.h syslog.h)
|
||||
AC_CHECK_HEADERS(\
|
||||
errno.h \
|
||||
direct.h \
|
||||
fcntl.h \
|
||||
io.h \
|
||||
limits.h \
|
||||
memory.h \
|
||||
ndbm.h \
|
||||
string.h \
|
||||
syslog.h \
|
||||
sys/bsdtypes.h \
|
||||
sys/file.h \
|
||||
sys/param.h \
|
||||
sys/resource.h \
|
||||
sys/select.h \
|
||||
sys/time.h \
|
||||
sys/timeb.h \
|
||||
unistd.h \
|
||||
utime.h\
|
||||
)
|
||||
AC_HEADER_STAT
|
||||
AC_HEADER_TIME
|
||||
|
||||
@ -93,7 +116,17 @@ AC_TYPE_SIGNAL
|
||||
|
||||
AC_STRUCT_ST_BLKSIZE
|
||||
AC_STRUCT_ST_RDEV
|
||||
AC_REPLACE_FUNCS(mkdir rename strstr dup2 strerror valloc waitpid memmove strtoul)
|
||||
AC_REPLACE_FUNCS(\
|
||||
dup2 \
|
||||
memmove \
|
||||
mkdir \
|
||||
rename \
|
||||
strerror \
|
||||
strstr \
|
||||
strtoul\
|
||||
valloc \
|
||||
waitpid \
|
||||
)
|
||||
AC_CHECK_FUNCS(\
|
||||
fchdir \
|
||||
fchmod \
|
||||
@ -174,6 +207,9 @@ if test "$ac_cv_func_fnmatch_works" = no; then
|
||||
LIBOBJS="$LIBOBJS fnmatch.o"
|
||||
fi
|
||||
|
||||
dnl for the buffer routine replacements
|
||||
AC_FUNC_MMAP
|
||||
|
||||
# Try to find connect and gethostbyname.
|
||||
AC_CHECK_LIB(nsl, main,
|
||||
AC_SEARCH_LIBS(connect, xnet socket inet, AC_DEFINE(HAVE_CONNECT),, -lnsl),
|
||||
@ -319,6 +355,11 @@ dnl Windows support code in lib/fncase.c to handle the case
|
||||
dnl insensitive file system. We also need some support libraries. We
|
||||
dnl do this at the end so that the new libraries are added at the end
|
||||
dnl of LIBS.
|
||||
dnl
|
||||
dnl FIXME: We should be trying to meet the autoconf ideal of checking for
|
||||
dnl the properties of the system rather than the name of the os here. In other
|
||||
dnl words, we should check the case sensitivty of the system and then for
|
||||
dnl the support functions we are using and which library we find them in.
|
||||
AC_CACHE_CHECK(for cygwin32, ccvs_cv_sys_cygwin32,
|
||||
[AC_TRY_COMPILE([], [return __CYGWIN32__;],
|
||||
ccvs_cv_sys_cygwin32=yes, ccvs_cv_sys_cygwin32=no)])
|
||||
@ -345,6 +386,7 @@ test -f src/options.h && (
|
||||
)
|
||||
|
||||
AC_OUTPUT([Makefile \
|
||||
cvs.spec \
|
||||
contrib/Makefile \
|
||||
contrib/clmerge \
|
||||
contrib/cln_hist \
|
||||
@ -353,6 +395,7 @@ AC_OUTPUT([Makefile \
|
||||
contrib/log \
|
||||
contrib/log_accum \
|
||||
contrib/mfpipe \
|
||||
contrib/pvcs2rcs \
|
||||
contrib/rcslock \
|
||||
contrib/sccs2rcs \
|
||||
diff/Makefile \
|
||||
@ -363,12 +406,13 @@ AC_OUTPUT([Makefile \
|
||||
os2/Makefile \
|
||||
src/Makefile \
|
||||
src/cvsbug \
|
||||
src/version.h \
|
||||
tools/Makefile \
|
||||
vms/Makefile \
|
||||
windows-NT/Makefile \
|
||||
windows-NT/SCC/Makefile \
|
||||
zlib/Makefile],
|
||||
[chmod -f +x \
|
||||
[chmod +x \
|
||||
contrib/clmerge \
|
||||
contrib/cln_hist \
|
||||
contrib/commit_prep \
|
||||
@ -376,6 +420,7 @@ AC_OUTPUT([Makefile \
|
||||
contrib/log \
|
||||
contrib/log_accum \
|
||||
contrib/mfpipe \
|
||||
contrib/pvcs2rcs \
|
||||
contrib/rcslock \
|
||||
contrib/sccs2rcs \
|
||||
src/cvsbug])
|
||||
|
@ -1,3 +1,124 @@
|
||||
2002-03-21 Derek Price <oberon@umich.edu>
|
||||
|
||||
* Makefile.am (install-data-local): Import a patch from RedHat which
|
||||
was no longer necessary but causes a FIXME to print - maybe someone
|
||||
will see it and fix it.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-12-06 Derek Price <oberon@umich.edu>
|
||||
|
||||
* cvs_acls.in: Allow ACL specification based on branch matching.
|
||||
(Patch from Aaron Voisine <voisine@bytemobile.com>.)
|
||||
|
||||
2001-10-16 Derek Price <dprice@collab.net>
|
||||
|
||||
* sccs2rcs.in: Replace Y2K bug fix with something more succint.
|
||||
(Suggested by SAKAI Hiroaki <sakai.hiroaki@pfu.fujitsu.com>.)
|
||||
|
||||
2001-10-16 Derek Price <dprice@collab.net>
|
||||
|
||||
* rcs2sccs.in: Fix Y2K bug.
|
||||
(Patch from SAKAI Hiroaki <sakai.hiroaki@pfu.fujitsu.com>.)
|
||||
|
||||
2001-09-06 Larry Jones <larry.jones@sdrc.com>
|
||||
for Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
Sync with revision 1.48 of the GNU Emacs sources. This
|
||||
incorporates the following changes:
|
||||
|
||||
* rcs2log (Help, mainline code): Add new option -L FILE.
|
||||
(Copyright): Update year.
|
||||
|
||||
(LANG, LANGUAGE, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES,
|
||||
LC_NUMERIC, LC_TIME): New shell vars, to make sure we live in the C locale.
|
||||
|
||||
(mainline code): Handle nonstandard -u option differently, by
|
||||
transforming it to standard form. Check for "Working file: ", not
|
||||
"Working file:". Allow file names with spaces.
|
||||
|
||||
(SOH, rlogfile): New shell vars.
|
||||
(rlogout): Remove. Its old functionality is mostly migrated to rlogfile.
|
||||
|
||||
Append ';;' to the last arm of every case statement, for portability to
|
||||
ancient broken BSD shells.
|
||||
|
||||
(logins): Fix bug; was not being computed at all, lowering performance.
|
||||
|
||||
(pository): New var. This fixes some bugs where repositories are
|
||||
remote, or have trailing slashes.
|
||||
|
||||
(authors): $llogout is never an empty shell var, so don't worry about that
|
||||
possibility.
|
||||
|
||||
(printlogline, mainline code): Fix bug with SOH's being put into the output.
|
||||
|
||||
|
||||
2001-07-20 Gerd Moellmann <gerd@gnu.org>
|
||||
|
||||
* rcs2log: Update copyright notice.
|
||||
|
||||
|
||||
2001-01-03 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* rcs2log: Avoid security hole allowing attacker to
|
||||
cause user of rcs2log to overwrite arbitrary files, fixing
|
||||
a bug reported by Morten Welinder.
|
||||
|
||||
Don't put "exit 1" at the end of the exit trap; it's
|
||||
ineffective in POSIX shells.
|
||||
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with automake 1.5.
|
||||
|
||||
2001-08-21 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* sccs2rcs.in: Fix typo: missing quote.
|
||||
(Patch submitted by "Mark D. Baushke" <mdb@cvshome.org>.)
|
||||
|
||||
2001-08-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-07-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new Automake release candidate 1.4h.
|
||||
|
||||
2001-06-28 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new version of Automake.
|
||||
|
||||
2001-05-30 Derek Price <dprice@collab.net>
|
||||
|
||||
* pvcs2cvs.in: Rename to...
|
||||
* pvcs2rcs.in: here.
|
||||
* .cvsignore: Add pvcs2rcs.
|
||||
* Makefile.am (contrib_SCRIPTS): Change pvcs2cvs to pvcs2rcs.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-05-29 Derek Price <dprice@collab.net>
|
||||
patch from Pavel Roskin <proski@gnu.org>
|
||||
|
||||
* Makefile.am (install-data-local): Double hash comment in rule since
|
||||
single hash comments are not portable.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-05-29 Derek Price <dprice@collab.net>
|
||||
|
||||
* pvcs2cvs.in: New file.
|
||||
* Makefile.am (contrib_SCRIPTS): Add pcvs2cvs.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-05-23 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* sccs2rcs.in: No need for grep when you're already using awk.
|
||||
|
||||
* sccs2rcs.in: Fix y2k bug correctly.
|
||||
(Reported by "Hayes, Ted (London)" <HayesRog@exchange.uk.ml.com>.)
|
||||
|
||||
2001-04-25 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400.
|
||||
|
@ -38,6 +38,7 @@ contrib_SCRIPTS = \
|
||||
log \
|
||||
log_accum \
|
||||
mfpipe \
|
||||
pvcs2rcs \
|
||||
rcs-to-cvs \
|
||||
rcs2log \
|
||||
rcslock \
|
||||
@ -72,8 +73,8 @@ CLEANFILES = $(bin_SCRIPTS) $(contrib_SCRIPTS)
|
||||
|
||||
# we'd rather have a link here rather than two copies of a script
|
||||
install-data-local:
|
||||
# FIXME - this path should be determined dynamically from bindir
|
||||
# & contribdir
|
||||
: FIXME - this path should be determined dynamically from bindir
|
||||
: and contribdir
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
@list='$(bin_LINKS)'; for p in $$list; do \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4e from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@ -39,7 +39,6 @@
|
||||
#
|
||||
# CONTRIB_FILES = README intro.doc cvscheck.man
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@ -60,11 +59,9 @@ infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
@ -78,7 +75,6 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
@ -90,25 +86,22 @@ AWK = @AWK@
|
||||
CC = @CC@
|
||||
CSH = @CSH@
|
||||
DEPDIR = @DEPDIR@
|
||||
ETAGS = @ETAGS@
|
||||
ETAGS_INCLUDE_OPTION = @ETAGS_INCLUDE_OPTION@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTALL_STRIP_PROGRAM_ENV = @INSTALL_STRIP_PROGRAM_ENV@
|
||||
KRB4 = @KRB4@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
includeopt = @includeopt@
|
||||
install_sh = @install_sh@
|
||||
|
||||
@ -125,6 +118,7 @@ contrib_SCRIPTS = \
|
||||
log \
|
||||
log_accum \
|
||||
mfpipe \
|
||||
pvcs2rcs \
|
||||
rcs-to-cvs \
|
||||
rcs2log \
|
||||
rcslock \
|
||||
@ -163,13 +157,11 @@ EXTRA_DIST = \
|
||||
CLEANFILES = $(bin_SCRIPTS) $(contrib_SCRIPTS)
|
||||
|
||||
SUFFIXES = .sh
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
subdir = contrib
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
|
||||
CONFIG_CLEAN_FILES = clmerge cln_hist commit_prep cvs_acls log log_accum \
|
||||
mfpipe rcslock sccs2rcs
|
||||
mfpipe pvcs2rcs rcslock sccs2rcs
|
||||
SCRIPTS = $(contrib_SCRIPTS)
|
||||
|
||||
DIST_SOURCES =
|
||||
@ -177,16 +169,14 @@ DATA = $(contrib_DATA)
|
||||
|
||||
DIST_COMMON = README ChangeLog Makefile.am Makefile.in clmerge.in \
|
||||
cln_hist.in commit_prep.in cvs_acls.in log.in log_accum.in \
|
||||
mfpipe.in rcslock.in sccs2rcs.in
|
||||
mfpipe.in pvcs2rcs.in rcslock.in sccs2rcs.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .sh
|
||||
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu contrib/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
@ -205,6 +195,8 @@ log_accum: $(top_builddir)/config.status log_accum.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
mfpipe: $(top_builddir)/config.status mfpipe.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
pvcs2rcs: $(top_builddir)/config.status pvcs2rcs.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
rcslock: $(top_builddir)/config.status rcslock.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
sccs2rcs: $(top_builddir)/config.status sccs2rcs.in
|
||||
@ -230,6 +222,7 @@ uninstall-contribSCRIPTS:
|
||||
echo " rm -f $(DESTDIR)$(contribdir)/$$f"; \
|
||||
rm -f $(DESTDIR)$(contribdir)/$$f; \
|
||||
done
|
||||
uninstall-info-am:
|
||||
install-contribDATA: $(contrib_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(contribdir)
|
||||
@ -258,7 +251,11 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
|| exit 1; \
|
||||
@ -284,24 +281,21 @@ install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_PROGRAM_ENV='$(INSTALL_STRIP_PROGRAM_ENV)' install
|
||||
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f Makefile.in
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
@ -310,11 +304,11 @@ distclean: distclean-am
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi:
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
info:
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
@ -323,7 +317,7 @@ install-data-am: install-contribDATA install-contribSCRIPTS \
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info:
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
@ -338,23 +332,24 @@ mostlyclean: mostlyclean-am
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
uninstall-am: uninstall-contribDATA uninstall-contribSCRIPTS \
|
||||
uninstall-local
|
||||
uninstall-info-am uninstall-local
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic distclean \
|
||||
distclean-generic distdir dvi dvi-am info info-am install \
|
||||
install-am install-contribDATA install-contribSCRIPTS \
|
||||
install-data install-data-am install-data-local install-exec \
|
||||
install-exec-am install-info install-man install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
uninstall uninstall-am uninstall-contribDATA \
|
||||
uninstall-contribSCRIPTS uninstall-local
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic uninstall uninstall-am \
|
||||
uninstall-contribDATA uninstall-contribSCRIPTS \
|
||||
uninstall-info-am uninstall-local
|
||||
|
||||
|
||||
# we'd rather have a link here rather than two copies of a script
|
||||
install-data-local:
|
||||
# FIXME - this path should be determined dynamically from bindir
|
||||
# & contribdir
|
||||
: FIXME - this path should be determined dynamically from bindir
|
||||
: and contribdir
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
@list='$(bin_LINKS)'; for p in $$list; do \
|
||||
@ -385,7 +380,6 @@ uninstall-local:
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
.PHONY: realclean
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
@ -2,6 +2,7 @@
|
||||
# -*-Perl-*-
|
||||
#
|
||||
# Access control lists for CVS. dgg@ksr.com (David G. Grubbs)
|
||||
# Branch specific controls added by voisine@bytemobile.com (Aaron Voisine)
|
||||
#
|
||||
# CVS "commitinfo" for matching repository names, running the program it finds
|
||||
# on the same line. More information is available in the CVS man pages.
|
||||
@ -32,7 +33,7 @@
|
||||
# Lines beginning with "avail" or "unavail" are assumed to be '|'-separated
|
||||
# triples: (All spaces and tabs are ignored in a line.)
|
||||
#
|
||||
# {avail.*,unavail.*} [| user,user,... [| repos,repos,...]]
|
||||
# {avail.*,unavail.*} [|user,user,... [|repos,repos,... [|branch,branch,...]]]
|
||||
#
|
||||
# 1. String starting with "avail" or "unavail".
|
||||
# 2. Optional, comma-separated list of usernames.
|
||||
@ -40,6 +41,9 @@
|
||||
# These are pathnames relative to $CVSROOT. They can be directories or
|
||||
# filenames. A directory name allows access to all files and
|
||||
# directories below it.
|
||||
# 4. Optional, comma-separated list of branch tags.
|
||||
# If not specified, all branches are assumed. Use HEAD to reference the
|
||||
# main branch.
|
||||
#
|
||||
# Example: (Text from the ';;' rightward may not appear in the file.)
|
||||
#
|
||||
@ -47,6 +51,8 @@
|
||||
# avail|dgg ;; Except for user "dgg".
|
||||
# avail|fred, john|bin/ls ;; Except when "fred" or "john" commit to
|
||||
# ;; the module whose repository is "bin/ls"
|
||||
# avail|ed|/bin/ls|stable ;; Except when "ed" commits to the "stable"
|
||||
# ;; branch of the "bin/ls" repository
|
||||
#
|
||||
# PROGRAM LOGIC:
|
||||
#
|
||||
@ -54,8 +60,8 @@
|
||||
# appended to your $CVSROOT variable), followed by a list of filenames
|
||||
# within that directory.
|
||||
#
|
||||
# We walk through the avail file looking for a line that matches both
|
||||
# the username and repository.
|
||||
# We walk through the avail file looking for a line that matches the
|
||||
# username, repository and branch.
|
||||
#
|
||||
# A username match is simply the user's name appearing in the second
|
||||
# column of the avail line in a space-or-comma separate list.
|
||||
@ -73,10 +79,18 @@
|
||||
# all files specified in a single commit must all appear in
|
||||
# third column of a single avail line.
|
||||
#
|
||||
# A branch match is either:
|
||||
# - When no branches are listed in the fourth column.
|
||||
# - One element from the fourth column matches each of the tag
|
||||
# names for $ARGV[1..$#ARGV] found in the CVS/Entries file.
|
||||
# - HEAD specified in the fourth column will match if there
|
||||
# is no tag listed in the CVS/Entries file.
|
||||
#
|
||||
|
||||
$debug = 0;
|
||||
$cvsroot = $ENV{'CVSROOT'};
|
||||
$availfile = $cvsroot . "/CVSROOT/avail";
|
||||
$entries = "CVS/Entries";
|
||||
$myname = $ENV{"USER"} if !($myname = $ENV{"LOGNAME"});
|
||||
|
||||
eval "print STDERR \$die='Unknown parameter $1\n' if !defined \$$1; \$$1=\$';"
|
||||
@ -92,12 +106,27 @@ print "$$ Repos: $repos\n","$$ ==== ",join("\n$$ ==== ",@ARGV),"\n" if $debug;
|
||||
$exit_val = 0; # Good Exit value
|
||||
|
||||
$universal_off = 0;
|
||||
|
||||
my %branch;
|
||||
my $f;
|
||||
|
||||
open(ENTRIES, $entries) || die("Cannot open $entries.\n");
|
||||
while(<ENTRIES>) {
|
||||
chop;
|
||||
next if /^\s*$/;
|
||||
if(m|^[^/]*/([^/]*)/(?:[^/]*/)*[^/]?([^/]*)$|) {
|
||||
$branch{$repos . '/' . $1} = ($2) ? $2 : "HEAD";
|
||||
print "$$ $1/$2\n" if $debug;
|
||||
}
|
||||
}
|
||||
close(ENTRIES);
|
||||
|
||||
open (AVAIL, $availfile) || exit(0); # It is ok for avail file not to exist
|
||||
while (<AVAIL>) {
|
||||
chop;
|
||||
next if /^\s*\#/;
|
||||
next if /^\s*$/;
|
||||
($flagstr, $u, $m) = split(/[\s,]*\|[\s,]*/, $_);
|
||||
($flagstr, $u, $m, $b) = split(/[\s,]*\|[\s,]*/, $_);
|
||||
|
||||
# Skip anything not starting with "avail" or "unavail" and complain.
|
||||
(print "Bad avail line: $_\n"), next
|
||||
@ -107,7 +136,7 @@ while (<AVAIL>) {
|
||||
$flag = (($& eq "avail") ? 0 : 1);
|
||||
|
||||
# If we find a "universal off" flag (i.e. a simple "unavail") remember it
|
||||
$universal_off = 1 if ($flag && !$u && !$m);
|
||||
$universal_off = 1 if ($flag && !$u && !$m && !$b);
|
||||
|
||||
# $myname considered "in user list" if actually in list or is NULL
|
||||
$in_user = (!$u || grep ($_ eq $myname, split(/[\s,]+/,$u)));
|
||||
@ -130,12 +159,26 @@ while (<AVAIL>) {
|
||||
}
|
||||
print "$$ \$repos($repos) in repository list: $_\n" if $debug && $in_repo;
|
||||
|
||||
$exit_val = $flag if ($in_user && $in_repo);
|
||||
# Branch matches if it is in the branch list in the avail line, the branch
|
||||
# list is NULL, or there is no branch and HEAD is in the branch list.
|
||||
if(!($in_branch = !$b)) {
|
||||
@bls = split (/[\s,]+/,$b);
|
||||
|
||||
for $j (@ARGV) {
|
||||
$f = $j;
|
||||
last if !($in_branch = grep($_ eq $branch{$j}, @bls));
|
||||
}
|
||||
}
|
||||
print "$$ \$branch($branch{$f}) in branch list: $_\n"
|
||||
if $debug && $in_branch;
|
||||
|
||||
$exit_val = $flag if ($in_user && $in_repo && $in_branch);
|
||||
print "$$ ==== \$exit_val = $exit_val\n$$ ==== \$flag = $flag\n" if $debug;
|
||||
}
|
||||
close(AVAIL);
|
||||
print "$$ ==== \$exit_val = $exit_val\n" if $debug;
|
||||
print "**** Access denied: Insufficient Karma ($myname|$repos)\n" if $exit_val;
|
||||
print "**** Access denied: Insufficient Karma ($myname|$repos|$branch{$f})\n"
|
||||
if $exit_val;
|
||||
print "**** Access allowed: Personal Karma exceeds Environmental Karma.\n"
|
||||
if $universal_off && !$exit_val;
|
||||
exit($exit_val);
|
||||
|
1150
contrib/cvs/contrib/pvcs2rcs.in
Normal file
1150
contrib/cvs/contrib/pvcs2rcs.in
Normal file
File diff suppressed because it is too large
Load Diff
@ -18,6 +18,7 @@ Options:
|
||||
-h HOSTNAME Use HOSTNAME in change log entries (default current host).
|
||||
-i INDENT Indent change log lines by INDENT spaces (default 8).
|
||||
-l LENGTH Try to limit log lines to LENGTH characters (default 79).
|
||||
-L FILE Use rlog-format FILE for source of logs.
|
||||
-R If no FILEs are given and RCS is used, recurse through working directory.
|
||||
-r OPTION Pass OPTION to subsidiary log command.
|
||||
-t TABWIDTH Tab stops are every TABWIDTH characters (default 8).
|
||||
@ -28,9 +29,10 @@ Options:
|
||||
|
||||
Report bugs to <bug-gnu-emacs@gnu.org>.'
|
||||
|
||||
Id='$Id: rcs2log,v 1.45 1998/08/12 22:33:01 eggert Exp $'
|
||||
Id='$Id: rcs2log,v 1.48 2001/09/05 23:07:46 eggert Exp $'
|
||||
|
||||
# Copyright 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
|
||||
# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@ -47,13 +49,29 @@ Id='$Id: rcs2log,v 1.45 1998/08/12 22:33:01 eggert Exp $'
|
||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
Copyright='Copyright 1998 Free Software Foundation, Inc.
|
||||
Copyright='Copyright 2001 Free Software Foundation, Inc.
|
||||
This program comes with NO WARRANTY, to the extent permitted by law.
|
||||
You may redistribute copies of this program
|
||||
under the terms of the GNU General Public License.
|
||||
For more information about these matters, see the files named COPYING.
|
||||
Author: Paul Eggert <eggert@twinsun.com>'
|
||||
|
||||
# Use the traditional C locale.
|
||||
LANG=C
|
||||
LANGUAGE=C
|
||||
LC_ALL=C
|
||||
LC_COLLATE=C
|
||||
LC_CTYPE=C
|
||||
LC_MESSAGES=C
|
||||
LC_NUMERIC=C
|
||||
LC_TIME=C
|
||||
export LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_TIME
|
||||
|
||||
# These variables each contain a single ASCII character.
|
||||
# Unfortunately, there's no portable way of writing these characters
|
||||
# in older Unix implementations, other than putting them directly into
|
||||
# this text file.
|
||||
SOH='' # SOH, octal code 001
|
||||
tab=' '
|
||||
nl='
|
||||
'
|
||||
@ -74,6 +92,7 @@ logTZ= # time zone for log dates (if empty, use local time)
|
||||
recursive= # t if we want recursive rlog
|
||||
revision= # t if we want revision numbers
|
||||
rlog_options= # options to pass to rlog
|
||||
rlogfile= # log file to read from
|
||||
tabwidth=8 # width of horizontal tab
|
||||
|
||||
while :
|
||||
@ -83,17 +102,16 @@ do
|
||||
-i) indent=${2?}; shift;;
|
||||
-h) hostname=${2?}; shift;;
|
||||
-l) length=${2?}; shift;;
|
||||
-L) rlogfile=${2?}; shift;;
|
||||
-[nu]) # -n is obsolescent; it is replaced by -u.
|
||||
case $1 in
|
||||
-n) case ${2?}${3?}${4?} in
|
||||
*"$tab"* | *"$nl"*)
|
||||
echo >&2 "$0: -n '$2' '$3' '$4': tabs, newlines not allowed"
|
||||
exit 1
|
||||
esac
|
||||
case $loginFullnameMailaddrs in
|
||||
'') loginFullnameMailaddrs=$2$tab$3$tab$4;;
|
||||
?*) loginFullnameMailaddrs=$loginFullnameMailaddrs$nl$2$tab$3$tab$4
|
||||
exit 1;;
|
||||
esac
|
||||
login=$2
|
||||
lfm=$2$tab$3$tab$4
|
||||
shift; shift; shift;;
|
||||
-u)
|
||||
# If $2 is not tab-separated, use colon for separator.
|
||||
@ -104,33 +122,39 @@ do
|
||||
*"$tab"*)
|
||||
t=$tab;;
|
||||
*)
|
||||
t=:
|
||||
t=':';;
|
||||
esac
|
||||
case $2 in
|
||||
*"$t"*"$t"*"$t"*)
|
||||
echo >&2 "$0: -u '$2': too many fields"
|
||||
exit 1;;
|
||||
*"$t"*"$t"*)
|
||||
;;
|
||||
uf="[^$t]*$t" # An unselected field, followed by a separator.
|
||||
sf="\\([^$t]*\\)" # The selected field.
|
||||
login=`expr "X$2" : "X$sf"`
|
||||
lfm="$login$tab"`
|
||||
expr "X$2" : "$uf$sf"
|
||||
`"$tab"`
|
||||
expr "X$2" : "$uf$uf$sf"
|
||||
`;;
|
||||
*)
|
||||
echo >&2 "$0: -u '$2': not enough fields"
|
||||
exit 1
|
||||
exit 1;;
|
||||
esac
|
||||
case $loginFullnameMailaddrs in
|
||||
'') loginFullnameMailaddrs=$2;;
|
||||
?*) loginFullnameMailaddrs=$loginFullnameMailaddrs$nl$2
|
||||
esac
|
||||
shift
|
||||
shift;;
|
||||
esac
|
||||
case $logins in
|
||||
'') logins=$login;;
|
||||
?*) logins=$logins$nl$login
|
||||
?*) logins=$logins$nl$login;;
|
||||
esac
|
||||
;;
|
||||
case $loginFullnameMailaddrs in
|
||||
'') loginFullnameMailaddrs=$lfm;;
|
||||
?*) loginFullnameMailaddrs=$loginFullnameMailaddrs$nl$lfm;;
|
||||
esac;;
|
||||
-r)
|
||||
case $rlog_options in
|
||||
'') rlog_options=${2?};;
|
||||
?*) rlog_options=$rlog_options$nl${2?}
|
||||
?*) rlog_options=$rlog_options$nl${2?};;
|
||||
esac
|
||||
shift;;
|
||||
-R) recursive=t;;
|
||||
@ -144,9 +168,9 @@ do
|
||||
-*) echo >&2 "Usage: $0 [OPTION]... [FILE ...]$nl$Help"
|
||||
case $1 in
|
||||
--help) exit 0;;
|
||||
*) exit 1
|
||||
*) exit 1;;
|
||||
esac;;
|
||||
*) break
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
@ -158,158 +182,177 @@ month_data='
|
||||
m[9]="Oct"; m[10]="Nov"; m[11]="Dec"
|
||||
'
|
||||
|
||||
logdir=$TMPDIR/rcs2log$$
|
||||
llogout=$logdir/l
|
||||
trap exit 1 2 13 15
|
||||
trap "rm -fr $logdir 2>/dev/null" 0
|
||||
(umask 077 && exec mkdir $logdir) || exit
|
||||
|
||||
# Put rlog output into $rlogout.
|
||||
|
||||
# If no rlog options are given,
|
||||
# log the revisions checked in since the first ChangeLog entry.
|
||||
# Since ChangeLog is only by date, some of these revisions may be duplicates of
|
||||
# what's already in ChangeLog; it's the user's responsibility to remove them.
|
||||
case $rlog_options in
|
||||
# If no rlog-format log file is given, generate one into $rlogfile.
|
||||
case $rlogfile in
|
||||
'')
|
||||
rlogfile=$logdir/r
|
||||
|
||||
# If no rlog options are given,
|
||||
# log the revisions checked in since the first ChangeLog entry.
|
||||
# Since ChangeLog is only by date, some of these revisions may be duplicates of
|
||||
# what's already in ChangeLog; it's the user's responsibility to remove them.
|
||||
case $rlog_options in
|
||||
'')
|
||||
if test -s "$changelog"
|
||||
then
|
||||
e='
|
||||
/^[0-9]+-[0-9][0-9]-[0-9][0-9]/{
|
||||
# ISO 8601 date
|
||||
print $1
|
||||
exit
|
||||
}
|
||||
/^... ... [ 0-9][0-9] [ 0-9][0-9]:[0-9][0-9]:[0-9][0-9] [0-9]+ /{
|
||||
# old-fashioned date and time (Emacs 19.31 and earlier)
|
||||
'"$month_data"'
|
||||
year = $5
|
||||
for (i=0; i<=11; i++) if (m[i] == $2) break
|
||||
dd = $3
|
||||
printf "%d-%02d-%02d\n", year, i+1, dd
|
||||
exit
|
||||
}
|
||||
'
|
||||
d=`$AWK "$e" <"$changelog"` || exit
|
||||
case $d in
|
||||
?*) datearg="-d>$d";;
|
||||
esac
|
||||
fi;;
|
||||
esac
|
||||
|
||||
# Use TZ specified by ChangeLog local variable, if any.
|
||||
if test -s "$changelog"
|
||||
then
|
||||
e='
|
||||
/^[0-9]+-[0-9][0-9]-[0-9][0-9]/{
|
||||
# ISO 8601 date
|
||||
print $1
|
||||
exit
|
||||
extractTZ='
|
||||
/^.*change-log-time-zone-rule['"$tab"' ]*:['"$tab"' ]*"\([^"]*\)".*/{
|
||||
s//\1/; p; q
|
||||
}
|
||||
/^... ... [ 0-9][0-9] [ 0-9][0-9]:[0-9][0-9]:[0-9][0-9] [0-9]+ /{
|
||||
# old-fashioned date and time (Emacs 19.31 and earlier)
|
||||
'"$month_data"'
|
||||
year = $5
|
||||
for (i=0; i<=11; i++) if (m[i] == $2) break
|
||||
dd = $3
|
||||
printf "%d-%02d-%02d\n", year, i+1, dd
|
||||
exit
|
||||
/^.*change-log-time-zone-rule['"$tab"' ]*:['"$tab"' ]*t.*/{
|
||||
s//UTC0/; p; q
|
||||
}
|
||||
'
|
||||
d=`$AWK "$e" <"$changelog"` || exit
|
||||
case $d in
|
||||
?*) datearg="-d>$d"
|
||||
logTZ=`tail "$changelog" | sed -n "$extractTZ"`
|
||||
case $logTZ in
|
||||
?*) TZ=$logTZ; export TZ;;
|
||||
esac
|
||||
fi
|
||||
esac
|
||||
|
||||
# Use TZ specified by ChangeLog local variable, if any.
|
||||
if test -s "$changelog"
|
||||
then
|
||||
extractTZ='
|
||||
/^.*change-log-time-zone-rule['"$tab"' ]*:['"$tab"' ]*"\([^"]*\)".*/{
|
||||
s//\1/; p; q
|
||||
}
|
||||
/^.*change-log-time-zone-rule['"$tab"' ]*:['"$tab"' ]*t.*/{
|
||||
s//UTC0/; p; q
|
||||
}
|
||||
'
|
||||
logTZ=`tail "$changelog" | sed -n "$extractTZ"`
|
||||
case $logTZ in
|
||||
?*) TZ=$logTZ; export TZ
|
||||
esac
|
||||
fi
|
||||
|
||||
# If CVS is in use, examine its repository, not the normal RCS files.
|
||||
if test ! -f CVS/Repository
|
||||
then
|
||||
rlog=rlog
|
||||
repository=
|
||||
else
|
||||
rlog='cvs -q log'
|
||||
repository=`sed 1q <CVS/Repository` || exit
|
||||
test ! -f CVS/Root || CVSROOT=`cat <CVS/Root` || exit
|
||||
case $CVSROOT in
|
||||
*:/*)
|
||||
# remote repository
|
||||
;;
|
||||
*)
|
||||
# local repository
|
||||
case $repository in
|
||||
/*) ;;
|
||||
*) repository=${CVSROOT?}/$repository
|
||||
esac
|
||||
if test ! -d "$repository"
|
||||
then
|
||||
echo >&2 "$0: $repository: bad repository (see CVS/Repository)"
|
||||
exit 1
|
||||
fi
|
||||
esac
|
||||
fi
|
||||
|
||||
# Use $rlog's -zLT option, if $rlog supports it.
|
||||
case `$rlog -zLT 2>&1` in
|
||||
*' option'*) ;;
|
||||
*)
|
||||
case $rlog_options in
|
||||
'') rlog_options=-zLT;;
|
||||
?*) rlog_options=-zLT$nl$rlog_options
|
||||
esac
|
||||
esac
|
||||
|
||||
# With no arguments, examine all files under the RCS directory.
|
||||
case $# in
|
||||
0)
|
||||
case $repository in
|
||||
'')
|
||||
oldIFS=$IFS
|
||||
IFS=$nl
|
||||
case $recursive in
|
||||
t)
|
||||
RCSdirs=`find . -name RCS -type d -print`
|
||||
filesFromRCSfiles='s|,v$||; s|/RCS/|/|; s|^\./||'
|
||||
files=`
|
||||
{
|
||||
case $RCSdirs in
|
||||
?*) find $RCSdirs \
|
||||
-type f \
|
||||
! -name '*_' \
|
||||
! -name ',*,' \
|
||||
! -name '.*_' \
|
||||
! -name .rcsfreeze.log \
|
||||
! -name .rcsfreeze.ver \
|
||||
-print
|
||||
esac
|
||||
find . -name '*,v' -print
|
||||
} |
|
||||
sort -u |
|
||||
sed "$filesFromRCSfiles"
|
||||
`;;
|
||||
# If CVS is in use, examine its repository, not the normal RCS files.
|
||||
if test ! -f CVS/Repository
|
||||
then
|
||||
rlog=rlog
|
||||
repository=
|
||||
else
|
||||
rlog='cvs -q log'
|
||||
repository=`sed 1q <CVS/Repository` || exit
|
||||
test ! -f CVS/Root || CVSROOT=`cat <CVS/Root` || exit
|
||||
case $CVSROOT in
|
||||
*:/*:/*)
|
||||
echo >&2 "$0: $CVSROOT: CVSROOT has multiple ':/'s"
|
||||
exit 1;;
|
||||
*:/*)
|
||||
# remote repository
|
||||
pository=`expr "X$repository" : '.*:\(/.*\)'`;;
|
||||
*)
|
||||
files=
|
||||
for file in RCS/.* RCS/* .*,v *,v
|
||||
do
|
||||
case $file in
|
||||
RCS/. | RCS/.. | RCS/,*, | RCS/*_) continue;;
|
||||
RCS/.rcsfreeze.log | RCS/.rcsfreeze.ver) continue;;
|
||||
RCS/.\* | RCS/\* | .\*,v | \*,v) test -f "$file" || continue;;
|
||||
RCS/*,v | RCS/.*,v) ;;
|
||||
RCS/* | RCS/.*) test -f "$file" || continue
|
||||
esac
|
||||
case $files in
|
||||
'') files=$file;;
|
||||
?*) files=$files$nl$file
|
||||
esac
|
||||
done
|
||||
case $files in
|
||||
'') exit 0
|
||||
# local repository
|
||||
case $repository in
|
||||
/*) ;;
|
||||
*) repository=${CVSROOT?}/$repository;;
|
||||
esac
|
||||
if test ! -d "$repository"
|
||||
then
|
||||
echo >&2 "$0: $repository: bad repository (see CVS/Repository)"
|
||||
exit 1
|
||||
fi
|
||||
pository=$repository;;
|
||||
esac
|
||||
set x $files
|
||||
shift
|
||||
IFS=$oldIFS
|
||||
|
||||
# Ensure that $pository ends in exactly one slash.
|
||||
while :
|
||||
do
|
||||
case $pository in
|
||||
*//) pository=`expr "X$pository" : 'X\(.*\)/'`;;
|
||||
*/) break;;
|
||||
*) pository=$pository/; break;;
|
||||
esac
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
# Use $rlog's -zLT option, if $rlog supports it.
|
||||
case `$rlog -zLT 2>&1` in
|
||||
*' option'*) ;;
|
||||
*)
|
||||
case $rlog_options in
|
||||
'') rlog_options=-zLT;;
|
||||
?*) rlog_options=-zLT$nl$rlog_options;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
# With no arguments, examine all files under the RCS directory.
|
||||
case $# in
|
||||
0)
|
||||
case $repository in
|
||||
'')
|
||||
oldIFS=$IFS
|
||||
IFS=$nl
|
||||
case $recursive in
|
||||
t)
|
||||
RCSdirs=`find . -name RCS -type d -print`
|
||||
filesFromRCSfiles='s|,v$||; s|/RCS/|/|; s|^\./||'
|
||||
files=`
|
||||
{
|
||||
case $RCSdirs in
|
||||
?*) find $RCSdirs \
|
||||
-type f \
|
||||
! -name '*_' \
|
||||
! -name ',*,' \
|
||||
! -name '.*_' \
|
||||
! -name .rcsfreeze.log \
|
||||
! -name .rcsfreeze.ver \
|
||||
-print;;
|
||||
esac
|
||||
find . -name '*,v' -print
|
||||
} |
|
||||
sort -u |
|
||||
sed "$filesFromRCSfiles"
|
||||
`;;
|
||||
*)
|
||||
files=
|
||||
for file in RCS/.* RCS/* .*,v *,v
|
||||
do
|
||||
case $file in
|
||||
RCS/. | RCS/.. | RCS/,*, | RCS/*_) continue;;
|
||||
RCS/.rcsfreeze.log | RCS/.rcsfreeze.ver) continue;;
|
||||
RCS/.\* | RCS/\* | .\*,v | \*,v) test -f "$file" || continue;;
|
||||
RCS/*,v | RCS/.*,v) ;;
|
||||
RCS/* | RCS/.*) test -f "$file" || continue;;
|
||||
esac
|
||||
case $files in
|
||||
'') files=$file;;
|
||||
?*) files=$files$nl$file;;
|
||||
esac
|
||||
done
|
||||
case $files in
|
||||
'') exit 0;;
|
||||
esac;;
|
||||
esac
|
||||
set x $files
|
||||
shift
|
||||
IFS=$oldIFS;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
case $datearg in
|
||||
?*) $rlog $rlog_options "$datearg" ${1+"$@"} >$rlogfile;;
|
||||
'') $rlog $rlog_options ${1+"$@"} >$rlogfile;;
|
||||
esac || exit;;
|
||||
esac
|
||||
|
||||
llogout=$TMPDIR/rcs2log$$l
|
||||
rlogout=$TMPDIR/rcs2log$$r
|
||||
trap exit 1 2 13 15
|
||||
trap "rm -f $llogout $rlogout; exit 1" 0
|
||||
|
||||
case $datearg in
|
||||
?*) $rlog $rlog_options "$datearg" ${1+"$@"} >$rlogout;;
|
||||
'') $rlog $rlog_options ${1+"$@"} >$rlogout
|
||||
esac || exit
|
||||
|
||||
|
||||
# Get the full name of each author the logs mention, and set initialize_fullname
|
||||
# to awk code that initializes the `fullname' awk associative array.
|
||||
@ -326,17 +369,14 @@ case $loginFullnameMailaddrs in
|
||||
sed 's/["\\]/\\&/g' >$llogout <<EOF || exit
|
||||
$loginFullnameMailaddrs
|
||||
EOF
|
||||
loginFullnameMailaddrs=`cat $llogout`
|
||||
loginFullnameMailaddrs=`cat $llogout`;;
|
||||
esac
|
||||
|
||||
oldIFS=$IFS
|
||||
IFS=$nl
|
||||
for loginFullnameMailaddr in $loginFullnameMailaddrs
|
||||
do
|
||||
case $loginFullnameMailaddr in
|
||||
*"$tab"*) IFS=$tab;;
|
||||
*) IFS=:
|
||||
esac
|
||||
IFS=$tab
|
||||
set x $loginFullnameMailaddr
|
||||
login=$2
|
||||
fullname=$3
|
||||
@ -346,25 +386,26 @@ EOF
|
||||
initialize_mailaddr="$initialize_mailaddr
|
||||
mailaddr[\"$login\"] = \"$mailaddr\""
|
||||
done
|
||||
IFS=$oldIFS
|
||||
IFS=$oldIFS;;
|
||||
esac
|
||||
|
||||
case $llogout in
|
||||
?*) sort -u -o $llogout <<EOF || exit
|
||||
case $logins in
|
||||
?*)
|
||||
sort -u -o $llogout <<EOF
|
||||
$logins
|
||||
EOF
|
||||
esac
|
||||
;;
|
||||
'')
|
||||
: ;;
|
||||
esac >$llogout || exit
|
||||
|
||||
output_authors='/^date: / {
|
||||
if ($2 ~ /^[0-9]*[-\/][0-9][0-9][-\/][0-9][0-9]$/ && $3 ~ /^[0-9][0-9]:[0-9][0-9]:[0-9][0-9][-+0-9:]*;$/ && $4 == "author:" && $5 ~ /^[^;]*;$/) {
|
||||
print substr($5, 1, length($5)-1)
|
||||
}
|
||||
}'
|
||||
authors=`
|
||||
$AWK "$output_authors" <$rlogout |
|
||||
case $llogout in
|
||||
'') sort -u;;
|
||||
?*) sort -u | comm -23 - $llogout
|
||||
esac
|
||||
$AWK "$output_authors" <"$rlogfile" | sort -u | comm -23 - $llogout
|
||||
`
|
||||
case $authors in
|
||||
?*)
|
||||
@ -436,13 +477,13 @@ EOF
|
||||
)
|
||||
} 2>/dev/null |
|
||||
$AWK -F: "$awkscript"
|
||||
`$initialize_fullname
|
||||
`$initialize_fullname;;
|
||||
esac
|
||||
|
||||
|
||||
# Function to print a single log line.
|
||||
# We don't use awk functions, to stay compatible with old awk versions.
|
||||
# `Log' is the log message (with \n replaced by \001).
|
||||
# `Log' is the log message.
|
||||
# `files' contains the affected files.
|
||||
printlogline='{
|
||||
|
||||
@ -452,19 +493,25 @@ printlogline='{
|
||||
# * file (function): comment
|
||||
if (Log ~ /^\([^)]*\): /) {
|
||||
i = index(Log, ")")
|
||||
files = files " " substr(Log, 1, i)
|
||||
filefunc = substr(Log, 1, i)
|
||||
while ((j = index(filefunc, "\n"))) {
|
||||
files = files " " substr(filefunc, 1, j-1)
|
||||
filefunc = substr(filefunc, j+1)
|
||||
}
|
||||
files = files " " filefunc
|
||||
Log = substr(Log, i+3)
|
||||
}
|
||||
|
||||
# If "label: comment" is too long, break the line after the ":".
|
||||
sep = " "
|
||||
if ('"$length"' <= '"$indent"' + 1 + length(files) + index(Log, SOH)) sep = "\n" indent_string
|
||||
i = index(Log, "\n")
|
||||
if ('"$length"' <= '"$indent"' + 1 + length(files) + i) sep = "\n" indent_string
|
||||
|
||||
# Print the label.
|
||||
printf "%s*%s:", indent_string, files
|
||||
|
||||
# Print each line of the log, transliterating \001 to \n.
|
||||
while ((i = index(Log, SOH)) != 0) {
|
||||
# Print each line of the log.
|
||||
while (i) {
|
||||
logline = substr(Log, 1, i-1)
|
||||
if (logline ~ /[^'"$tab"' ]/) {
|
||||
printf "%s%s\n", sep, logline
|
||||
@ -473,6 +520,7 @@ printlogline='{
|
||||
}
|
||||
sep = indent_string
|
||||
Log = substr(Log, i+1)
|
||||
i = index(Log, "\n")
|
||||
}
|
||||
}'
|
||||
|
||||
@ -493,24 +541,27 @@ case $hostname in
|
||||
*)
|
||||
domainname=`(domainname) 2>/dev/null` &&
|
||||
case $domainname in
|
||||
*.*) hostname=$hostname.$domainname
|
||||
esac
|
||||
esac
|
||||
*.*) hostname=$hostname.$domainname;;
|
||||
esac;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
|
||||
# Process the rlog output, generating ChangeLog style entries.
|
||||
|
||||
# First, reformat the rlog output so that each line contains one log entry.
|
||||
# Transliterate \n to \001 so that multiline entries fit on a single line.
|
||||
# Transliterate \n to SOH so that multiline entries fit on a single line.
|
||||
# Discard irrelevant rlog output.
|
||||
$AWK <$rlogout '
|
||||
BEGIN { repository = "'"$repository"'" }
|
||||
/^RCS file:/ {
|
||||
if (repository != "") {
|
||||
filename = $3
|
||||
if (substr(filename, 1, length(repository) + 1) == repository "/") {
|
||||
filename = substr(filename, length(repository) + 2)
|
||||
$AWK '
|
||||
BEGIN {
|
||||
pository = "'"$pository"'"
|
||||
SOH="'"$SOH"'"
|
||||
}
|
||||
/^RCS file: / {
|
||||
if (pository != "") {
|
||||
filename = substr($0, 11)
|
||||
if (substr(filename, 1, length(pository)) == pository) {
|
||||
filename = substr(filename, length(pository) + 1)
|
||||
}
|
||||
if (filename ~ /,v$/) {
|
||||
filename = substr(filename, 1, length(filename) - 2)
|
||||
@ -523,7 +574,7 @@ $AWK <$rlogout '
|
||||
}
|
||||
rev = "?"
|
||||
}
|
||||
/^Working file:/ { if (repository == "") filename = $3 }
|
||||
/^Working file: / { if (repository == "") filename = substr($0, 15) }
|
||||
/'"$rlog_revision_pattern"'/, /^(-----------*|===========*)$/ {
|
||||
line = $0
|
||||
if (line ~ /'"$rlog_revision_pattern"'/) {
|
||||
@ -544,7 +595,7 @@ $AWK <$rlogout '
|
||||
}
|
||||
time = substr($3, 1, length($3) - 1)
|
||||
author = substr($5, 1, length($5)-1)
|
||||
printf "%s %s %s %s %s %c", filename, rev, date, time, author, 1
|
||||
printf "%s%s%s%s%s%s%s%s%s%s", filename, SOH, rev, SOH, date, SOH, time, SOH, author, SOH
|
||||
rev = "?"
|
||||
next
|
||||
}
|
||||
@ -553,29 +604,25 @@ $AWK <$rlogout '
|
||||
if (line == "Initial revision" || line ~ /^file .+ was initially added on branch .+\.$/) {
|
||||
line = "New file."
|
||||
}
|
||||
printf "%s%c", line, 1
|
||||
printf "%s%s", line, SOH
|
||||
}
|
||||
' |
|
||||
' <"$rlogfile" |
|
||||
|
||||
# Now each line is of the form
|
||||
# FILENAME REVISION YYYY-MM-DD HH:MM:SS[+-TIMEZONE] AUTHOR \001LOG
|
||||
# where \001 stands for a carriage return,
|
||||
# and each line of the log is terminated by \001 instead of \n.
|
||||
# FILENAME@REVISION@YYYY-MM-DD@HH:MM:SS[+-TIMEZONE]@AUTHOR@LOG
|
||||
# where @ stands for an SOH (octal code 001),
|
||||
# and each line of LOG is terminated by SOH instead of \n.
|
||||
# Sort the log entries, first by date+time (in reverse order),
|
||||
# then by author, then by log entry, and finally by file name and revision
|
||||
# (just in case).
|
||||
sort +2 -4r +4 +0 |
|
||||
sort -t"$SOH" +2 -4r +4 +0 |
|
||||
|
||||
# Finally, reformat the sorted log entries.
|
||||
$AWK '
|
||||
$AWK -F"$SOH" '
|
||||
BEGIN {
|
||||
logTZ = "'"$logTZ"'"
|
||||
revision = "'"$revision"'"
|
||||
|
||||
# Some awk variants do not understand "\001", so we have to
|
||||
# put the char directly in the file.
|
||||
SOH="" # <-- There is a single SOH (octal code 001) here.
|
||||
|
||||
# Initialize the fullname and mailaddr associative arrays.
|
||||
'"$initialize_fullname"'
|
||||
'"$initialize_mailaddr"'
|
||||
@ -591,7 +638,8 @@ $AWK '
|
||||
}
|
||||
|
||||
{
|
||||
newlog = substr($0, 1 + index($0, SOH))
|
||||
newlog = ""
|
||||
for (i = 6; i < NF; i++) newlog = newlog $i "\n"
|
||||
|
||||
# Ignore log entries prefixed by "#".
|
||||
if (newlog ~ /^#/) { next }
|
||||
@ -670,7 +718,7 @@ $AWK '
|
||||
|
||||
# Exit successfully.
|
||||
|
||||
exec rm -f $llogout $rlogout
|
||||
exec rm -fr $logdir
|
||||
|
||||
# Local Variables:
|
||||
# tab-width:4
|
||||
|
@ -55,7 +55,7 @@ for vfile in *,v; do
|
||||
exit
|
||||
fi
|
||||
# get file into current dir and get stats
|
||||
date=`rlog -r$rev $file | grep "^date: " | awk '{print $2; exit}' | sed -e 's/^19//'`
|
||||
date=`rlog -r$rev $file | grep "^date: " | awk '{print $2; exit}' | sed -e 's/^19\|^20//'`
|
||||
time=`rlog -r$rev $file | grep "^date: " | awk '{print $3; exit}' | sed -e 's/;//'`
|
||||
author=`rlog -r$rev $file | grep "^date: " | awk '{print $5; exit}' | sed -e 's/;//'`
|
||||
date="$date $time"
|
||||
|
@ -123,18 +123,29 @@ sgi)
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
rm -f "$depfile"
|
||||
cp "$tmpdepfile" "$depfile"
|
||||
## This next piece of magic avoids the `deleted header file' problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file.
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" | \
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' -e '/^#/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr '
|
||||
' ' ' >> $depfile
|
||||
echo >> $depfile
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> $depfile
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
@ -146,8 +157,12 @@ sgi)
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file.
|
||||
tmpdepfile=`echo "$object" | sed 's/\(.*\)\..*$/\1.u/'`
|
||||
# in a .u file. This file always lives in the current directory.
|
||||
# Also, the AIX compiler puts `$object:' at the start of each line;
|
||||
# $object doesn't have directory information.
|
||||
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
|
||||
tmpdepfile="$stripped.u"
|
||||
outname="$stripped.o"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
@ -162,16 +177,11 @@ aix)
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile"; then
|
||||
rm -f "$depfile"
|
||||
cp "$tmpdepfile" "$depfile"
|
||||
## This next piece of magic avoids the `deleted header file' problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" | \
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
@ -181,6 +191,35 @@ aix)
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 AIX compiler uses -MD to generate dependencies as a side
|
||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||
# Subdirectories are respected.
|
||||
|
||||
tmpdepfile="$object.d"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a space and a tab in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
@ -1,3 +1,38 @@
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with automake 1.5.
|
||||
|
||||
2001-08-09 Derek Price <dprice@collab.net>
|
||||
|
||||
* system.h: Source some header files when present to eliminate warning
|
||||
messages under Windows.
|
||||
(Patch from "Manfred Klug" <manklu@web.de>.)
|
||||
|
||||
2001-08-07 Derek Price <dprice@collab.net>
|
||||
|
||||
* build_diff.com: Turn on verify to get a better trace of the DCL.
|
||||
* diff3.c: Eliminate compiler warning. The VMS read rval is ssize_t
|
||||
(signed). The VMS size_t appears to be unsigned.
|
||||
* io.c: Eliminate compiler warning (ssize_t).
|
||||
(Patch from Mike Marciniszyn <Mike.Marciniszyn@sanchez.com>.)
|
||||
|
||||
2001-08-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-07-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new Automake release candidate 1.4h.
|
||||
|
||||
2001-06-28 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new version of Automake.
|
||||
|
||||
2001-05-07 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* diff3.c (diff3_run): Put the name of the output file in the error
|
||||
message instead of "could not open output file" to aid in debugging.
|
||||
|
||||
2001-04-25 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4e from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@ -13,7 +13,6 @@
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@ -34,11 +33,9 @@ infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
@ -52,7 +49,6 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
@ -64,25 +60,22 @@ AWK = @AWK@
|
||||
CC = @CC@
|
||||
CSH = @CSH@
|
||||
DEPDIR = @DEPDIR@
|
||||
ETAGS = @ETAGS@
|
||||
ETAGS_INCLUDE_OPTION = @ETAGS_INCLUDE_OPTION@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTALL_STRIP_PROGRAM_ENV = @INSTALL_STRIP_PROGRAM_ENV@
|
||||
KRB4 = @KRB4@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
includeopt = @includeopt@
|
||||
install_sh = @install_sh@
|
||||
|
||||
@ -96,8 +89,6 @@ libdiff_a_SOURCES = diff.c diff3.c analyze.c cmpbuf.c cmpbuf.h io.c \
|
||||
|
||||
|
||||
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note libdiff.dsp
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
subdir = diff
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
|
||||
@ -111,19 +102,12 @@ am_libdiff_a_OBJECTS = diff.$(OBJEXT) diff3.$(OBJEXT) analyze.$(OBJEXT) \
|
||||
normal.$(OBJEXT) ifdef.$(OBJEXT) util.$(OBJEXT) dir.$(OBJEXT) \
|
||||
version.$(OBJEXT) side.$(OBJEXT)
|
||||
libdiff_a_OBJECTS = $(am_libdiff_a_OBJECTS)
|
||||
AR = ar
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CFLAGS = @CFLAGS@
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)/src
|
||||
DEFS = @DEFS@
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)/src
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
DIST_SOURCES = $(libdiff_a_SOURCES)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/analyze.Po $(DEPDIR)/cmpbuf.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/context.Po $(DEPDIR)/diff.Po \
|
||||
@ -131,28 +115,32 @@ depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
@AMDEP_TRUE@ $(DEPDIR)/ifdef.Po $(DEPDIR)/io.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/normal.Po $(DEPDIR)/side.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/util.Po $(DEPDIR)/version.Po
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
CFLAGS = @CFLAGS@
|
||||
DIST_SOURCES = $(libdiff_a_SOURCES)
|
||||
DIST_COMMON = ChangeLog Makefile.am Makefile.in
|
||||
SOURCES = $(libdiff_a_SOURCES)
|
||||
OBJECTS = $(am_libdiff_a_OBJECTS)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .obj
|
||||
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu diff/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
|
||||
AR = ar
|
||||
|
||||
clean-noinstLIBRARIES:
|
||||
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
||||
|
||||
libdiff.a: $(libdiff_a_OBJECTS) $(libdiff_a_DEPENDENCIES)
|
||||
libdiff.a: $(libdiff_a_OBJECTS) $(libdiff_a_DEPENDENCIES)
|
||||
-rm -f libdiff.a
|
||||
$(libdiff_a_AR) libdiff.a $(libdiff_a_OBJECTS) $(libdiff_a_LIBADD)
|
||||
$(RANLIB) libdiff.a
|
||||
@ -163,6 +151,37 @@ mostlyclean-compile:
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/analyze.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cmpbuf.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/context.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diff.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diff3.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dir.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ed.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ifdef.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/io.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/normal.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/side.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/util.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/version.Po@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `cygpath -w $<`
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
uninstall-info-am:
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
@ -179,53 +198,21 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list @CONFIG@; do \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| $(ETAGS) $(ETAGS_ARGS) $$tags $$unique $(LISP)
|
||||
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
|
||||
|
||||
GTAGS:
|
||||
here=`CDPATH=: && cd $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $$here
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/analyze.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/cmpbuf.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/context.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/diff.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/diff3.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/dir.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/ed.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/ifdef.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/io.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/normal.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/side.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/util.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/version.Po@_am_quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR)
|
||||
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
|
||||
.c.o:
|
||||
source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c -o $@ `cygpath -w $<`
|
||||
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
@ -234,7 +221,11 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
|| exit 1; \
|
||||
@ -259,23 +250,20 @@ install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_PROGRAM_ENV='$(INSTALL_STRIP_PROGRAM_ENV)' install
|
||||
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f Makefile.in
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
|
||||
@ -285,11 +273,11 @@ distclean: distclean-am
|
||||
distclean-am: clean-am distclean-compile distclean-depend \
|
||||
distclean-generic distclean-tags
|
||||
|
||||
dvi:
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
info:
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
@ -297,7 +285,7 @@ install-data-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info:
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
@ -311,16 +299,18 @@ mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic \
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
.PHONY: GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-noinstLIBRARIES distclean distclean-compile \
|
||||
distclean-depend distclean-generic distclean-tags distdir dvi \
|
||||
dvi-am info info-am install install-am install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-man install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-compile mostlyclean-generic tags \
|
||||
uninstall uninstall-am
|
||||
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic tags uninstall uninstall-am \
|
||||
uninstall-info-am
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
@ -101,7 +101,7 @@ sip (current, skip_test)
|
||||
#if HAVE_SETMODE
|
||||
int oldmode = setmode (current->desc, O_BINARY);
|
||||
#endif
|
||||
size_t n = read (current->desc, current->buffer, current->bufsize);
|
||||
ssize_t n = read (current->desc, current->buffer, current->bufsize);
|
||||
if (n == -1)
|
||||
pfatal_with_name (current->name);
|
||||
current->buffered_chars = n;
|
||||
@ -128,7 +128,7 @@ void
|
||||
slurp (current)
|
||||
struct file_data *current;
|
||||
{
|
||||
size_t cc;
|
||||
ssize_t cc;
|
||||
|
||||
if (current->desc < 0)
|
||||
/* The file is nonexistent. */
|
||||
|
@ -69,6 +69,16 @@ GNU General Public License for more details.
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_IO_H
|
||||
# include <io.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_FCNTL_H
|
||||
# include <fcntl.h>
|
||||
#else
|
||||
# include <sys/file.h>
|
||||
#endif
|
||||
|
||||
#ifndef SEEK_SET
|
||||
#define SEEK_SET 0
|
||||
#endif
|
||||
|
@ -1,3 +1,300 @@
|
||||
2002-04-18 Derek Price <oberon@umich.edu>
|
||||
|
||||
* doc/Makefile.am: Add FIXME comment about an automake bug.
|
||||
* doc/Makefile.in: Regenerated.
|
||||
* doc/stamp-vti: Regenerated as a workaround for the above mentioned
|
||||
automake bug.
|
||||
* doc/version.texi: Ditto.
|
||||
|
||||
2002-04-17 Derek Price <oberon@umich.edu>
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2002-04-17 Derek Price <oberon@umich.edu>
|
||||
|
||||
* cvs.texinfo: Add index entries for inetd and xinetd.
|
||||
|
||||
2002-03-26 Derek Price <oberon@umich.edu>
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2002-03-17 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (log options): Add new -S option.
|
||||
|
||||
2002-03-12 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (diff options): Add missing menu for new subsections.
|
||||
(Patch from Pavel Roskin <proski@gnu.org>.)
|
||||
|
||||
2002-03-09 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (Update imports): Suggest merging with two rel tags
|
||||
instead of the branch tag and a date and explain why.
|
||||
|
||||
2002-02-26 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (diff options): Document all the diff options.
|
||||
|
||||
2002-01-10 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (log options): Update -r :: to match code changes.
|
||||
(Variables): Document LOGNAME and USER environment variables.
|
||||
|
||||
2001-12-03 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (Invoking CVS): Add -F option for annotate and
|
||||
rannotate.
|
||||
|
||||
2001-11-28 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (File permissions): Add note about SGID being required
|
||||
on some systems. Add note about LockDir.
|
||||
|
||||
2001-10-18 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am: Add --batch to texi2dvi invocations.
|
||||
(Thanks to Akim Demaille <akim@epita.fr> for the suggestion.)
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-10-04 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (Connecting via rsh): Add : between host name and
|
||||
root directory in example since some versions of CVS require it.
|
||||
(Reported by Trevor Jim <trevor@research.att.com>.)
|
||||
|
||||
2001-09-14 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (commit files): Make following sections (commitinfo,
|
||||
verifymsg, editinfo, and loginfo) subsections of this one.
|
||||
|
||||
2001-09-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.texinfo (Watch information): Cleanup some watch/edit
|
||||
explanations and discourage the belief that files should be
|
||||
releasable.
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
(Patch from Eric Siegerman <erics@telepres.com>.)
|
||||
|
||||
2001-09-05 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvsclient.texi: Use version-client.texi instead of version.texi so
|
||||
cvsclient.* can have a different build date than cvs.texinfo.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* stamp-1: New file.
|
||||
* version-client.texi: Ditto.
|
||||
(Reportred by Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with automake 1.5.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2001-08-24 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (Error messages): Add new message about root not
|
||||
being allowed to do commit.
|
||||
|
||||
2001-08-24 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.texinfo (config): Add a new RereadLogAfterVerify
|
||||
CVSROOT/config option to control how verifymsg scripts deal with
|
||||
read-write log messages.
|
||||
(Patch from Mark D. Baushke <mdb@cvshome.org>.)
|
||||
|
||||
* cvs.texinfo (verifymsg): The verification script may now modify
|
||||
the log message.
|
||||
(Patch from Mark D. Baushke <mdb@cvshome.org>.)
|
||||
|
||||
* cvs.texinfo (config, verifymsg): Correct default, changes for clarity,
|
||||
and add a warning about `stat' and large repositories.
|
||||
|
||||
* version.texi: Regenerated.
|
||||
* stamp-vti: Ditto.
|
||||
|
||||
2001-08-20 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am: Reformat comment for 80 chars.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-08-10 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.texinfo (Default options and the ~/.cvsrc file): Added a few more
|
||||
"standard" options to the example.
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2001-08-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-07-17 Derek Price <dprice@collab.net>
|
||||
|
||||
* version.texi: Regenerated.
|
||||
* stamp-vti: Ditto.
|
||||
|
||||
2001-07-06 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (Variables): Add index entry for CVS_USER.
|
||||
(Reported by Jens Schweikhardt <Jens.Schweikhardt@marconi.com>.)
|
||||
(Working directory storage): Fix Emptydir index entry: Emptydir
|
||||
is a directory, not a file.
|
||||
|
||||
2001-07-05 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (Working directory storage): Add Emptydir to index.
|
||||
|
||||
2001-07-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new Automake release candidate 1.4h.
|
||||
|
||||
2001-06-28 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am: Reference to CVSvn.texi removed.
|
||||
* cvs.texinfo: @include version.texi and change CVSVN to VERSION.
|
||||
* cvsclient.texi: Ditto.
|
||||
|
||||
* version.texi: New file.
|
||||
* stamp-vti: Ditto.
|
||||
* mdate-sh: New File. Work-around bug in Automake 1.4f by copying
|
||||
top-level mdate-sh here.
|
||||
|
||||
* CVSvn.texi.in: Removed.
|
||||
* CVSvn.texi: Ditto.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
(Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
|
||||
2001-06-27 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (loginfo): Note that format string expansion is
|
||||
quoted and contains escapes.
|
||||
|
||||
2001-06-22 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.texinfo (checkout options): Fix transliteration typo in co
|
||||
example.
|
||||
(Patch from Adrian Aichner <adrian@xemacs.org>.)
|
||||
|
||||
2001-06-12 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (Global options): Note that -T only affects the local
|
||||
process in client/server mode.
|
||||
(Environment variables): Note that CVS_SERVER can include arguments
|
||||
as well as a program name, and note that it applies to :fork: as well
|
||||
as to :ext: and :server:, although the default value is different.
|
||||
|
||||
2001-06-08 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (config): Mention using LockDir on in-memory
|
||||
filesystem to speed up locking.
|
||||
|
||||
2001-06-07 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am (EXTRA_DIST): Remove *.aux.
|
||||
(MOSTLYCLEAN_FILES): Remove this macro since the Automake bug it was
|
||||
working around has been fixed.
|
||||
|
||||
2001-06-07 Derek Price <dprice@collab.net>
|
||||
|
||||
* HACKING.DOCS: Add link to the main texinfo documentation.
|
||||
|
||||
2001-06-07 Derek Price <dprice@collab.net>
|
||||
|
||||
* README.DOCS: Rename to
|
||||
* HACKING.DOCS: this.
|
||||
|
||||
2001-06-07 Derek Price <dprice@collab.net>
|
||||
|
||||
* README.DOCS: New file attempting to document some of our texinfo
|
||||
conventions.
|
||||
|
||||
2001-06-06 Derek Price <dprice@collab.net>
|
||||
|
||||
(Reformatting, rewording, & additions to a patch from
|
||||
Stephen Cameron <steve.cameron@compaq.com>.)
|
||||
|
||||
* cvs.texinfo (Invoking cvs, Modifying tags)
|
||||
document new -B option of rtag and tag commands.
|
||||
|
||||
2001-06-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am: Remove commented out DISTFILES &
|
||||
AUTOMAKE_OPTIONS=no-texinfo.tex.
|
||||
(Reported by Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-06-04 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* Makefile.am: Fix rules for cvs-paper (.pdf rule actually generated
|
||||
.ps and vice versa).
|
||||
(Reported by Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-05-29 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.texinfo (Repository): Fix explanation of CVSROOT parsing
|
||||
algorithm.
|
||||
|
||||
2001-05-29 Derek Price <dprice@collab.net>
|
||||
patch from Pavel Roskin <proski@gnu.org>
|
||||
|
||||
* Makefile.am (CVSvn.texi): Double hash comment in rule since single
|
||||
hash comments are not portable.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-05-21 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (Error messages): Fix ordering; add "cannot commit
|
||||
files as root".
|
||||
|
||||
* cvs.texinfo (Invoking CVS): Add entries for kserver, pserver,
|
||||
rannotate, rlog, and server.
|
||||
|
||||
* cvs.texinfo: Lots of minor editorial corrections. Mostly adding
|
||||
@noindent after examples where the following text is intended to
|
||||
be a continuation of the preceding text, not a new paragraph.
|
||||
|
||||
* cvs.texinfo (Connection): Replace information about unsetting
|
||||
$HOME for people with old releases.
|
||||
|
||||
|
||||
* cvs.texinfo (Connecting via rsh): Use @samp{} instead of @file{}
|
||||
where it seemed appropriate.
|
||||
(Patch from Alexey Mahotkin <alexm@hsys.msk.ru>).
|
||||
|
||||
2001-05-18 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvs.texinfo (Password authentication server): Add xinetd info.
|
||||
(Connection): Add "broken pipe" to possible error messages.
|
||||
|
||||
2001-05-18 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.texinfo (update output): Change wording to something that sounds
|
||||
a bit more like english.
|
||||
|
||||
2001-05-02 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.texinfo (Top): Change @ifinfo to @ifnottex to placate HTML
|
||||
generators.
|
||||
|
||||
2001-04-27 Derek Price <dprice@collab.net>
|
||||
|
||||
* CVSvn.texi: Regenerated.
|
||||
|
||||
2001-04-27 Derek Price <dprice@collab.net>
|
||||
|
||||
* CVSvn.texi: Regenerated.
|
||||
|
||||
2001-04-25 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400.
|
||||
|
@ -12,20 +12,7 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
#DISTFILES = \
|
||||
# .cvsignore \
|
||||
# RCSFILES \
|
||||
|
||||
# AUTOMAKE_OPTIONS = no-texinfo.tex
|
||||
|
||||
# FIXME - these rebuild every 'make dist' with some BSD makes due to a bug
|
||||
# that prevents make from searching VPATH for targets. There is some
|
||||
# machinery in place in configure.in to work around this for some targets
|
||||
# (see the CVSvn.texi target below) now, but fixing the two info_TEXINFOS
|
||||
# targets below is probably going to require work on Automake
|
||||
info_TEXINFOS = cvs.texinfo cvsclient.texi
|
||||
cvs_TEXINFOS = CVSvn.texi
|
||||
cvsclient_TEXINFOS = CVSvn.texi
|
||||
|
||||
POSTSCRIPTS = \
|
||||
cvs.ps \
|
||||
@ -44,17 +31,10 @@ TXTS = \
|
||||
EXTRA_DIST = \
|
||||
$(POSTSCRIPTS) \
|
||||
.cvsignore \
|
||||
CVSvn.texi.in \
|
||||
ChangeLog.fsf \
|
||||
RCSFILES \
|
||||
cvs-paper.ms \
|
||||
cvs.aux \
|
||||
cvsclient.aux
|
||||
|
||||
# Listing cvs.cps & cvs.fns here is a workaround for an Automake deficiency
|
||||
MOSTLYCLEANFILES = \
|
||||
cvs.cps \
|
||||
cvs.fns
|
||||
mdate-sh \
|
||||
cvs-paper.ms
|
||||
|
||||
CLEANFILES = \
|
||||
$(PDFS) \
|
||||
@ -75,18 +55,21 @@ txt: $(TXTS)
|
||||
dvi: cvs.dvi cvsclient.dvi
|
||||
.PHONY: dvi
|
||||
|
||||
cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(cvs_TEXINFOS)
|
||||
cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi $(cvsclient_TEXINFOS)
|
||||
# FIXME-AUTOMAKE:
|
||||
# For some reason if I remove version.texi, it doesn't get built automatically.
|
||||
# This needs to be fixed in automake.
|
||||
cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(srcdir)/version.texi
|
||||
cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi
|
||||
|
||||
# These targets need to be very specific so that the other PDFs get generated correctly.
|
||||
# If they are more generic and cvs.ps is made before cvs.pdf, then cvs.pdf will be
|
||||
# generated from the generic target and the PS source, which contains less information
|
||||
# than the usual texinfo source.
|
||||
cvs-paper.pdf: cvs-paper.ps
|
||||
# These targets need to be very specific so that the other PDFs get generated
|
||||
# correctly. If they are more generic and cvs.ps is made before cvs.pdf, then
|
||||
# cvs.pdf will be generated from the generic target and the PS source, which
|
||||
# contains less information (hyperlinks and such) than the usual texinfo source.
|
||||
cvs-paper.ps: cvs-paper.ms
|
||||
$(ROFF) -t -p -ms -Tps $< > $@-t
|
||||
mv $@-t $@
|
||||
|
||||
cvs-paper.ps: cvs-paper.ms
|
||||
cvs-paper.pdf: cvs-paper.ps
|
||||
$(PS2PDF) $< $@
|
||||
|
||||
SUFFIXES = .aux .txt .pdf
|
||||
@ -94,23 +77,13 @@ SUFFIXES = .aux .txt .pdf
|
||||
# texinfo based targets automake neglects to include
|
||||
.texinfo.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $<
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.txi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $<
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.texi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $<
|
||||
|
||||
.texinfo.aux:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
.txi.aux:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
.texi.aux:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
|
||||
.texinfo.txt:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
@ -122,34 +95,9 @@ SUFFIXES = .aux .txt .pdf
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
|
||||
##
|
||||
## MAINTAINER Targets
|
||||
|
||||
## CVSvn.texi ##
|
||||
# - CVSvn.texi needs to be updated only once, since it depends on
|
||||
# configure.in, not on the results of a 'configure' run.
|
||||
# - It is guaranteed (with GNU Make) that when the version in configure.in
|
||||
# is changed, acversion.m4 is built only after the new version number is
|
||||
# propagated to the Makefile. (Libtool uses the same guarantee.)
|
||||
# - Of the next three targets, only the next one or the following two should be
|
||||
# enabled, not all three
|
||||
if MAKE_TARGETS_IN_VPATH
|
||||
# - This is the target for systems without the BSD VPATH bug in make or with
|
||||
# $(srcdir) = $(builddir)
|
||||
CVSvn.texi: $(srcdir)/CVSvn.texi.in $(top_srcdir)/configure.in
|
||||
sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/CVSvn.texi.in >$(srcdir)/CVSvn.ttexi
|
||||
mv $(srcdir)/CVSvn.ttexi $(srcdir)/CVSvn.texi
|
||||
else
|
||||
# - The next two targets are a workaround for the fact that some BSD makes
|
||||
# don't look through VPATH for targets, but only for sources.
|
||||
# - They should be disabled on systems without the bug and in environments
|
||||
# where $(srcdir) = $(builddir)
|
||||
CVSvn.texi: $(srcdir)/CVSvn.texi
|
||||
# use cat so the time stamp gets set properly
|
||||
cat $(srcdir)/CVSvn.texi >$@
|
||||
$(srcdir)/CVSvn.texi: $(srcdir)/CVSvn.texi.in $(top_srcdir)/configure.in
|
||||
sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/CVSvn.texi.in >$(srcdir)/CVSvn.ttexi
|
||||
mv $(srcdir)/CVSvn.ttexi $(srcdir)/CVSvn.texi
|
||||
endif
|
||||
##
|
||||
|
||||
## realclean ##
|
||||
# for backwards compatibility with the old makefiles
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4e from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@ -26,19 +26,6 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
#DISTFILES = \
|
||||
# .cvsignore \
|
||||
# RCSFILES \
|
||||
|
||||
# AUTOMAKE_OPTIONS = no-texinfo.tex
|
||||
|
||||
# FIXME - these rebuild every 'make dist' with some BSD makes due to a bug
|
||||
# that prevents make from searching VPATH for targets. There is some
|
||||
# machinery in place in configure.in to work around this for some targets
|
||||
# (see the CVSvn.texi target below) now, but fixing the two info_TEXINFOS
|
||||
# targets below is probably going to require work on Automake
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@ -59,11 +46,9 @@ infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
@ -77,7 +62,6 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
@ -89,31 +73,26 @@ AWK = @AWK@
|
||||
CC = @CC@
|
||||
CSH = @CSH@
|
||||
DEPDIR = @DEPDIR@
|
||||
ETAGS = @ETAGS@
|
||||
ETAGS_INCLUDE_OPTION = @ETAGS_INCLUDE_OPTION@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTALL_STRIP_PROGRAM_ENV = @INSTALL_STRIP_PROGRAM_ENV@
|
||||
KRB4 = @KRB4@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
includeopt = @includeopt@
|
||||
install_sh = @install_sh@
|
||||
|
||||
info_TEXINFOS = cvs.texinfo cvsclient.texi
|
||||
cvs_TEXINFOS = CVSvn.texi
|
||||
cvsclient_TEXINFOS = CVSvn.texi
|
||||
|
||||
POSTSCRIPTS = \
|
||||
cvs.ps \
|
||||
@ -135,18 +114,10 @@ TXTS = \
|
||||
EXTRA_DIST = \
|
||||
$(POSTSCRIPTS) \
|
||||
.cvsignore \
|
||||
CVSvn.texi.in \
|
||||
ChangeLog.fsf \
|
||||
RCSFILES \
|
||||
cvs-paper.ms \
|
||||
cvs.aux \
|
||||
cvsclient.aux
|
||||
|
||||
|
||||
# Listing cvs.cps & cvs.fns here is a workaround for an Automake deficiency
|
||||
MOSTLYCLEANFILES = \
|
||||
cvs.cps \
|
||||
cvs.fns
|
||||
mdate-sh \
|
||||
cvs-paper.ms
|
||||
|
||||
|
||||
CLEANFILES = \
|
||||
@ -159,8 +130,6 @@ MAINTAINERCLEANFILES = \
|
||||
|
||||
|
||||
SUFFIXES = .aux .txt .pdf
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
subdir = doc
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
|
||||
@ -174,63 +143,110 @@ DIST_SOURCES =
|
||||
INFO_DEPS = cvs.info cvsclient.info
|
||||
DVIS = cvs.dvi cvsclient.dvi
|
||||
TEXINFOS = cvs.texinfo cvsclient.texi
|
||||
DIST_COMMON = $(cvs_TEXINFOS) $(cvsclient_TEXINFOS) ChangeLog \
|
||||
Makefile.am Makefile.in texinfo.tex
|
||||
DIST_COMMON = ChangeLog Makefile.am Makefile.in mdate-sh stamp-1 \
|
||||
stamp-vti texinfo.tex version-client.texi version.texi
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .aux .txt .pdf .dvi .info .ps .texi .texinfo .txi
|
||||
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
|
||||
cvs.info: cvs.texinfo $(cvs_TEXINFOS)
|
||||
cvs.dvi: cvs.texinfo $(cvs_TEXINFOS)
|
||||
$(srcdir)/version.texi: $(srcdir)/stamp-vti
|
||||
@:
|
||||
$(srcdir)/stamp-vti: cvs.texinfo $(top_srcdir)/configure.in
|
||||
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/cvs.texinfo`; \
|
||||
echo "@set UPDATED $$1 $$2 $$3"; \
|
||||
echo "@set UPDATED-MONTH $$2 $$3"; \
|
||||
echo "@set EDITION $(VERSION)"; \
|
||||
echo "@set VERSION $(VERSION)") > vti.tmp
|
||||
@cmp -s vti.tmp $(srcdir)/version.texi \
|
||||
|| (echo "Updating $(srcdir)/version.texi"; \
|
||||
cp vti.tmp $(srcdir)/version.texi)
|
||||
-@rm -f vti.tmp
|
||||
@cp $(srcdir)/version.texi $@
|
||||
|
||||
cvsclient.info: cvsclient.texi $(cvsclient_TEXINFOS)
|
||||
cvsclient.dvi: cvsclient.texi $(cvsclient_TEXINFOS)
|
||||
mostlyclean-vti:
|
||||
-rm -f vti.tmp
|
||||
|
||||
maintainer-clean-vti:
|
||||
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
|
||||
|
||||
cvs.info: cvs.texinfo $(srcdir)/version.texi
|
||||
cvs.dvi: cvs.texinfo $(srcdir)/version.texi
|
||||
|
||||
$(srcdir)/version-client.texi: $(srcdir)/stamp-1
|
||||
@:
|
||||
$(srcdir)/stamp-1: cvsclient.texi $(top_srcdir)/configure.in
|
||||
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/cvsclient.texi`; \
|
||||
echo "@set UPDATED $$1 $$2 $$3"; \
|
||||
echo "@set UPDATED-MONTH $$2 $$3"; \
|
||||
echo "@set EDITION $(VERSION)"; \
|
||||
echo "@set VERSION $(VERSION)") > 1.tmp
|
||||
@cmp -s 1.tmp $(srcdir)/version-client.texi \
|
||||
|| (echo "Updating $(srcdir)/version-client.texi"; \
|
||||
cp 1.tmp $(srcdir)/version-client.texi)
|
||||
-@rm -f 1.tmp
|
||||
@cp $(srcdir)/version-client.texi $@
|
||||
|
||||
mostlyclean-1:
|
||||
-rm -f 1.tmp
|
||||
|
||||
maintainer-clean-1:
|
||||
-rm -f $(srcdir)/stamp-1 $(srcdir)/version-client.texi
|
||||
|
||||
cvsclient.info: cvsclient.texi $(srcdir)/version-client.texi
|
||||
cvsclient.dvi: cvsclient.texi $(srcdir)/version-client.texi
|
||||
|
||||
.texi.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texi.dvi:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2DVI) $<
|
||||
|
||||
.texi:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.dvi:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2DVI) $<
|
||||
|
||||
.texinfo:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
MAKEINFO = @MAKEINFO@
|
||||
TEXI2DVI = texi2dvi
|
||||
DVIPS = dvips
|
||||
.dvi.ps:
|
||||
$(DVIPS) $< -o $@
|
||||
|
||||
uninstall-info-am:
|
||||
$(PRE_UNINSTALL)
|
||||
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
|
||||
@if (install-info --version && \
|
||||
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
|
||||
@ -282,7 +298,11 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
|| exit 1; \
|
||||
@ -311,25 +331,21 @@ install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_PROGRAM_ENV='$(INSTALL_STRIP_PROGRAM_ENV)' install
|
||||
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f Makefile.in
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
clean: clean-am
|
||||
|
||||
@ -367,7 +383,8 @@ install-info-am: $(INFO_DEPS)
|
||||
done; \
|
||||
done
|
||||
@$(POST_INSTALL)
|
||||
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
|
||||
@if (install-info --version && \
|
||||
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
|
||||
@ -380,25 +397,26 @@ installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
|
||||
maintainer-clean-generic
|
||||
maintainer-clean-am: distclean-am maintainer-clean-1 \
|
||||
maintainer-clean-aminfo maintainer-clean-generic \
|
||||
maintainer-clean-vti
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-aminfo mostlyclean-generic
|
||||
mostlyclean-am: mostlyclean-1 mostlyclean-aminfo mostlyclean-generic \
|
||||
mostlyclean-vti
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
uninstall-info: uninstall-info-am
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic dist-info \
|
||||
distclean distclean-generic distdir dvi dvi-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-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-aminfo \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-aminfo \
|
||||
mostlyclean-generic uninstall uninstall-am uninstall-info-am
|
||||
maintainer-clean maintainer-clean-1 maintainer-clean-aminfo \
|
||||
maintainer-clean-generic maintainer-clean-vti mostlyclean \
|
||||
mostlyclean-1 mostlyclean-aminfo mostlyclean-generic \
|
||||
mostlyclean-vti uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
doc ps: $(POSTSCRIPTS)
|
||||
@ -413,40 +431,33 @@ txt: $(TXTS)
|
||||
dvi: cvs.dvi cvsclient.dvi
|
||||
.PHONY: dvi
|
||||
|
||||
cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(cvs_TEXINFOS)
|
||||
cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi $(cvsclient_TEXINFOS)
|
||||
# FIXME-AUTOMAKE:
|
||||
# For some reason if I remove version.texi, it doesn't get built automatically.
|
||||
# This needs to be fixed in automake.
|
||||
cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(srcdir)/version.texi
|
||||
cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi
|
||||
|
||||
# These targets need to be very specific so that the other PDFs get generated correctly.
|
||||
# If they are more generic and cvs.ps is made before cvs.pdf, then cvs.pdf will be
|
||||
# generated from the generic target and the PS source, which contains less information
|
||||
# than the usual texinfo source.
|
||||
cvs-paper.pdf: cvs-paper.ps
|
||||
# These targets need to be very specific so that the other PDFs get generated
|
||||
# correctly. If they are more generic and cvs.ps is made before cvs.pdf, then
|
||||
# cvs.pdf will be generated from the generic target and the PS source, which
|
||||
# contains less information (hyperlinks and such) than the usual texinfo source.
|
||||
cvs-paper.ps: cvs-paper.ms
|
||||
$(ROFF) -t -p -ms -Tps $< > $@-t
|
||||
mv $@-t $@
|
||||
|
||||
cvs-paper.ps: cvs-paper.ms
|
||||
cvs-paper.pdf: cvs-paper.ps
|
||||
$(PS2PDF) $< $@
|
||||
|
||||
# texinfo based targets automake neglects to include
|
||||
.texinfo.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $<
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.txi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $<
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.texi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $<
|
||||
|
||||
.texinfo.aux:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
.txi.aux:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
.texi.aux:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
|
||||
.texinfo.txt:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
@ -458,33 +469,9 @@ cvs-paper.ps: cvs-paper.ms
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
|
||||
# - CVSvn.texi needs to be updated only once, since it depends on
|
||||
# configure.in, not on the results of a 'configure' run.
|
||||
# - It is guaranteed (with GNU Make) that when the version in configure.in
|
||||
# is changed, acversion.m4 is built only after the new version number is
|
||||
# propagated to the Makefile. (Libtool uses the same guarantee.)
|
||||
# - Of the next three targets, only the next one or the following two should be
|
||||
# enabled, not all three
|
||||
# - This is the target for systems without the BSD VPATH bug in make or with
|
||||
# $(srcdir) = $(builddir)
|
||||
@MAKE_TARGETS_IN_VPATH_TRUE@CVSvn.texi: $(srcdir)/CVSvn.texi.in $(top_srcdir)/configure.in
|
||||
@MAKE_TARGETS_IN_VPATH_TRUE@ sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/CVSvn.texi.in >$(srcdir)/CVSvn.ttexi
|
||||
@MAKE_TARGETS_IN_VPATH_TRUE@ mv $(srcdir)/CVSvn.ttexi $(srcdir)/CVSvn.texi
|
||||
# - The next two targets are a workaround for the fact that some BSD makes
|
||||
# don't look through VPATH for targets, but only for sources.
|
||||
# - They should be disabled on systems without the bug and in environments
|
||||
# where $(srcdir) = $(builddir)
|
||||
@MAKE_TARGETS_IN_VPATH_FALSE@CVSvn.texi: $(srcdir)/CVSvn.texi
|
||||
@MAKE_TARGETS_IN_VPATH_FALSE@ # use cat so the time stamp gets set properly
|
||||
@MAKE_TARGETS_IN_VPATH_FALSE@ cat $(srcdir)/CVSvn.texi >$@
|
||||
@MAKE_TARGETS_IN_VPATH_FALSE@$(srcdir)/CVSvn.texi: $(srcdir)/CVSvn.texi.in $(top_srcdir)/configure.in
|
||||
@MAKE_TARGETS_IN_VPATH_FALSE@ sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/CVSvn.texi.in >$(srcdir)/CVSvn.ttexi
|
||||
@MAKE_TARGETS_IN_VPATH_FALSE@ mv $(srcdir)/CVSvn.ttexi $(srcdir)/CVSvn.texi
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
.PHONY: realclean
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
\input texinfo @c -*- texinfo -*-
|
||||
|
||||
@setfilename cvsclient.info
|
||||
@include CVSvn.texi
|
||||
@include version-client.texi
|
||||
|
||||
@dircategory Programming
|
||||
@direntry
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
This document describes the client/server protocol used by CVS. It does
|
||||
not describe how to use or administer client/server CVS; see the regular
|
||||
CVS manual for that. This is version @value{CVSVN} of the protocol
|
||||
CVS manual for that. This is version @value{VERSION} of the protocol
|
||||
specification---@xref{Introduction}, for more on what this version number
|
||||
means.
|
||||
|
||||
@ -59,7 +59,7 @@ to date than what you are reading now) of this document,
|
||||
@file{cvsclient.texi}, can be found at the usual GNU FTP sites, with a
|
||||
filename such as @file{cvs-@var{version}.tar.gz}.
|
||||
|
||||
This is version @value{CVSVN} of the protocol specification. This
|
||||
This is version @value{VERSION} of the protocol specification. This
|
||||
version number is intended only to aid in distinguishing different
|
||||
versions of this specification. Although the specification is currently
|
||||
maintained in conjunction with the CVS implementation, and carries the
|
||||
|
92
contrib/cvs/doc/mdate-sh
Executable file
92
contrib/cvs/doc/mdate-sh
Executable file
@ -0,0 +1,92 @@
|
||||
#!/bin/sh
|
||||
# Get modification time of a file or directory and pretty-print it.
|
||||
# Copyright 1995, 1996, 1997 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
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Prevent date giving response in another language.
|
||||
LANG=C
|
||||
export LANG
|
||||
LC_ALL=C
|
||||
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.
|
||||
if ls -L /dev/null 1>/dev/null 2>&1; then
|
||||
set - x`ls -L -l -d $1`
|
||||
else
|
||||
set - x`ls -l -d $1`
|
||||
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.
|
||||
month=
|
||||
until test $month
|
||||
do
|
||||
shift
|
||||
case $1 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
|
||||
done
|
||||
|
||||
day=$2
|
||||
|
||||
# Here we have to deal with the problem that the ls output gives either
|
||||
# the time of day or the year.
|
||||
case $3 in
|
||||
*:*) set `date`; eval year=\$$#
|
||||
case $2 in
|
||||
Jan) nummonthtod=1;;
|
||||
Feb) nummonthtod=2;;
|
||||
Mar) nummonthtod=3;;
|
||||
Apr) nummonthtod=4;;
|
||||
May) nummonthtod=5;;
|
||||
Jun) nummonthtod=6;;
|
||||
Jul) nummonthtod=7;;
|
||||
Aug) nummonthtod=8;;
|
||||
Sep) nummonthtod=9;;
|
||||
Oct) nummonthtod=10;;
|
||||
Nov) nummonthtod=11;;
|
||||
Dec) nummonthtod=12;;
|
||||
esac
|
||||
# For the first six month of the year the time notation can also
|
||||
# be used for files modified in the last year.
|
||||
if (expr $nummonth \> $nummonthtod) > /dev/null;
|
||||
then
|
||||
year=`expr $year - 1`
|
||||
fi;;
|
||||
*) year=$3;;
|
||||
esac
|
||||
|
||||
# The result.
|
||||
echo $day $month $year
|
4
contrib/cvs/doc/stamp-1
Normal file
4
contrib/cvs/doc/stamp-1
Normal file
@ -0,0 +1,4 @@
|
||||
@set UPDATED 5 September 2001
|
||||
@set UPDATED-MONTH September 2001
|
||||
@set EDITION 1.11.2
|
||||
@set VERSION 1.11.2
|
4
contrib/cvs/doc/stamp-vti
Normal file
4
contrib/cvs/doc/stamp-vti
Normal file
@ -0,0 +1,4 @@
|
||||
@set UPDATED 17 April 2002
|
||||
@set UPDATED-MONTH April 2002
|
||||
@set EDITION 1.11.2
|
||||
@set VERSION 1.11.2
|
4
contrib/cvs/doc/version-client.texi
Normal file
4
contrib/cvs/doc/version-client.texi
Normal file
@ -0,0 +1,4 @@
|
||||
@set UPDATED 5 September 2001
|
||||
@set UPDATED-MONTH September 2001
|
||||
@set EDITION 1.11.2
|
||||
@set VERSION 1.11.2
|
4
contrib/cvs/doc/version.texi
Normal file
4
contrib/cvs/doc/version.texi
Normal file
@ -0,0 +1,4 @@
|
||||
@set UPDATED 17 April 2002
|
||||
@set UPDATED-MONTH April 2002
|
||||
@set EDITION 1.11.2
|
||||
@set VERSION 1.11.2
|
@ -1,3 +1,51 @@
|
||||
2001-09-18 Derek Price <dprice@collab.net>
|
||||
|
||||
* fnmatch.c: The header file for a system function we're replacing with
|
||||
our own should be #included using double quotes.
|
||||
(Patch from Corey Minyard <minyard@acm.org> via
|
||||
Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with automake 1.5.
|
||||
|
||||
2001-08-09 Derek Price <dprice@collab.net>
|
||||
|
||||
* getpagesize.h: Only include sys/param.h when HAVE_SYS_PARAM_H has
|
||||
been defined by configure.
|
||||
|
||||
2001-08-07 Derek Price <dprice@collab.net>
|
||||
|
||||
* build_lib.com: Verify.
|
||||
* getdate.y: Move the include of xtime.h out from underneath the ifdef
|
||||
so that it is always included.
|
||||
(Patch from Mike Marciniszyn <Mike.Marciniszyn@sanchez.com>.)
|
||||
|
||||
* getdate.c: Regenerated.
|
||||
|
||||
2001-08-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-07-05 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* getpagesize.h: New file to define getpagesize() for systems that
|
||||
don't already have it.
|
||||
* valloc.c (valloc): Use it.
|
||||
|
||||
2001-07-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new Automake release candidate 1.4h.
|
||||
|
||||
2001-06-28 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new version of Automake.
|
||||
|
||||
2001-06-15 Derek Price <dprice@collab.net>
|
||||
|
||||
* xselect.h: Don't include xtime.h.
|
||||
(Thanks to Martin Neitzel <neitzel@sco.gaertner.de>.)
|
||||
|
||||
2001-04-25 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4e from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@ -39,7 +39,6 @@
|
||||
#
|
||||
# $(includeopt) is CVS specific and set by configure
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@ -60,11 +59,9 @@ infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
@ -78,7 +75,6 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
@ -90,25 +86,22 @@ AWK = @AWK@
|
||||
CC = @CC@
|
||||
CSH = @CSH@
|
||||
DEPDIR = @DEPDIR@
|
||||
ETAGS = @ETAGS@
|
||||
ETAGS_INCLUDE_OPTION = @ETAGS_INCLUDE_OPTION@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTALL_STRIP_PROGRAM_ENV = @INSTALL_STRIP_PROGRAM_ENV@
|
||||
KRB4 = @KRB4@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
includeopt = @includeopt@
|
||||
install_sh = @install_sh@
|
||||
|
||||
@ -159,8 +152,6 @@ EXTRA_DIST = \
|
||||
build_lib.com \
|
||||
xgssapi.h
|
||||
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
subdir = lib
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
|
||||
@ -175,19 +166,12 @@ am_libcvs_a_OBJECTS = argmatch.$(OBJEXT) ftruncate.$(OBJEXT) \
|
||||
savecwd.$(OBJEXT) sighandle.$(OBJEXT) stripslash.$(OBJEXT) \
|
||||
xgetwd.$(OBJEXT) yesno.$(OBJEXT)
|
||||
libcvs_a_OBJECTS = $(am_libcvs_a_OBJECTS)
|
||||
AR = ar
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CFLAGS = @CFLAGS@
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)/src
|
||||
DEFS = @DEFS@
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)/src
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
DIST_SOURCES = $(libcvs_a_SOURCES)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/argmatch.Po $(DEPDIR)/dup2.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/fncase.Po $(DEPDIR)/fnmatch.Po \
|
||||
@ -202,36 +186,89 @@ depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strtoul.Po $(DEPDIR)/valloc.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/waitpid.Po $(DEPDIR)/xgetwd.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/yesno.Po
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
CFLAGS = @CFLAGS@
|
||||
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
|
||||
DIST_SOURCES = $(libcvs_a_SOURCES)
|
||||
DIST_COMMON = ChangeLog Makefile.am Makefile.in dup2.c fncase.c \
|
||||
fnmatch.c getdate.c hostname.c memmove.c mkdir.c rename.c \
|
||||
strerror.c strstr.c strtoul.c valloc.c waitpid.c
|
||||
SOURCES = $(libcvs_a_SOURCES)
|
||||
OBJECTS = $(am_libcvs_a_OBJECTS)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .obj .y
|
||||
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu lib/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
|
||||
AR = ar
|
||||
|
||||
clean-noinstLIBRARIES:
|
||||
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
||||
|
||||
libcvs.a: $(libcvs_a_OBJECTS) $(libcvs_a_DEPENDENCIES)
|
||||
libcvs.a: $(libcvs_a_OBJECTS) $(libcvs_a_DEPENDENCIES)
|
||||
-rm -f libcvs.a
|
||||
$(libcvs_a_AR) libcvs.a $(libcvs_a_OBJECTS) $(libcvs_a_LIBADD)
|
||||
$(RANLIB) libcvs.a
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT) core *.core
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/argmatch.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dup2.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fncase.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fnmatch.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ftruncate.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getdate.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getline.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt1.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hostname.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/md5.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memmove.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mkdir.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/regex.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rename.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/savecwd.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sighandle.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strerror.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stripslash.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strstr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoul.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/valloc.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/waitpid.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xgetwd.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/yesno.Po@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `cygpath -w $<`
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
|
||||
.y.c:
|
||||
$(YACC) $(AM_YFLAGS) $(YFLAGS) $< && mv y.tab.c $*.c
|
||||
$(YACCCOMPILE) $< && mv y.tab.c $@
|
||||
if test -f y.tab.h; then \
|
||||
if cmp -s y.tab.h $*.h; then \
|
||||
rm -f y.tab.h; \
|
||||
@ -239,13 +276,7 @@ libcvs.a: $(libcvs_a_OBJECTS) $(libcvs_a_DEPENDENCIES)
|
||||
mv y.tab.h $*.h; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT) core *.core
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
uninstall-info-am:
|
||||
|
||||
tags: TAGS
|
||||
|
||||
@ -263,65 +294,21 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list @CONFIG@; do \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| $(ETAGS) $(ETAGS_ARGS) $$tags $$unique $(LISP)
|
||||
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
|
||||
|
||||
GTAGS:
|
||||
here=`CDPATH=: && cd $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $$here
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/argmatch.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/dup2.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/fncase.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/fnmatch.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/ftruncate.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/getdate.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/getline.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/getopt.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/getopt1.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/hostname.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/md5.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/memmove.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/mkdir.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/regex.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/rename.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/savecwd.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/sighandle.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/strerror.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/stripslash.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/strstr.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/strtoul.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/valloc.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/waitpid.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/xgetwd.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/yesno.Po@_am_quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR)
|
||||
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
|
||||
.c.o:
|
||||
source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c -o $@ `cygpath -w $<`
|
||||
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
@ -330,7 +317,11 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
|| exit 1; \
|
||||
@ -355,24 +346,20 @@ install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_PROGRAM_ENV='$(INSTALL_STRIP_PROGRAM_ENV)' install
|
||||
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f Makefile.in
|
||||
-test -z "getdate.c" || rm -f getdate.c
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
|
||||
@ -382,11 +369,11 @@ distclean: distclean-am
|
||||
distclean-am: clean-am distclean-compile distclean-depend \
|
||||
distclean-generic distclean-tags
|
||||
|
||||
dvi:
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
info:
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
@ -394,7 +381,7 @@ install-data-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info:
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
@ -408,21 +395,23 @@ mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic \
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
.PHONY: GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-noinstLIBRARIES distclean distclean-compile \
|
||||
distclean-depend distclean-generic distclean-tags distdir dvi \
|
||||
dvi-am info info-am install install-am install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-man install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-compile mostlyclean-generic tags \
|
||||
uninstall uninstall-am
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic tags uninstall uninstall-am \
|
||||
uninstall-info-am
|
||||
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
.PHONY: realclean
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
@ -15,7 +15,7 @@ Library General Public License for more details. */
|
||||
Jim Blandy <jimb@cyclic.com> for CVS use */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include "system.h"
|
||||
@ -24,7 +24,7 @@ Library General Public License for more details. */
|
||||
/* #include <ansidecl.h> */
|
||||
/* @) */
|
||||
#include <errno.h>
|
||||
#include <fnmatch.h>
|
||||
#include "fnmatch.h"
|
||||
|
||||
#if !defined(__GNU_LIBRARY__) && !defined(STDC_HEADERS)
|
||||
extern int errno;
|
||||
|
@ -42,8 +42,8 @@
|
||||
# include <types.h>
|
||||
#else /* defined(vms) */
|
||||
# include <sys/types.h>
|
||||
# include "xtime.h"
|
||||
#endif /* !defined(vms) */
|
||||
# include "xtime.h"
|
||||
|
||||
#if defined (STDC_HEADERS) || defined (USG)
|
||||
#include <string.h>
|
||||
|
@ -73,6 +73,7 @@ getstr (lineptr, n, stream, terminator, offset, limit)
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
*lineptr[0] = '\0';
|
||||
}
|
||||
|
||||
nchars_avail = *n - offset;
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "system.h"
|
||||
|
||||
#ifndef HAVE_GETPAGESIZE
|
||||
#define getpagesize() 4096
|
||||
# include "getpagesize.h"
|
||||
#endif
|
||||
|
||||
void *
|
||||
|
@ -9,13 +9,13 @@
|
||||
GNU General Public License for more details. */
|
||||
|
||||
/* This file simply performs the include magic necessary for using select */
|
||||
#include <sys/types.h>
|
||||
|
||||
/* select also requires <sys/types.h>, "xtime.h", and <unistd.h> */
|
||||
|
||||
#ifdef HAVE_SYS_BSDTYPES_H
|
||||
# include <sys/bsdtypes.h>
|
||||
#endif
|
||||
|
||||
#include "xtime.h"
|
||||
|
||||
#if HAVE_SYS_SELECT_H
|
||||
# include <sys/select.h>
|
||||
#endif
|
||||
|
@ -1,3 +1,50 @@
|
||||
2002-04-17 Derek Price <oberon@umich.edu>
|
||||
|
||||
* cvs.1(cvs tag): Mention -c option.
|
||||
(Correction from Michael Richardson <mcr@sandelman.ottawa.on.ca>.)
|
||||
|
||||
2002-04-17 Derek Price <oberon@umich.edu>
|
||||
|
||||
* cvs.1(cvs commit): It's '-F' now, not '-f'.
|
||||
(Correction from Norikatsu Shigemura <nork@cityfujisawa.ne.jp>.)
|
||||
|
||||
2002-04-17 Derek Price <oberon@umich.edu>
|
||||
|
||||
* cvs.1: Claim to be out of date and direct users to the Cederqvist.
|
||||
Replace www.cyclic.com with cvshome.org.
|
||||
* cvs.5: Ditto.
|
||||
|
||||
2001-11-27 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* cvsbug.8: Fixed typo.
|
||||
(Correction from Mark D. Baushke <mdb@cvshome.org>.)
|
||||
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with automake 1.5.
|
||||
|
||||
2001-08-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-07-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new Automake release candidate 1.4h.
|
||||
|
||||
2001-06-28 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new version of Automake.
|
||||
|
||||
2001-05-21 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.1: Correct a quoting error.
|
||||
(Patch from Alexey Mahotkin <alexm@hsys.msk.ru>).
|
||||
|
||||
2001-05-18 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.1: Add note about 'P' file status from update.
|
||||
(Reported by Jani Averbach <jaa@cc.jyu.fi>).
|
||||
|
||||
2001-04-25 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4e from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@ -26,7 +26,6 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@ -47,11 +46,9 @@ infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
@ -65,7 +62,6 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
@ -77,25 +73,22 @@ AWK = @AWK@
|
||||
CC = @CC@
|
||||
CSH = @CSH@
|
||||
DEPDIR = @DEPDIR@
|
||||
ETAGS = @ETAGS@
|
||||
ETAGS_INCLUDE_OPTION = @ETAGS_INCLUDE_OPTION@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTALL_STRIP_PROGRAM_ENV = @INSTALL_STRIP_PROGRAM_ENV@
|
||||
KRB4 = @KRB4@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
includeopt = @includeopt@
|
||||
install_sh = @install_sh@
|
||||
|
||||
@ -104,8 +97,6 @@ EXTRA_DIST = \
|
||||
.cvsignore \
|
||||
$(man_MANS)
|
||||
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
subdir = man
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
|
||||
@ -118,22 +109,22 @@ DIST_COMMON = ChangeLog Makefile.am Makefile.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu man/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
uninstall-info-am:
|
||||
|
||||
man1dir = $(mandir)/man1
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(man1dir)
|
||||
@list='$(man1_MANS)'; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do \
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
@ -148,11 +139,11 @@ install-man1: $(man1_MANS) $(man_MANS)
|
||||
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
|
||||
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
|
||||
done
|
||||
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS)'; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do \
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
@ -170,8 +161,9 @@ man5dir = $(mandir)/man5
|
||||
install-man5: $(man5_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(man5dir)
|
||||
@list='$(man5_MANS)'; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do \
|
||||
@list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.5*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
@ -186,11 +178,11 @@ install-man5: $(man5_MANS) $(man_MANS)
|
||||
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \
|
||||
$(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \
|
||||
done
|
||||
|
||||
uninstall-man5:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man5_MANS)'; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do \
|
||||
@list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.5*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
@ -208,8 +200,9 @@ man8dir = $(mandir)/man8
|
||||
install-man8: $(man8_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(man8dir)
|
||||
@list='$(man8_MANS)'; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do \
|
||||
@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.8*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
@ -224,11 +217,11 @@ install-man8: $(man8_MANS) $(man_MANS)
|
||||
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \
|
||||
$(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \
|
||||
done
|
||||
|
||||
uninstall-man8:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man8_MANS)'; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do \
|
||||
@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.8*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
@ -252,7 +245,11 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
|| exit 1; \
|
||||
@ -278,23 +275,20 @@ install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_PROGRAM_ENV='$(INSTALL_STRIP_PROGRAM_ENV)' install
|
||||
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f Makefile.in
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
@ -303,11 +297,11 @@ distclean: distclean-am
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi:
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
info:
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
@ -315,7 +309,7 @@ install-data-am: install-man
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info:
|
||||
install-info: install-info-am
|
||||
|
||||
install-man: install-man1 install-man5 install-man8
|
||||
|
||||
@ -329,25 +323,24 @@ mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
uninstall-am: uninstall-man
|
||||
uninstall-am: uninstall-info-am uninstall-man
|
||||
|
||||
uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic distclean \
|
||||
distclean-generic distdir dvi dvi-am info info-am install \
|
||||
install-am install-data install-data-am install-exec \
|
||||
install-exec-am install-info install-man install-man1 \
|
||||
install-man5 install-man8 install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-man1 install-man5 install-man8 install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
uninstall uninstall-am uninstall-man uninstall-man1 \
|
||||
uninstall-man5 uninstall-man8
|
||||
uninstall uninstall-am uninstall-info-am uninstall-man \
|
||||
uninstall-man1 uninstall-man5 uninstall-man8
|
||||
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
.PHONY: realclean
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
@ -6,6 +6,11 @@
|
||||
..
|
||||
.SH NAME
|
||||
cvs \- Concurrent Versions System support files
|
||||
.SH NOTE
|
||||
This documentation may no longer be up to date. Please consult the Cederqvist
|
||||
(CVS Manual) as specified in
|
||||
.BR cvs ( 1 ).
|
||||
|
||||
.SH SYNOPSIS
|
||||
.hy 0
|
||||
.na
|
||||
|
92
contrib/cvs/mdate-sh
Executable file
92
contrib/cvs/mdate-sh
Executable file
@ -0,0 +1,92 @@
|
||||
#!/bin/sh
|
||||
# Get modification time of a file or directory and pretty-print it.
|
||||
# Copyright 1995, 1996, 1997 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
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Prevent date giving response in another language.
|
||||
LANG=C
|
||||
export LANG
|
||||
LC_ALL=C
|
||||
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.
|
||||
if ls -L /dev/null 1>/dev/null 2>&1; then
|
||||
set - x`ls -L -l -d $1`
|
||||
else
|
||||
set - x`ls -l -d $1`
|
||||
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.
|
||||
month=
|
||||
until test $month
|
||||
do
|
||||
shift
|
||||
case $1 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
|
||||
done
|
||||
|
||||
day=$2
|
||||
|
||||
# Here we have to deal with the problem that the ls output gives either
|
||||
# the time of day or the year.
|
||||
case $3 in
|
||||
*:*) set `date`; eval year=\$$#
|
||||
case $2 in
|
||||
Jan) nummonthtod=1;;
|
||||
Feb) nummonthtod=2;;
|
||||
Mar) nummonthtod=3;;
|
||||
Apr) nummonthtod=4;;
|
||||
May) nummonthtod=5;;
|
||||
Jun) nummonthtod=6;;
|
||||
Jul) nummonthtod=7;;
|
||||
Aug) nummonthtod=8;;
|
||||
Sep) nummonthtod=9;;
|
||||
Oct) nummonthtod=10;;
|
||||
Nov) nummonthtod=11;;
|
||||
Dec) nummonthtod=12;;
|
||||
esac
|
||||
# For the first six month of the year the time notation can also
|
||||
# be used for files modified in the last year.
|
||||
if (expr $nummonth \> $nummonthtod) > /dev/null;
|
||||
then
|
||||
year=`expr $year - 1`
|
||||
fi;;
|
||||
*) year=$3;;
|
||||
esac
|
||||
|
||||
# The result.
|
||||
echo $day $month $year
|
92
contrib/cvs/noautomake.sh
Executable file
92
contrib/cvs/noautomake.sh
Executable file
@ -0,0 +1,92 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Let autoconf run when this is set
|
||||
autoconf=:
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "usage: `basename $0` --help | --version"
|
||||
echo "usage: `basename $0` [--[no]autoconf]"
|
||||
}
|
||||
|
||||
help()
|
||||
{
|
||||
echo
|
||||
echo "This program will touch the files necessary to prevent Automake, aclocal,"
|
||||
echo "and, optionally, Autoheader, Autoconf, and configure from running after a"
|
||||
echo "fresh update from the CVS repository."
|
||||
echo
|
||||
echo " -h | --help Display this text and exit"
|
||||
echo " -V | --version Display version and exit"
|
||||
echo " -a | --autoconf Allow Autoconf & Autoheader to run (default)"
|
||||
echo " -A | --noautoconf Prevent Autoconf & Autoheader from running"
|
||||
echo
|
||||
echo "Not running Automake & aclocal causes changes to the following user files"
|
||||
echo "to be ignored:"
|
||||
echo
|
||||
echo " Makefile.am, acinclude.m4, configure.in"
|
||||
echo
|
||||
echo "Not running Autoconf & Autoheader causes changes to the following user"
|
||||
echo "files to be ignored:"
|
||||
echo
|
||||
echo " acconfig.h, configure.in"
|
||||
}
|
||||
|
||||
while getopts VACach-: opt; do
|
||||
if test "x$opt" = "x-"; then
|
||||
case $OPTARG in
|
||||
help)
|
||||
opt=h
|
||||
;;
|
||||
version)
|
||||
opt=V
|
||||
;;
|
||||
autoconf)
|
||||
opt=a
|
||||
;;
|
||||
noautoconf)
|
||||
opt=A
|
||||
;;
|
||||
*)
|
||||
opt=?
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $opt in
|
||||
h)
|
||||
usage
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
V)
|
||||
echo "CVS No Automake 0.1"
|
||||
exit 0
|
||||
;;
|
||||
A)
|
||||
autoconf=false
|
||||
;;
|
||||
a)
|
||||
autoconf=:
|
||||
;;
|
||||
?)
|
||||
usage >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# prevent aclocal from running
|
||||
find . -name aclocal.m4 -exec touch {} \;
|
||||
|
||||
# prevent Automake from running
|
||||
find . -name Makefile.in -exec touch {} \;
|
||||
|
||||
# prevent Autoheader from running
|
||||
if $autoconf; then :; else
|
||||
find . -name 'stamp-h?.in' -exec touch {} \;
|
||||
fi
|
||||
|
||||
# prevent Autoconf from running
|
||||
if $autoconf; then :; else
|
||||
find . -name configure -exec touch {} \;
|
||||
fi
|
@ -1,3 +1,807 @@
|
||||
2002-04-17 Derek Price <oberon@umich.edu>
|
||||
|
||||
* version.h: Regenerated for 1.11.2.
|
||||
|
||||
2002-04-03 Derek Price <oberon@umich.edu>
|
||||
|
||||
* stamp-h2.in: Regenerate with recent version of Autoconf.
|
||||
|
||||
2002-04-03 Derek Price <oberon@umich.edu>
|
||||
|
||||
* sanity.sh (TR): Send the stderr of one of the tool setup (tr) tests
|
||||
to /dev/null to avoid spurious output on some operating systems
|
||||
(notably Mac OS X).
|
||||
|
||||
2002-03-22 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* sanity.sh (rcslib): Correct new tests to use ${testcvs} instead
|
||||
of cvs.
|
||||
|
||||
2002-03-21 Derek Price <oberon@umich.edu>
|
||||
|
||||
* vers_ts.c (time_stamp): Return the timestamp for the newer of the
|
||||
link and the link's source when the file is a link.
|
||||
(Patch from RedHat cvs-1.11.1p1-7 SRPM.)
|
||||
|
||||
* sanity.sh (rcslib): Test for same.
|
||||
|
||||
2002-03-17 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* log.c (cvslog, log_fileproc): Add -S option to suppress head or
|
||||
file name if no revisions selected.
|
||||
* sanity.sh (log): New tests for above.
|
||||
|
||||
2002-03-13 Derek Price <oberon@umich.edu>
|
||||
|
||||
* main.c (usg): Correct a spelling mistake in a comment.
|
||||
(Thanks to Matt Kraai <kraai@alumni.cmu.edu>.)
|
||||
|
||||
2002-03-09 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* import.c (import): Change the suggested merge message to use
|
||||
rev tags instead of the branch tag with a date.
|
||||
* sanity.sh (import, importb): Change to match.
|
||||
|
||||
* remove.c (remove_fileproc): Disallow removing files with sticky
|
||||
dates for the same reason we already disallow sticky numeric tags.
|
||||
* sanity.sh (sticky): New test for above.
|
||||
|
||||
2002-02-27 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* diff.c (diff_fileproc): Treat dead revisions as nonexistent.
|
||||
|
||||
2002-02-26 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* diff.c (diff): Remove -V and --paginate options: they aren't valid.
|
||||
(diff_usage): Document all the diff options.
|
||||
|
||||
2002-02-13 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* rcs.c (RCS_gettag): Do not interpret an empty tag as HEAD (nothing
|
||||
else does and I don't see any documentation that says it should).
|
||||
(translate_symtag): Break out of loop at end of symbols to prevent
|
||||
looping forever when tag is "".
|
||||
(Reported by Alain ENOUT <aln00@udcast.com>
|
||||
via Eric Gillespie <epg@pretzelnet.org>.)
|
||||
|
||||
2002-02-11 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* server.c (server_cleanup): Set buf_to_net back to blocking mode
|
||||
and flush it (in case there are any error messages pending) before
|
||||
shutting down buf_from_net and again right before shutting it down.
|
||||
|
||||
2002-02-08 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* main.c (lookup_command_attribute): Throw a fatal error if the
|
||||
command is not found.
|
||||
* server.c (server_tag): Use the correct command name.
|
||||
|
||||
2002-01-30 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* error.h (error_exit): Remove unintended prototype.
|
||||
|
||||
* server.c (serve_root): Remove check for impossible condition.
|
||||
(serve_init): Save and restore current_parsed_root.
|
||||
|
||||
2002-01-29 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* error.h (error_exit): Declare __noreturn__ to avoid spurious
|
||||
warnings.
|
||||
|
||||
* server.c (serve_root): If the specified root doesn't match the
|
||||
pserver root, return before changing current_parsed_root to prevent
|
||||
subsequent commands from accessing an unchecked root directory.
|
||||
(server_init): Check specified root against the pserver root and
|
||||
complain if they don't match. Also, if there are pending errors,
|
||||
print them and return before changing current_parsed_root to prevent
|
||||
subsequent commands from accessing an unchecked root directory.
|
||||
* sanity.sh (pserver): New tests for above.
|
||||
|
||||
2002-01-10 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* log.c (log_version_requested): Change :: in revision spec to be
|
||||
exclusive just on the low end (so -r tag1::tag2 gives revisions
|
||||
after tag1 but up to and including tag2), which is much more useful
|
||||
than the previous (exclusive at both ends) behavior.
|
||||
(log_usage): Update to match.
|
||||
* sanity.sh (log): Update to match.
|
||||
|
||||
2002-01-02 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* server.c (LOG_DAEMON): Define if needed.
|
||||
(Patch from John David Anglin <dave@hiauly1.hia.nrc.ca>.)
|
||||
|
||||
* server.c (pserver_authenticate_connection): Add a specific error
|
||||
message for EOF at protocol start and syslog if available.
|
||||
* sanity.sh (pserver-bufinit): Update to match.
|
||||
|
||||
2001-12-10 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* log.c (log_usage): Note that -r and -d take lists, not just a
|
||||
single specification.
|
||||
(log_expand_revlist): Don't dereference null pointers when one end
|
||||
of a revision range is a non-existent tag.
|
||||
|
||||
2001-12-03 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* annotate.c (annotate, annotate_fileproc): Don't annotate binary
|
||||
files unless new -F option given.
|
||||
* sanity.sh (basica, ann, ann-id, rcs, keywordlog, tagdate): Update
|
||||
to match.
|
||||
|
||||
2001-11-30 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* admin.c (admin): Allow unrestricted usage of -q in addition to -k.
|
||||
|
||||
2001-10-25 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* log.c (log_expand_revlist): Make erroneous or inconsistent revision
|
||||
specs select no revisions rather than all revisions.
|
||||
|
||||
2001-10-23 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* import.c (add_rcs_file): Don't put an expand entry into the file
|
||||
for the default expansion mode (kv).
|
||||
* wrapper.c (wrap_send, wrap_unparse_rcs_options): Process entries
|
||||
with default expansion mode since they may be needed to avoid matching
|
||||
a more general entry later.
|
||||
(wrap_add): Set rcsOption to NULL for default (kv).
|
||||
(wrap_add_entry): Use structure assignment to copy entries rather
|
||||
that copying members by hand.
|
||||
* sanity.sh (binwrap3): Revise to test wrapper entries that don't
|
||||
specify any non-default options but just prevent matching later,
|
||||
more general entries.
|
||||
|
||||
2001-10-02 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* rcs.c (RCS_fully_parse): Add revision number to more error messages.
|
||||
|
||||
2001-09-27 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* rcs.c (RCS_fully_parse, RCS_getdeltatext): Add the missing revision
|
||||
number to the "mismatch" error message.
|
||||
|
||||
* sanity.sh (multiroot2-9a): Update to match changes to lock.c.
|
||||
|
||||
2001-09-26 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* lock.c (Lock_Cleanup, Reader_Lock, write_lock): Add trace messages.
|
||||
|
||||
2001-09-24 Derek Price <dprice@collab.net>
|
||||
|
||||
* find_names.c (add_entries_proc): Leave closure specified as such in the
|
||||
function definition for clarity.
|
||||
|
||||
* find_names.c (Find_Names): Use 'closure' feature of walklist()
|
||||
to eliminate the static variable.
|
||||
(add_entries_proc): Expect closure to be the file list.
|
||||
(Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
|
||||
2001-09-19 Derek Price <dprice@collab.net>
|
||||
|
||||
* rcs.c (rcsbuf_valpolish_internal): Restore one of the
|
||||
"if ( ... ) abort();" sequences since it seems to check the validity of
|
||||
the RCS file rather than for a programming error. Also added a FIXME
|
||||
comment to the effect that we should explain the RCS file error to the
|
||||
user as such if it is such.
|
||||
(Thanks to Larry Jones <scjones@sdrc.com>.)
|
||||
|
||||
2001-09-19 Derek Price <dprice@collab.net>
|
||||
|
||||
* rcs.c (rcsbuf_getkey, rcsbuf_valpolish_internal): Replace some code
|
||||
of the form "if ( ... ) abort();" with equivalent calls to assert().
|
||||
|
||||
2001-09-17 Derek Price <dprice@collab.net>
|
||||
|
||||
* myndbm.c (mydbm_load_file): Fix buffer overflow error and make error
|
||||
messages more informative.
|
||||
* sanity.sh (modules6): New test.
|
||||
(Original report from Taska <taska@collab.net> and others.)
|
||||
|
||||
2001-09-14 Derek Price <dprice@collab.net>
|
||||
|
||||
* logmsg.c (do_verify): Dispose memory when finished with it.
|
||||
|
||||
2001-09-07 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* mkmodules.c (notify_contents): In the example, move the %s to
|
||||
the end since many, if not most, versions of mail insist on
|
||||
options coming before addresses.
|
||||
|
||||
2001-09-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* login.c (login): Deal with NULL return value from getpass.
|
||||
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with automake 1.5.
|
||||
* stamp-h2.in: Ditto.
|
||||
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* main.c (main): Fix empty CVSROOT message to specify `valid' instead
|
||||
of `legal'.
|
||||
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* server.c (pserver_authenticate_connection): Back out changes from the
|
||||
30th and...
|
||||
* getline.c (getstr): init the buffer instead.
|
||||
|
||||
2001-08-31 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Backed out accidental commit from yesterday.
|
||||
|
||||
2001-08-30 Derek Price <dprice@collab.net>
|
||||
|
||||
* server.c (pserver_authenticate_connection): Don't print from the
|
||||
NULL pointer in the error message string in the case where the client
|
||||
didn't send any data.
|
||||
* sanity.sh (pserver): Test for this case.
|
||||
(Report from Mark Welch <mark@collab.net>).
|
||||
|
||||
2001-08-24 Derek Price <dprice@collab.net>
|
||||
|
||||
* logmsg.c (do_editor): Add comment and assertion.
|
||||
* import.c (import): Don't call do_editor with a repository argument
|
||||
in client mode.
|
||||
(Report and original patch from darkness <darkness@invado.com>.)
|
||||
|
||||
2001-08-24 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* log.c (log_expand_revlist): Arrange for nil revision specs to
|
||||
select nothing instead of everything.
|
||||
* sanity.sh (log): New tests for above.
|
||||
|
||||
2001-08-24 Derek Price <dprice@collab.net>
|
||||
|
||||
* parseinfo.c (Parse_Info): Change the function name in the trace
|
||||
and add the client/server string.
|
||||
|
||||
2001-08-24 Derek Price <dprice@collab.net>
|
||||
|
||||
* Implement RereadLogAfterVerify CVSROOT/config option to control
|
||||
FreeBSD read-write of log messages in the verification script.
|
||||
* logmsg.c: RereadLogAfterVerify defaults to LOGMSG_REREAD_NEVER
|
||||
to preserve the status quo.
|
||||
* parseinfo.c (parse_config): Add parsing for RereadLogAfterVerify
|
||||
option. Possible values are: no | never | yes | always | stat
|
||||
* cvs.h: Add extern for RereadLogAfterVerify and new value macros
|
||||
LOGMSG_REREAD_NEVER, LOGMSG_REREAD_ALWAYS, LOGMSG_REREAD_STAT for
|
||||
its values.
|
||||
(Patch from Mark D. Baushke <mdb@cvshome.org>.)
|
||||
|
||||
* Apply changes from FreeBSD cvs sources to implement a read-write
|
||||
user-defined verification script.
|
||||
* logmsg.c (do_verify): Update do_verify to expect a pointer
|
||||
to the saved message. The log file passed to the verifymsg_script
|
||||
should be re-read after the user-defined verification script has
|
||||
been run. The user-defined verification script is allowed to
|
||||
modify the message. This allows the script to add extra
|
||||
information to the log message or to remove template lines that
|
||||
are not needed.
|
||||
* cvs.h: Update prototype for do_verify prototype to expect a
|
||||
pointer to the saved_message.
|
||||
* commit.c (commit, commit_fileproc, commit_direntproc): Update
|
||||
calls to do_verify as the saved_message arg is now read-write.
|
||||
* import.c (import): Update calls to do_verify as the
|
||||
saved_message arg is now read-write.
|
||||
* sanity.sh (info-v4-[12]): Rename the old info-v4 test to info-v5
|
||||
and add a new info-v4 test case have the verification script
|
||||
modify the log message to test the above changes.
|
||||
(Patch from Mark D. Baushke <mdb@cvshome.org>.)
|
||||
|
||||
* logmsg.c: Change RereadLogAfterVerify default to always.
|
||||
(do_verify): Reformat and make minor fixes to Mark's patch.
|
||||
* mkmodules.c (config_constants): Add comment about
|
||||
RereadLogAfterVerify.
|
||||
* sanity.sh (info-rereadlog): Rename the tests from Mark's patch and
|
||||
reformat them a bit.
|
||||
|
||||
2001-08-23 Derek Price <dprice@collab.net>
|
||||
|
||||
* sanity.sh (info): Demonstrate that the verifymsg scripts can
|
||||
sometimes, but not always, retreive information on which directory is
|
||||
being committed to.
|
||||
|
||||
2001-08-22 Derek Price <dprice@collab.net>
|
||||
|
||||
* logmsg.c: Back out the last change - the repository which is passed
|
||||
in is actually the directory and changes with each call to do_verify.
|
||||
If a verifymsg script is using `pwd`, this could change the operation.
|
||||
* cvs.h: Ditto.
|
||||
* commit.c: Ditto.
|
||||
* import.c: Ditto.
|
||||
|
||||
2001-08-22 Derek Price <dprice@collab.net>
|
||||
|
||||
* logmsg.c (do_editor): Return reused_message.
|
||||
(do_verify): Don't verify the same log message more than once.
|
||||
* cvs.h: Update prototypes for do_verify and do_editor.
|
||||
* commit.c (commit_fileproc, commit_direntproc): Use the new functionality.
|
||||
* import.c (import): Ditto.
|
||||
|
||||
2001-08-22 Derek Price <dprice@collab.net>
|
||||
|
||||
* logmsg.c (do_verify): Remove an unecessary "else" clause following an
|
||||
exit and unindent the former contents.
|
||||
|
||||
2001-08-22 Derek Price <dprice@collab.net>
|
||||
|
||||
* commit.c (commit): Don't call do_verify in client mode since we know
|
||||
do_verify will just return anyhow.
|
||||
|
||||
2001-08-20 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am (cvs_SOURCES): Add version.c and version.h.
|
||||
(BUILT_SOURCES): Add version.h.
|
||||
(Maintainer Targets): Remove version.h.
|
||||
* version.c: Remove @VERSION@ dependant bits.
|
||||
* version.c.in: Removed.
|
||||
* version.h.in: New file.
|
||||
(Original patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
|
||||
* Makefile.am: Various modifications to make Automake, make dist, and
|
||||
windows targets work like they are supposed to.
|
||||
* version.h: New (generated) file.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-08-09 Derek Price <dprice@collab.net>
|
||||
|
||||
* client.c (socket_buffer_shutdown): Use recv instead of read and
|
||||
return 0 on success.
|
||||
(Patch from "Manfred Klug" <manklu@web.de>.)
|
||||
|
||||
2001-08-09 Derek Price <dprice@collab.net>
|
||||
|
||||
* buffer.c (stdio_buffer_shutdown): Assume the buffer is not a socket
|
||||
when NO_SOCKET_TO_FD is defined.
|
||||
* client.c (make_bufs_from_fds): Add is_sock argument and remove fstat
|
||||
call and reference to S_ISSOCK since these functions aren't available
|
||||
under Windows.
|
||||
(connect_to_forked_server, connect_to_pserver, start_tcp_server,
|
||||
start_server, start_rsh_server): Use new argument.
|
||||
(Patch from "Manfred Klug" <manklu@web.de>.)
|
||||
|
||||
* buffer.c (stdio_buffer_shutdown): Various reformattings, fix bug
|
||||
where rsh pipes weren't being closed.
|
||||
|
||||
2001-08-09 Derek Price <dprice@collab.net>
|
||||
|
||||
* sanity.sh (rmadd, rm-update-message, join-two-branch,
|
||||
ignore-on-branch): Change a few references to `cvs' to `$PROG'.
|
||||
|
||||
2001-08-07 Derek Price <dprice@collab.net>
|
||||
|
||||
* build_src.com: Add annotate.c/annotate.obj,verify, correct zlib name.
|
||||
* patch.c: VMS time_t appears to be unsigned. Add a cast when testing
|
||||
for (time_t)-1.
|
||||
* subr.c: #else,#endif for no symlinks should be moved.
|
||||
(Patch from Mike Marciniszyn <Mike.Marciniszyn@sanchez.com>.)
|
||||
|
||||
2001-08-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-08-01 Derek Price <dprice@collab.net>
|
||||
|
||||
* diff.c (diff): Send long option for side-by-side diffs to the server
|
||||
rather than '-y', for backwards compatibility with old servers.
|
||||
(Original patch from Peter Mathiasson <peter@mathiasson.nu>.)
|
||||
|
||||
2001-07-19 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* mkmodules.c (cvswrappers_contents): Remove -t/-f since they're
|
||||
disabled in wrapper.c.
|
||||
|
||||
* checkout.c (checkout): Don't complain about checking out into the
|
||||
repository when piping output.
|
||||
(Reported by der Mouse <mouse@Rodents.Montreal.QC.CA>.)
|
||||
* sanity.sh (checkout_repository): New tests for above.
|
||||
|
||||
2001-07-10 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* sanity.sh (importc-7): Now works correctly in local mode.
|
||||
|
||||
* commit.c (commit_dirleaveproc): We're still in the directory when
|
||||
this is called, so the first argument to Name_Repository needs to
|
||||
be NULL, not dir.
|
||||
* sanity.sh (rmadd): New tests for above.
|
||||
|
||||
* commit.c (commit): Reword error messages for committing as root.
|
||||
|
||||
2001-07-08 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* rcs.c (RCS_checkout): Correct scanf format to allow for trailing
|
||||
NUL terminator.
|
||||
* update.c (special_file_mismatch): Ditto.
|
||||
(Reported by Pekka Savola <pekkas@netcore.fi>.)
|
||||
|
||||
2001-07-05 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* client.c, root.c: Fix -Wall warnings.
|
||||
|
||||
* buffer.c: #include socket header to declare shutdown().
|
||||
|
||||
* rcs.c (rcsbuf_open): Use getpagesize() instead of sysconf() for
|
||||
portability.
|
||||
(RCS_copydeltas, rcsbuf_fill): Fix -Wall warnings.
|
||||
|
||||
2001-07-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new Automake release candidate 1.4h.
|
||||
|
||||
2001-07-03 Derek Price <dprice@collab.net>
|
||||
|
||||
* rcs.c (rcsbuf_open): Reduce memory consumption still further by not
|
||||
mmapping the entire file when pos is specified.
|
||||
(rcsbuf_cache_open): Add FIXME comment wrt read-only mmaps and rcsbuf
|
||||
caching.
|
||||
|
||||
2001-07-03 Derek Price <dprice@collab.net>
|
||||
|
||||
* rcs.c (rcsbuf_open): Use mmap when possible to reduce memory
|
||||
consumption, especially with large (e.g. binary) files.
|
||||
(rcsbuf_close): Call munmap.
|
||||
(rcsbuf_getkey): Remove the buffer fill code when using mmap.
|
||||
(rcsbuf_getrevnum): Ditto.
|
||||
(rcsbuf_fill): Remove this function when using mmap.
|
||||
(rcsbuf_cache_open): Mostly don't use this function with mmap.
|
||||
(RCS_copydeltas): Don't depend on the file pointer with mmap.
|
||||
|
||||
* stamp-h2.in: Regenerated.
|
||||
|
||||
2001-07-03 Derek Price <dprice@collab.net>
|
||||
|
||||
* update.c: Indent compiler directives.
|
||||
|
||||
2001-07-02 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* import.c (update_rcs_file): Use -kb instead of -ko when comparing
|
||||
binary files.
|
||||
(Reported by Gyula Faller <gfaller@graphisoft.hu>.)
|
||||
|
||||
2001-06-28 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* checkout.c (checkout): Explicitly initialize all the static options
|
||||
so that multiple calls work right. Also fix potential memory leaks.
|
||||
(Reported by Dr. Dieter Maurer <dieter@sz-sb.de>.)
|
||||
|
||||
2001-06-28 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new version of Automake.
|
||||
|
||||
2001-06-28 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* checkout.c (checkout): Set history_name for export as well as
|
||||
checkout.
|
||||
(checkout_proc): Use it.
|
||||
|
||||
* checkout.c (safe_location): Add missing argument in error message.
|
||||
|
||||
2001-06-26 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* recurse.c (start_recursion): Use strip_trailing_slashes instead
|
||||
of doing it by hand.
|
||||
|
||||
* server.c (pserver_authenticate_connection): Don't clear out
|
||||
descrambled_password until *after* it's (potentially) logged.
|
||||
(Reported by Eric Hanchrow <offby1@blarg.net>.)
|
||||
|
||||
2001-06-25 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* recurse.c (start_recursion): Deal with at least some of the cases
|
||||
where trailing slashes cause confusion.
|
||||
(Reported by Malcolm Fernandes <fernande@redback.com>.)
|
||||
* sanity.sh (basica, basicb): Tweak existing tests to check this.
|
||||
|
||||
2001-06-22 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* sanity.sh (modules5): New tests with -d on command line.
|
||||
|
||||
2001-06-21 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* modules.c (do_module): Use run_module_prog and server_active to
|
||||
determine when to call server_prog instead of using server_expanding
|
||||
so that we get the right paths in the replies as long as we take
|
||||
mwhere into account in addition to where.
|
||||
(Reported by Pascal Bourguignon <pjb@informatimago.com>.)
|
||||
* server.c (server_prog): Use protocol pipe instead of buf_to_net.
|
||||
* sanity.sh (modules5): Remove FIXCVS comment and update to match.
|
||||
* server.c, server.h: Remove server_expanding since now unused.
|
||||
|
||||
2001-06-21 Larry Jones <larry.jones@sdrc.com>
|
||||
for Stephen Rasku <stephen@tgivan.com>
|
||||
|
||||
* admin.c: Corrected spelling mistakes in help.
|
||||
|
||||
2001-06-20 Derek Price <dprice@collab.net>
|
||||
|
||||
* client.c (socket_buffer_shutdown): Fix untested typos.
|
||||
(Reported by "Jerzy Kaczorowski" <jerzyk@wndtabs.com>.)
|
||||
|
||||
* buffer.c (stdio_buffer_shutdown): Put the call to SHUTDOWN_SERVER in
|
||||
the correct place.
|
||||
|
||||
2001-06-20 Derek Price <dprice@collab.net>
|
||||
|
||||
* logmsg.c (do_editor): Abort in the case that the file has only
|
||||
comment lines.
|
||||
(Original patch from Mark Valentine <mark@thuvia.demon.co.uk>.)
|
||||
|
||||
* logmsg.c (do_editor): Fix rare memory leak.
|
||||
* sanity.sh (editor): Add tests for aborted log messages.
|
||||
|
||||
2001-06-20 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* server.c (switch_to_user): Only set $CVS_USER if
|
||||
AUTH_SERVER_SUPPORT is defined.
|
||||
(Reported by Nalin Dahyabhai <nalin@blade.devel.redhat.com>.)
|
||||
|
||||
2001-06-13 Derek Price <dprice@collab.net>
|
||||
|
||||
* client.c: Fix incorrect fixed-size buffer usage in
|
||||
connect_to_gserver().
|
||||
(Minor changes to a patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
|
||||
2001-06-11 Derek Price <dprice@collab.net>
|
||||
|
||||
* main.c (main): Always print $CVSROOT when parse_cvsroot fails.
|
||||
* root.c (parse_cvsroot): Tidy error messages and provide more
|
||||
consistent behavior.
|
||||
* sanity.sh (crerepos): Adapt to new error messages.
|
||||
(Suggested by Alexey Mahotkin <alexm@hsys.msk.ru>.)
|
||||
|
||||
2001-06-08 Derek Price <dprice@collab.net>
|
||||
|
||||
* sanity.sh (tagf-28): Use $CVSROOT_DIRNAME.
|
||||
|
||||
2001-06-07 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* rcs.c (RCS_unlock): Reverse kj's change of 1999-10-18: a bare -u
|
||||
should never break locks, you have to specify a specific revision
|
||||
to do that. Also add an informative message for a bare -u when
|
||||
the user doesn't hold any locks.
|
||||
* commit.c (unlockrcs): Make RCS_unlock quiet, like RCS_lock.
|
||||
* sanity.sh (rmadd-24): Update to match.
|
||||
|
||||
* sanity.sh (crerepos-6a): Set CVS_RSH for ${testcvs}, not for
|
||||
dotest_fail. Allow for "broken pipe" rather than "end of file".
|
||||
|
||||
2001-06-07 Derek Price <dprice@collab.net>
|
||||
|
||||
* sanity.sh (tagf): Use $CVSROOT_DIRNAME rather than
|
||||
/tmp/cvs-sanity/cvsroot.
|
||||
|
||||
2001-06-06 Derek Price <dprice@collab.net>
|
||||
|
||||
(Reformatting, bug fixes, tests, and comments to a
|
||||
patch from Stephen Cameron <steve.cameron@compaq.com>.)
|
||||
|
||||
* tag.c: (rtag_fileproc, rtag_delete, tag_fileproc)
|
||||
Changed behavior of "cvs tag -F", "cvs tag -d", "cvs rtag -F"
|
||||
and "cvs rtag -d" so that they will not disturb existing
|
||||
branch tags unless a new "-B" option is given.
|
||||
* sanity.sh (tagf-16 - tagf-33): Added tests for new -B option
|
||||
to "cvs tag" and "cvs rtag"
|
||||
|
||||
2001-06-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* sanity.sh (crerepos-6a): Set CVS_RSH=false and only for the actual
|
||||
test call at Larry's suggestion. Also, test the error message since
|
||||
it's fixed now.
|
||||
|
||||
2001-06-05 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* rcs.c (RCS_unlock): Note when breaking someone else's lock.
|
||||
(Reported by MURVAI-BUZOGANY Laszlo
|
||||
<Laszlo.MURVAI-BUZOGANY@gt-systems.hu>.)
|
||||
* sanity.sh (reserved-14): Update to match.
|
||||
|
||||
2001-06-05 Derek Price <dprice@collab.net>
|
||||
|
||||
* sanity.sh (crerepos-6a): Set CVS_RSH=/bin/false... this is a local
|
||||
mode only test anyhow.
|
||||
(Thanks to Larry Jones and Morgan Burke <morgan@sitka.triumf.ca>.)
|
||||
|
||||
2001-05-31 Derek Price <dprice@collab.net>
|
||||
|
||||
* sanity.sh (rcs2-7): Add today to the list of failure dates for rcs2-7
|
||||
in the hopes that the data will eventually prove useful to someone
|
||||
motivated enough to fix the problem.
|
||||
|
||||
2001-05-30 Derek Price <dprice@collab.net>
|
||||
|
||||
* stamp-h2.in: Regenerated.
|
||||
|
||||
2001-05-30 Derek Price <dprice@collab.net>
|
||||
|
||||
* *: Various bug fixes and comments for the following
|
||||
patch from Donald Sharp <sharpd@cisco.com>:
|
||||
|
||||
* checkout.c (safe_location): cvs co -d <directory> still had
|
||||
failure modes from the way the -d option works.
|
||||
* sanity.sh: Misc error message resynching.
|
||||
|
||||
2001-05-29 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am (cvs_SOURCES): Add root.h.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* stamp-h2.in: Regenerated.
|
||||
|
||||
2001-05-29 Derek Price <dprice@collab.net>
|
||||
|
||||
* checkout.c (safe_location): Correct formatting.
|
||||
|
||||
2001-05-29 Derek Price <dprice@collab.net>
|
||||
|
||||
* root.c (parse_cvsroot): Fix a comment.
|
||||
|
||||
2001-05-26 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* checkout.c (safe_location): Use old-style definition to keep
|
||||
non-ANSI compilers happy.
|
||||
|
||||
* sanity.sh (check_respository): Use ${CVSROOT_DIRNAME} instead
|
||||
of /tmp/cvs-sanity/cvsroot.
|
||||
|
||||
2001-05-25 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* sanity.sh (modules5): Add sleep to script to help avoid out of
|
||||
order messages.
|
||||
|
||||
* filesubr.c (mkdir_if_needed): Return 1 if the directory exists
|
||||
reguardless of what errno is set to.
|
||||
(Reported by "Robinson, Greg" <greg.robinson@dsto.defence.gov.au>.)
|
||||
|
||||
2001-05-25 Derek Price <dprice@collab.net>
|
||||
for Donald Sharp <sharpd@cisco.com>
|
||||
|
||||
* checkout.c: Modified safe_location() to refuse checkout if
|
||||
the -d option to co specifies inside of the repository.
|
||||
* import.c: New parameter to safe_location needed to be added.
|
||||
* cvs.h: New parameter to safe_location needed to be added.
|
||||
* sanity.sh: Test case to test for failure mode.
|
||||
|
||||
2001-05-23 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* checkout.c (checkout_proc): Don't build top_level_admin directory
|
||||
when exporting.
|
||||
(Reported by Tony Byrne <tonyb@directski.com>.)
|
||||
|
||||
2001-05-21 Derek Price <dprice@collab.net>
|
||||
|
||||
* client.c: Fix a mispelling in a comment.
|
||||
(Patch from Alexey Mahotkin <alexm@hsys.msk.ru>).
|
||||
|
||||
2001-05-05 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* login.c (password_entry_operation): Only warn if unable to open
|
||||
.cvspass for reading: may be initial login and it doesn't exist yet.
|
||||
|
||||
2001-05-15 Derek Price <dprice@collab.net>
|
||||
|
||||
* client.c (start_tcp_server): Use the struct sockaddr_in declared in
|
||||
the function.
|
||||
(Reported by Emil Isberg <isberg@dynarc.se>.)
|
||||
|
||||
2001-05-05 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* annotate.c (annotate): Pass local to do_module and rannotate_proc
|
||||
so that -l actually works.
|
||||
* log.c (cvslog): Ditto.
|
||||
* patch.c (patch): Ditto; make local local instead of global.
|
||||
(patch_proc): Use local_specified parameter instead of global.
|
||||
* tag.c (cvstag, rtag_proc): Ditto.
|
||||
|
||||
2001-05-05 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* client.h: Declare "struct buffer" outside prototype for __STDC__
|
||||
compilers.
|
||||
|
||||
2001-05-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* client.c: General refactoring. Removed several global variables in
|
||||
favor of passing locals and/or dynamic evaluation.
|
||||
(recv_line): Removed this function.
|
||||
(make_bufs_from_fds): New function with factored code.
|
||||
(connect_to_forked_server): New prototype. Use new functions.
|
||||
(connect_to_pserver): New prototype. Use new functions.
|
||||
(connect_to_gserver): New prototype. Use new API.
|
||||
(auth_server): Factored this portion of the pserver code so it can be
|
||||
shared. Rewrote to use buffers rather than depending on a socket.
|
||||
(start_rsh_server): New prototype. Use new API.
|
||||
(start_tcp_server): New prototype. Use new API.
|
||||
(start_server): Factor some code. Use new API.
|
||||
* client.h: New prototypes.
|
||||
* cvs.h: Gratuitous reformatting. Use new root.h.
|
||||
* login.c (login): Use new connect_to_pserver API.
|
||||
* root.h: New file. Contains some code that used to be in cvs.h.
|
||||
|
||||
2001-05-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* client.c: Gratuitous reformatting.
|
||||
* client.h: Ditto.
|
||||
|
||||
2001-05-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* zlib.c (compress_buffer_shutdown_input): Use new buffer shutdown
|
||||
prototype.
|
||||
(compress_buffer_shutdown_output): Ditto.
|
||||
(Thanks to Pavel Roskin <proski@gnu.org>.)
|
||||
|
||||
2001-05-03 Derek Price <dprice@collab.net>
|
||||
|
||||
* buffer.c (struct stdio_buffer_closure): New structure to hold a
|
||||
FILE * and the child's PID when necessary.
|
||||
(stdio_buffer_initialize): Change proto to accept PID. Set up new
|
||||
closure. Pass new stdio_buffer_shutdown to buf_initialize.
|
||||
(stdio_buffer_input): Use new closure.
|
||||
(stdio_buffer_output): Ditto.
|
||||
(stdio_buffer_flush): Ditto.
|
||||
(stdio_buffer_shutdown): New function. Teach buffer to close itself.
|
||||
(packetizing_buffer_shutdown): Use new buffer shutdown proto.
|
||||
* buffer.h (struct buffer): New buffer shutdown proto.
|
||||
(stdio_buffer_initialize): New proto.
|
||||
* client.c (log_buffer_shutdown): Use new proto.
|
||||
(socket_buffer_initialize): Pass shutdown func.
|
||||
(socket_buffer_shutdown): New function.
|
||||
* server.c (get_responses_and_close): Remove most of the guts. Rely
|
||||
on the buffer shutdown function from now on.
|
||||
(start_rsh_server): Return child PID.
|
||||
|
||||
2001-05-03 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* history.c (history_write): Handle the case where the user's home
|
||||
directory doesn't exist gracefully instead of erroring out.
|
||||
(Reported by David Hoover <dhoover@cadence.com>.)
|
||||
|
||||
2001-05-03 Derek Price <dprice@collab.net>
|
||||
|
||||
* cvs.h: s/allocate_and_strcat/xrealloc_and_strcat/ since that is what
|
||||
I wrote in the ChangeLog, oh, so long ago.
|
||||
* diff.c (diff): Ditto.
|
||||
* subr.c (allocate_and_strcat, xrealloc_and_strcat): Ditto.
|
||||
|
||||
2001-05-02 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* rcs.c (RCS_getdate): Handle the (unusual!) case where we
|
||||
can't find any revisions at all.
|
||||
(Reported by Ryan Grow <rgrow@Dbdoctor.net>.)
|
||||
|
||||
2001-04-30 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* sanity.sh (multiroot2-9a): Rename (from multiroot2-9) to avoid
|
||||
duplicate names; fix to work without SERVER_SUPPORT defined.
|
||||
(Reported by Pavel Roskin <proski@gnu.org>.)
|
||||
|
||||
2001-04-29 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.am (check-local): Make dependent on localcheck and
|
||||
remotecheck and move old check target...
|
||||
(localcheck): here.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-04-27 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* sanity.sh (pserver): Add tests for readers and writers.
|
||||
|
||||
2001-04-27 Derek Price <dprice@collab.net>
|
||||
|
||||
* sanity.sh (version-2r): Update to handle patch releases in version
|
||||
numbers.
|
||||
|
||||
2001-04-27 Derek Price <dprice@collab.net>
|
||||
|
||||
* version.c: Regenerated.
|
||||
|
||||
2001-04-27 Derek Price <dprice@collab.net>
|
||||
|
||||
* version.c: Regenerated.
|
||||
|
||||
2001-04-27 Larry Jones <larry.jones@sdrc.com>
|
||||
|
||||
* main.c (lookup_command_attribute): Lookup specified command, not
|
||||
|
@ -75,6 +75,7 @@ cvs_SOURCES = \
|
||||
subr.c \
|
||||
tag.c \
|
||||
update.c \
|
||||
version.c \
|
||||
vers_ts.c \
|
||||
watch.c \
|
||||
wrapper.c \
|
||||
@ -89,15 +90,18 @@ cvs_SOURCES = \
|
||||
hash.h \
|
||||
myndbm.h \
|
||||
rcs.h \
|
||||
root.h \
|
||||
server.h \
|
||||
update.h \
|
||||
version.h \
|
||||
watch.h
|
||||
|
||||
BUILT_SOURCES = version.h
|
||||
|
||||
cvs_LDADD = \
|
||||
../diff/libdiff.a \
|
||||
../lib/libcvs.a \
|
||||
../zlib/libz.a \
|
||||
version.o
|
||||
cvs_EXTRA_DIST = version.c
|
||||
../zlib/libz.a
|
||||
|
||||
# extra clean targets
|
||||
# wish this could be distclean-hdr-local but it's not part of automake
|
||||
@ -105,18 +109,18 @@ DISTCLEANFILES = options.h-SAVED check.log check.plog
|
||||
|
||||
# General
|
||||
EXTRA_DIST = \
|
||||
$(cvs_EXTRA_DIST) \
|
||||
.cvsignore \
|
||||
ChangeLog-9194 \
|
||||
ChangeLog-9395 \
|
||||
ChangeLog-96 \
|
||||
ChangeLog-97 \
|
||||
build_src.com \
|
||||
sanity.sh \
|
||||
version.c \
|
||||
version.c.in
|
||||
sanity.sh
|
||||
|
||||
check-local:
|
||||
check-local: localcheck remotecheck
|
||||
|
||||
.PHONY: localcheck
|
||||
localcheck:
|
||||
$(SHELL) $(srcdir)/sanity.sh `pwd`/cvs
|
||||
|
||||
.PHONY: remotecheck
|
||||
@ -125,20 +129,6 @@ remotecheck: all
|
||||
|
||||
## MAINTAINER Targets
|
||||
|
||||
# version.c
|
||||
# - build this here so that we can distribute it
|
||||
# - version.c needs to be updated only once, since it depends on
|
||||
# configure.in, not on the results of a 'configure' run.
|
||||
# - It is guaranteed (with GNU Make) that when the version in configure.in
|
||||
# is changed, acversion.m4 is built only after the new version number is
|
||||
# propagated to the Makefile. (Libtool uses the same guarantee.)
|
||||
# - need the explicit version.o dependency or else make won't match
|
||||
# $(srcdir)/version.c when looking for a dependency for version.c
|
||||
version.o: $(srcdir)/version.c
|
||||
$(srcdir)/version.c: $(srcdir)/version.c.in $(top_srcdir)/configure.in
|
||||
sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/version.c.in >$(srcdir)/version.tc
|
||||
mv $(srcdir)/version.tc $(srcdir)/version.c
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
.PHONY: realclean
|
||||
realclean: maintainer-clean
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4e from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@ -45,11 +45,9 @@ infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
@ -63,7 +61,6 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
@ -75,25 +72,22 @@ AWK = @AWK@
|
||||
CC = @CC@
|
||||
CSH = @CSH@
|
||||
DEPDIR = @DEPDIR@
|
||||
ETAGS = @ETAGS@
|
||||
ETAGS_INCLUDE_OPTION = @ETAGS_INCLUDE_OPTION@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTALL_STRIP_PROGRAM_ENV = @INSTALL_STRIP_PROGRAM_ENV@
|
||||
KRB4 = @KRB4@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
includeopt = @includeopt@
|
||||
install_sh = @install_sh@
|
||||
|
||||
@ -159,6 +153,7 @@ cvs_SOURCES = \
|
||||
subr.c \
|
||||
tag.c \
|
||||
update.c \
|
||||
version.c \
|
||||
vers_ts.c \
|
||||
watch.c \
|
||||
wrapper.c \
|
||||
@ -173,17 +168,20 @@ cvs_SOURCES = \
|
||||
hash.h \
|
||||
myndbm.h \
|
||||
rcs.h \
|
||||
root.h \
|
||||
server.h \
|
||||
update.h \
|
||||
version.h \
|
||||
watch.h
|
||||
|
||||
|
||||
BUILT_SOURCES = version.h
|
||||
|
||||
cvs_LDADD = \
|
||||
../diff/libdiff.a \
|
||||
../lib/libcvs.a \
|
||||
../zlib/libz.a \
|
||||
version.o
|
||||
../zlib/libz.a
|
||||
|
||||
cvs_EXTRA_DIST = version.c
|
||||
|
||||
# extra clean targets
|
||||
# wish this could be distclean-hdr-local but it's not part of automake
|
||||
@ -191,23 +189,18 @@ DISTCLEANFILES = options.h-SAVED check.log check.plog
|
||||
|
||||
# General
|
||||
EXTRA_DIST = \
|
||||
$(cvs_EXTRA_DIST) \
|
||||
.cvsignore \
|
||||
ChangeLog-9194 \
|
||||
ChangeLog-9395 \
|
||||
ChangeLog-96 \
|
||||
ChangeLog-97 \
|
||||
build_src.com \
|
||||
sanity.sh \
|
||||
version.c \
|
||||
version.c.in
|
||||
sanity.sh
|
||||
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
subdir = src
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h options.h
|
||||
CONFIG_CLEAN_FILES = cvsbug
|
||||
CONFIG_CLEAN_FILES = cvsbug version.h
|
||||
bin_PROGRAMS = cvs$(EXEEXT)
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
|
||||
@ -226,26 +219,19 @@ am_cvs_OBJECTS = add.$(OBJEXT) admin.$(OBJEXT) annotate.$(OBJEXT) \
|
||||
recurse.$(OBJEXT) release.$(OBJEXT) remove.$(OBJEXT) \
|
||||
repos.$(OBJEXT) root.$(OBJEXT) run.$(OBJEXT) scramble.$(OBJEXT) \
|
||||
server.$(OBJEXT) status.$(OBJEXT) subr.$(OBJEXT) tag.$(OBJEXT) \
|
||||
update.$(OBJEXT) vers_ts.$(OBJEXT) watch.$(OBJEXT) \
|
||||
wrapper.$(OBJEXT) zlib.$(OBJEXT)
|
||||
update.$(OBJEXT) version.$(OBJEXT) vers_ts.$(OBJEXT) \
|
||||
watch.$(OBJEXT) wrapper.$(OBJEXT) zlib.$(OBJEXT)
|
||||
cvs_OBJECTS = $(am_cvs_OBJECTS)
|
||||
cvs_DEPENDENCIES = ../diff/libdiff.a ../lib/libcvs.a ../zlib/libz.a \
|
||||
version.o
|
||||
cvs_DEPENDENCIES = ../diff/libdiff.a ../lib/libcvs.a ../zlib/libz.a
|
||||
cvs_LDFLAGS =
|
||||
SCRIPTS = $(bin_SCRIPTS)
|
||||
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CFLAGS = @CFLAGS@
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I.
|
||||
DEFS = @DEFS@
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I.
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
DIST_SOURCES = $(cvs_SOURCES)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/add.Po $(DEPDIR)/admin.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/annotate.Po $(DEPDIR)/buffer.Po \
|
||||
@ -272,28 +258,30 @@ depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
@AMDEP_TRUE@ $(DEPDIR)/server.Po $(DEPDIR)/status.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/subr.Po $(DEPDIR)/tag.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/update.Po $(DEPDIR)/vers_ts.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/watch.Po $(DEPDIR)/wrapper.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/zlib.Po
|
||||
@AMDEP_TRUE@ $(DEPDIR)/version.Po $(DEPDIR)/watch.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/wrapper.Po $(DEPDIR)/zlib.Po
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
CFLAGS = @CFLAGS@
|
||||
DIST_SOURCES = $(cvs_SOURCES)
|
||||
DIST_COMMON = ./stamp-h2.in ChangeLog Makefile.am Makefile.in cvsbug.in \
|
||||
options.h.in
|
||||
options.h.in version.h.in
|
||||
SOURCES = $(cvs_SOURCES)
|
||||
OBJECTS = $(am_cvs_OBJECTS)
|
||||
|
||||
all: options.h
|
||||
all: $(BUILT_SOURCES) options.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .obj
|
||||
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu src/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
|
||||
options.h: stamp-h2
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h2; \
|
||||
@ -321,12 +309,16 @@ distclean-hdr:
|
||||
-rm -f options.h
|
||||
cvsbug: $(top_builddir)/config.status cvsbug.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
version.h: $(top_builddir)/config.status version.h.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||
if test -f $$p \
|
||||
; then \
|
||||
f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \
|
||||
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \
|
||||
else :; fi; \
|
||||
@ -342,8 +334,7 @@ uninstall-binPROGRAMS:
|
||||
|
||||
clean-binPROGRAMS:
|
||||
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
|
||||
|
||||
cvs$(EXEEXT): $(cvs_OBJECTS) $(cvs_DEPENDENCIES)
|
||||
cvs$(EXEEXT): $(cvs_OBJECTS) $(cvs_DEPENDENCIES)
|
||||
@rm -f cvs$(EXEEXT)
|
||||
$(LINK) $(cvs_LDFLAGS) $(cvs_OBJECTS) $(cvs_LDADD) $(LIBS)
|
||||
install-binSCRIPTS: $(bin_SCRIPTS)
|
||||
@ -374,6 +365,78 @@ mostlyclean-compile:
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/add.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/admin.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/annotate.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/buffer.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/checkin.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/checkout.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/classify.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/client.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/commit.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/create_adm.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cvsrc.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diff.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/edit.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/entries.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/error.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/expand_path.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fileattr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/filesubr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/find_names.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hardlink.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hash.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/history.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ignore.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/import.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lock.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/log.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/login.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/logmsg.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/main.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mkmodules.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/modules.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/myndbm.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/no_diff.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/parseinfo.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/patch.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rcs.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rcscmds.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/recurse.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/release.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/remove.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/repos.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/root.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/run.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/scramble.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/server.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/status.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/subr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tag.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/update.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vers_ts.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/version.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/watch.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/wrapper.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/zlib.Po@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `cygpath -w $<`
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
uninstall-info-am:
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
@ -390,93 +453,21 @@ TAGS: $(HEADERS) $(SOURCES) options.h.in $(TAGS_DEPENDENCIES) \
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list @CONFIG@; do \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)options.h.in$$unique$(LISP)$$tags" \
|
||||
|| $(ETAGS) $(ETAGS_ARGS) $$tags options.h.in $$unique $(LISP)
|
||||
|| etags $(ETAGS_ARGS) $$tags options.h.in $$unique $(LISP)
|
||||
|
||||
GTAGS:
|
||||
here=`CDPATH=: && cd $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $$here
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/add.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/admin.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/annotate.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/buffer.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/checkin.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/checkout.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/classify.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/client.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/commit.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/create_adm.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/cvsrc.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/diff.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/edit.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/entries.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/error.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/expand_path.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/fileattr.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/filesubr.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/find_names.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/hardlink.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/hash.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/history.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/ignore.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/import.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/lock.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/log.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/login.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/logmsg.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/main.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/mkmodules.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/modules.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/myndbm.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/no_diff.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/parseinfo.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/patch.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/rcs.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/rcscmds.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/recurse.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/release.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/remove.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/repos.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/root.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/run.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/scramble.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/server.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/status.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/subr.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/tag.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/update.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/vers_ts.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/watch.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/wrapper.Po@_am_quote@
|
||||
@_am_include@ @_am_quote@$(DEPDIR)/zlib.Po@_am_quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR)
|
||||
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
|
||||
.c.o:
|
||||
source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c -o $@ `cygpath -w $<`
|
||||
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
@ -485,7 +476,11 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
|| exit 1; \
|
||||
@ -512,24 +507,22 @@ install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_PROGRAM_ENV='$(INSTALL_STRIP_PROGRAM_ENV)' install
|
||||
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
|
||||
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f Makefile.in
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
|
||||
@ -539,11 +532,11 @@ distclean: distclean-am
|
||||
distclean-am: clean-am distclean-compile distclean-depend \
|
||||
distclean-generic distclean-hdr distclean-tags
|
||||
|
||||
dvi:
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
info:
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
@ -551,7 +544,7 @@ install-data-am:
|
||||
|
||||
install-exec-am: install-binPROGRAMS install-binSCRIPTS
|
||||
|
||||
install-info:
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
@ -565,45 +558,35 @@ mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic
|
||||
|
||||
uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS
|
||||
uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
|
||||
uninstall-info-am
|
||||
|
||||
.PHONY: all all-am check check-am check-local clean clean-binPROGRAMS \
|
||||
clean-generic distclean distclean-compile distclean-depend \
|
||||
distclean-generic distclean-hdr distclean-tags distdir dvi \
|
||||
dvi-am info info-am install install-am install-binPROGRAMS \
|
||||
install-binSCRIPTS install-data install-data-am install-exec \
|
||||
install-exec-am install-info install-man install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
.PHONY: GTAGS all all-am check check-am check-local clean \
|
||||
clean-binPROGRAMS clean-generic distclean distclean-compile \
|
||||
distclean-depend distclean-generic distclean-hdr distclean-tags \
|
||||
distdir dvi dvi-am info info-am install install-am \
|
||||
install-binPROGRAMS install-binSCRIPTS install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic tags uninstall uninstall-am \
|
||||
uninstall-binPROGRAMS uninstall-binSCRIPTS
|
||||
uninstall-binPROGRAMS uninstall-binSCRIPTS uninstall-info-am
|
||||
|
||||
|
||||
check-local:
|
||||
check-local: localcheck remotecheck
|
||||
|
||||
.PHONY: localcheck
|
||||
localcheck:
|
||||
$(SHELL) $(srcdir)/sanity.sh `pwd`/cvs
|
||||
|
||||
.PHONY: remotecheck
|
||||
remotecheck: all
|
||||
$(SHELL) $(srcdir)/sanity.sh -r `pwd`/cvs
|
||||
|
||||
# version.c
|
||||
# - build this here so that we can distribute it
|
||||
# - version.c needs to be updated only once, since it depends on
|
||||
# configure.in, not on the results of a 'configure' run.
|
||||
# - It is guaranteed (with GNU Make) that when the version in configure.in
|
||||
# is changed, acversion.m4 is built only after the new version number is
|
||||
# propagated to the Makefile. (Libtool uses the same guarantee.)
|
||||
# - need the explicit version.o dependency or else make won't match
|
||||
# $(srcdir)/version.c when looking for a dependency for version.c
|
||||
version.o: $(srcdir)/version.c
|
||||
$(srcdir)/version.c: $(srcdir)/version.c.in $(top_srcdir)/configure.in
|
||||
sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/version.c.in >$(srcdir)/version.tc
|
||||
mv $(srcdir)/version.tc $(srcdir)/version.c
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
.PHONY: realclean
|
||||
realclean: maintainer-clean
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
@ -31,12 +31,12 @@ static const char *const admin_usage[] =
|
||||
"\t (all names if omitted).\n",
|
||||
"\t-I Run interactively.\n",
|
||||
"\t-k subst Set keyword substitution mode:\n",
|
||||
"\t kv (Default) Substitue keyword and value.\n",
|
||||
"\t kvl Substitue keyword, value, and locker (if any).\n",
|
||||
"\t k Substitue keyword only.\n",
|
||||
"\t kv (Default) Substitute keyword and value.\n",
|
||||
"\t kvl Substitute keyword, value, and locker (if any).\n",
|
||||
"\t k Substitute keyword only.\n",
|
||||
"\t o Preserve original string.\n",
|
||||
"\t b Like o, but mark file as binary.\n",
|
||||
"\t v Substitue value only.\n",
|
||||
"\t v Substitute value only.\n",
|
||||
"\t-l[rev] Lock revision (latest revision on branch,\n",
|
||||
"\t latest revision on trunk if omitted).\n",
|
||||
"\t-L Set strict locking.\n",
|
||||
@ -169,7 +169,7 @@ admin (argc, argv)
|
||||
while ((c = getopt (argc, argv,
|
||||
"+ib::c:a:A:e::l::u::LUn:N:m:o:s:t::IqxV:k:")) != -1)
|
||||
{
|
||||
if (c != 'k')
|
||||
if (c != 'k' && c != 'q')
|
||||
only_k_option = 0;
|
||||
|
||||
switch (c)
|
||||
|
@ -17,6 +17,7 @@
|
||||
/* Options from the command line. */
|
||||
|
||||
static int force_tag_match = 1;
|
||||
static int force_binary = 0;
|
||||
static char *tag = NULL;
|
||||
static int tag_validated;
|
||||
static char *date = NULL;
|
||||
@ -30,10 +31,11 @@ static int rannotate_proc PROTO((int argc, char **argv, char *xwhere,
|
||||
|
||||
static const char *const annotate_usage[] =
|
||||
{
|
||||
"Usage: %s %s [-lRf] [-r rev] [-D date] [files...]\n",
|
||||
"Usage: %s %s [-lRfF] [-r rev] [-D date] [files...]\n",
|
||||
"\t-l\tLocal directory only, no recursion.\n",
|
||||
"\t-R\tProcess directories recursively.\n",
|
||||
"\t-f\tUse head revision if tag/date not found.\n",
|
||||
"\t-F\tAnnotate binary files.\n",
|
||||
"\t-r rev\tAnnotate file as of specified revision/tag.\n",
|
||||
"\t-D date\tAnnotate file as of specified date.\n",
|
||||
"(Specify the --help global option for a list of other help options)\n",
|
||||
@ -58,7 +60,7 @@ annotate (argc, argv)
|
||||
usage (annotate_usage);
|
||||
|
||||
optind = 0;
|
||||
while ((c = getopt (argc, argv, "+lr:D:fR")) != -1)
|
||||
while ((c = getopt (argc, argv, "+lr:D:fFR")) != -1)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@ -77,6 +79,9 @@ annotate (argc, argv)
|
||||
case 'f':
|
||||
force_tag_match = 0;
|
||||
break;
|
||||
case 'F':
|
||||
force_binary = 1;
|
||||
break;
|
||||
case '?':
|
||||
default:
|
||||
usage (annotate_usage);
|
||||
@ -100,6 +105,8 @@ annotate (argc, argv)
|
||||
send_arg ("-l");
|
||||
if (!force_tag_match)
|
||||
send_arg ("-f");
|
||||
if (force_binary)
|
||||
send_arg ("-F");
|
||||
option_with_arg ("-r", tag);
|
||||
if (date)
|
||||
client_senddate (date);
|
||||
@ -128,14 +135,14 @@ annotate (argc, argv)
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
err += do_module (db, argv[i], MISC, "Annotating", rannotate_proc,
|
||||
(char *) NULL, 0, 0, 0, 0, (char *) NULL);
|
||||
(char *) NULL, 0, local, 0, 0, (char *) NULL);
|
||||
}
|
||||
close_module (db);
|
||||
}
|
||||
else
|
||||
{
|
||||
err = rannotate_proc (argc + 1, argv - 1, (char *) NULL,
|
||||
(char *) NULL, (char *) NULL, 0, 0, (char *) NULL,
|
||||
(char *) NULL, (char *) NULL, 0, local, (char *) NULL,
|
||||
(char *) NULL);
|
||||
}
|
||||
|
||||
@ -251,7 +258,7 @@ annotate_fileproc (callerdat, finfo)
|
||||
void *callerdat;
|
||||
struct file_info *finfo;
|
||||
{
|
||||
char *version;
|
||||
char *expand, *version;
|
||||
|
||||
if (finfo->rcs == NULL)
|
||||
return (1);
|
||||
@ -259,19 +266,28 @@ annotate_fileproc (callerdat, finfo)
|
||||
if (finfo->rcs->flags & PARTIAL)
|
||||
RCS_reparsercsfile (finfo->rcs, (FILE **) NULL, (struct rcsbuffer *) NULL);
|
||||
|
||||
expand = RCS_getexpand (finfo->rcs);
|
||||
version = RCS_getversion (finfo->rcs, tag, date, force_tag_match,
|
||||
(int *) NULL);
|
||||
|
||||
if (version == NULL)
|
||||
return 0;
|
||||
|
||||
/* Distinguish output for various files if we are processing
|
||||
several files. */
|
||||
cvs_outerr ("Annotations for ", 0);
|
||||
cvs_outerr ("\nAnnotations for ", 0);
|
||||
cvs_outerr (finfo->fullname, 0);
|
||||
cvs_outerr ("\n***************\n", 0);
|
||||
|
||||
RCS_deltas (finfo->rcs, (FILE *) NULL, (struct rcsbuffer *) NULL,
|
||||
version, RCS_ANNOTATE, NULL, NULL, NULL, NULL);
|
||||
if (!force_binary && expand && expand[0] == 'b')
|
||||
{
|
||||
cvs_outerr ("Skipping binary file -- -F not specified.\n", 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
RCS_deltas (finfo->rcs, (FILE *) NULL, (struct rcsbuffer *) NULL,
|
||||
version, RCS_ANNOTATE, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
free (version);
|
||||
return 0;
|
||||
}
|
||||
|
@ -6,6 +6,12 @@
|
||||
|
||||
#if defined (SERVER_SUPPORT) || defined (CLIENT_SUPPORT)
|
||||
|
||||
#ifdef HAVE_WINSOCK_H
|
||||
# include <winsock.h>
|
||||
#else
|
||||
# include <sys/socket.h>
|
||||
#endif
|
||||
|
||||
/* OS/2 doesn't have EIO. FIXME: this whole notion of turning
|
||||
a different error into EIO strikes me as pretty dubious. */
|
||||
#if !defined (EIO)
|
||||
@ -28,7 +34,7 @@ buf_initialize (input, output, flush, block, shutdown, memory, closure)
|
||||
int (*output) PROTO((void *, const char *, int, int *));
|
||||
int (*flush) PROTO((void *));
|
||||
int (*block) PROTO((void *, int));
|
||||
int (*shutdown) PROTO((void *));
|
||||
int (*shutdown) PROTO((struct buffer *));
|
||||
void (*memory) PROTO((struct buffer *));
|
||||
void *closure;
|
||||
{
|
||||
@ -73,7 +79,7 @@ buf_nonio_initialize (memory)
|
||||
(int (*) PROTO((void *, const char *, int, int *))) NULL,
|
||||
(int (*) PROTO((void *))) NULL,
|
||||
(int (*) PROTO((void *, int))) NULL,
|
||||
(int (*) PROTO((void *))) NULL,
|
||||
(int (*) PROTO((struct buffer *))) NULL,
|
||||
memory,
|
||||
(void *) NULL));
|
||||
}
|
||||
@ -1198,7 +1204,7 @@ buf_shutdown (buf)
|
||||
struct buffer *buf;
|
||||
{
|
||||
if (buf->shutdown)
|
||||
return (*buf->shutdown) (buf->closure);
|
||||
return (*buf->shutdown) (buf);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1210,22 +1216,35 @@ buf_shutdown (buf)
|
||||
static int stdio_buffer_input PROTO((void *, char *, int, int, int *));
|
||||
static int stdio_buffer_output PROTO((void *, const char *, int, int *));
|
||||
static int stdio_buffer_flush PROTO((void *));
|
||||
static int stdio_buffer_shutdown PROTO((struct buffer *buf));
|
||||
|
||||
/* Initialize a buffer built on a stdio FILE. */
|
||||
|
||||
struct stdio_buffer_closure
|
||||
{
|
||||
FILE *fp;
|
||||
int child_pid;
|
||||
};
|
||||
|
||||
struct buffer *
|
||||
stdio_buffer_initialize (fp, input, memory)
|
||||
stdio_buffer_initialize (fp, child_pid, input, memory)
|
||||
FILE *fp;
|
||||
int child_pid;
|
||||
int input;
|
||||
void (*memory) PROTO((struct buffer *));
|
||||
{
|
||||
struct stdio_buffer_closure *bc = malloc (sizeof (*bc));
|
||||
|
||||
bc->fp = fp;
|
||||
bc->child_pid = child_pid;
|
||||
|
||||
return buf_initialize (input ? stdio_buffer_input : NULL,
|
||||
input ? NULL : stdio_buffer_output,
|
||||
input ? NULL : stdio_buffer_flush,
|
||||
(int (*) PROTO((void *, int))) NULL,
|
||||
(int (*) PROTO((void *))) NULL,
|
||||
stdio_buffer_shutdown,
|
||||
memory,
|
||||
(void *) fp);
|
||||
(void *) bc);
|
||||
}
|
||||
|
||||
/* The buffer input function for a buffer built on a stdio FILE. */
|
||||
@ -1238,7 +1257,7 @@ stdio_buffer_input (closure, data, need, size, got)
|
||||
int size;
|
||||
int *got;
|
||||
{
|
||||
FILE *fp = (FILE *) closure;
|
||||
struct stdio_buffer_closure *bc = (struct stdio_buffer_closure *) closure;
|
||||
int nbytes;
|
||||
|
||||
/* Since stdio does its own buffering, we don't worry about
|
||||
@ -1248,11 +1267,11 @@ stdio_buffer_input (closure, data, need, size, got)
|
||||
{
|
||||
int ch;
|
||||
|
||||
ch = getc (fp);
|
||||
ch = getc (bc->fp);
|
||||
|
||||
if (ch == EOF)
|
||||
{
|
||||
if (feof (fp))
|
||||
if (feof (bc->fp))
|
||||
return -1;
|
||||
else if (errno == 0)
|
||||
return EIO;
|
||||
@ -1265,12 +1284,12 @@ stdio_buffer_input (closure, data, need, size, got)
|
||||
return 0;
|
||||
}
|
||||
|
||||
nbytes = fread (data, 1, need, fp);
|
||||
nbytes = fread (data, 1, need, bc->fp);
|
||||
|
||||
if (nbytes == 0)
|
||||
{
|
||||
*got = 0;
|
||||
if (feof (fp))
|
||||
if (feof (bc->fp))
|
||||
return -1;
|
||||
else if (errno == 0)
|
||||
return EIO;
|
||||
@ -1292,7 +1311,7 @@ stdio_buffer_output (closure, data, have, wrote)
|
||||
int have;
|
||||
int *wrote;
|
||||
{
|
||||
FILE *fp = (FILE *) closure;
|
||||
struct stdio_buffer_closure *bc = (struct stdio_buffer_closure *) closure;
|
||||
|
||||
*wrote = 0;
|
||||
|
||||
@ -1300,7 +1319,7 @@ stdio_buffer_output (closure, data, have, wrote)
|
||||
{
|
||||
int nbytes;
|
||||
|
||||
nbytes = fwrite (data, 1, have, fp);
|
||||
nbytes = fwrite (data, 1, have, bc->fp);
|
||||
|
||||
if (nbytes != have)
|
||||
{
|
||||
@ -1324,9 +1343,9 @@ static int
|
||||
stdio_buffer_flush (closure)
|
||||
void *closure;
|
||||
{
|
||||
FILE *fp = (FILE *) closure;
|
||||
struct stdio_buffer_closure *bc = (struct stdio_buffer_closure *) closure;
|
||||
|
||||
if (fflush (fp) != 0)
|
||||
if (fflush (bc->fp) != 0)
|
||||
{
|
||||
if (errno == 0)
|
||||
return EIO;
|
||||
@ -1337,6 +1356,116 @@ stdio_buffer_flush (closure)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
stdio_buffer_shutdown (buf)
|
||||
struct buffer *buf;
|
||||
{
|
||||
struct stdio_buffer_closure *bc = (struct stdio_buffer_closure *) buf->closure;
|
||||
struct stat s;
|
||||
int closefp = 1;
|
||||
|
||||
/* Must be a pipe or a socket. What could go wrong? */
|
||||
assert (fstat ( fileno (bc->fp), &s ) != -1);
|
||||
|
||||
/* Flush the buffer if we can */
|
||||
if (buf->flush)
|
||||
{
|
||||
buf_flush (buf, 1);
|
||||
buf->flush = NULL;
|
||||
}
|
||||
|
||||
if (buf->input)
|
||||
{
|
||||
if (! buf_empty_p (buf)
|
||||
|| getc (bc->fp) != EOF)
|
||||
{
|
||||
# ifdef SERVER_SUPPORT
|
||||
if (server_active)
|
||||
/* FIXME: This should probably be sysloged since it doesn't
|
||||
* have anywhere else to go at this point.
|
||||
*/
|
||||
error (0, 0, "dying gasps from client unexpected");
|
||||
else
|
||||
#endif
|
||||
error (0, 0, "dying gasps from %s unexpected", current_parsed_root->hostname);
|
||||
}
|
||||
else if (ferror (bc->fp))
|
||||
{
|
||||
# ifdef SERVER_SUPPORT
|
||||
if (server_active)
|
||||
/* FIXME: This should probably be sysloged since it doesn't
|
||||
* have anywhere else to go at this point.
|
||||
*/
|
||||
error (0, errno, "reading from client");
|
||||
else
|
||||
#endif
|
||||
error (0, errno, "reading from %s", current_parsed_root->hostname);
|
||||
}
|
||||
|
||||
# ifdef SHUTDOWN_SERVER
|
||||
if (current_parsed_root->method != server_method)
|
||||
# endif
|
||||
# ifndef NO_SOCKET_TO_FD
|
||||
{
|
||||
/* shutdown() sockets */
|
||||
if (S_ISSOCK(s.st_mode))
|
||||
shutdown ( fileno (bc->fp), 0);
|
||||
}
|
||||
# endif /* NO_SOCKET_TO_FD */
|
||||
# ifdef START_RSH_WITH_POPEN_RW
|
||||
/* Can't be set with SHUTDOWN_SERVER defined */
|
||||
else if (pclose (bc->fp) == EOF)
|
||||
{
|
||||
error (1, errno, "closing connection to %s",
|
||||
current_parsed_root->hostname);
|
||||
closefp = 0;
|
||||
}
|
||||
# endif /* START_RSH_WITH_POPEN_RW */
|
||||
|
||||
buf->input = NULL;
|
||||
}
|
||||
else if (buf->output)
|
||||
{
|
||||
# ifdef SHUTDOWN_SERVER
|
||||
/* FIXME: Should have a SHUTDOWN_SERVER_INPUT &
|
||||
* SHUTDOWN_SERVER_OUTPUT
|
||||
*/
|
||||
if (current_parsed_root->method == server_method)
|
||||
SHUTDOWN_SERVER ( fileno (bc->fp) );
|
||||
else
|
||||
# endif
|
||||
# ifndef NO_SOCKET_TO_FD
|
||||
/* shutdown() sockets */
|
||||
if (S_ISSOCK(s.st_mode))
|
||||
shutdown ( fileno (bc->fp), 1);
|
||||
# else
|
||||
{
|
||||
/* I'm not sure I like this empty block, but the alternative
|
||||
* is a another nested NO_SOCKET_TO_FD switch above.
|
||||
*/
|
||||
}
|
||||
# endif /* NO_SOCKET_TO_FD */
|
||||
|
||||
buf->output = NULL;
|
||||
}
|
||||
|
||||
if (closefp && fclose (bc->fp) == EOF)
|
||||
error (1, errno,
|
||||
"closing down connection to %s",
|
||||
current_parsed_root->hostname);
|
||||
|
||||
/* If we were talking to a process, make sure it exited */
|
||||
if (bc->child_pid
|
||||
&& waitpid (bc->child_pid, (int *) 0, 0) == -1)
|
||||
error (1, errno, "waiting for process %d", bc->child_pid);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Certain types of communication input and output data in packets,
|
||||
where each packet is translated in some fashion. The packetizing
|
||||
buffer type supports that, given a buffer which handles lower level
|
||||
@ -1398,7 +1527,7 @@ static int packetizing_buffer_input PROTO((void *, char *, int, int, int *));
|
||||
static int packetizing_buffer_output PROTO((void *, const char *, int, int *));
|
||||
static int packetizing_buffer_flush PROTO((void *));
|
||||
static int packetizing_buffer_block PROTO((void *, int));
|
||||
static int packetizing_buffer_shutdown PROTO((void *));
|
||||
static int packetizing_buffer_shutdown PROTO((struct buffer *));
|
||||
|
||||
/* Create a packetizing buffer. */
|
||||
|
||||
@ -1763,10 +1892,10 @@ packetizing_buffer_block (closure, block)
|
||||
/* Shut down a packetizing buffer. */
|
||||
|
||||
static int
|
||||
packetizing_buffer_shutdown (closure)
|
||||
void *closure;
|
||||
packetizing_buffer_shutdown (buf)
|
||||
struct buffer *buf;
|
||||
{
|
||||
struct packetizing_buffer *pb = (struct packetizing_buffer *) closure;
|
||||
struct packetizing_buffer *pb = (struct packetizing_buffer *) buf->closure;
|
||||
|
||||
return buf_shutdown (pb->buf);
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ struct buffer
|
||||
appropriate should be done at this point. This may be NULL.
|
||||
It should return 0 on success, or an errno code. This entry
|
||||
point exists for the compression code. */
|
||||
int (*shutdown) PROTO((void *closure));
|
||||
int (*shutdown) PROTO((struct buffer *));
|
||||
|
||||
/* This field is passed to the INPUT, OUTPUT, and BLOCK functions. */
|
||||
void *closure;
|
||||
@ -105,13 +105,13 @@ extern struct buffer *buf_initialize PROTO((int (*) (void *, char *, int,
|
||||
int, int *),
|
||||
int (*) (void *),
|
||||
int (*) (void *, int),
|
||||
int (*) (void *),
|
||||
int (*) (struct buffer *),
|
||||
void (*) (struct buffer *),
|
||||
void *));
|
||||
extern void buf_free PROTO((struct buffer *));
|
||||
extern struct buffer *buf_nonio_initialize PROTO((void (*) (struct buffer *)));
|
||||
extern struct buffer *stdio_buffer_initialize
|
||||
PROTO((FILE *, int, void (*) (struct buffer *)));
|
||||
PROTO((FILE *, int, int, void (*) (struct buffer *)));
|
||||
extern struct buffer *compress_buffer_initialize
|
||||
PROTO((struct buffer *, int, int, void (*) (struct buffer *)));
|
||||
extern struct buffer *packetizing_buffer_initialize
|
||||
|
@ -15,32 +15,36 @@ extern int cvsencrypt;
|
||||
/* Whether the connection should use per-packet authentication. */
|
||||
extern int cvsauthenticate;
|
||||
|
||||
#ifdef ENCRYPTION
|
||||
#ifdef __STDC__
|
||||
struct buffer;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_KERBEROS
|
||||
# ifdef ENCRYPTION
|
||||
|
||||
# ifdef HAVE_KERBEROS
|
||||
|
||||
/* We can't declare the arguments without including krb.h, and I don't
|
||||
want to do that in every file. */
|
||||
extern struct buffer *krb_encrypt_buffer_initialize ();
|
||||
|
||||
#endif /* HAVE_KERBEROS */
|
||||
# endif /* HAVE_KERBEROS */
|
||||
|
||||
#ifdef HAVE_GSSAPI
|
||||
# ifdef HAVE_GSSAPI
|
||||
|
||||
/* Set this to turn on GSSAPI encryption. */
|
||||
extern int cvs_gssapi_encrypt;
|
||||
|
||||
#endif /* HAVE_GSSAPI */
|
||||
# endif /* HAVE_GSSAPI */
|
||||
|
||||
#endif /* ENCRYPTION */
|
||||
# endif /* ENCRYPTION */
|
||||
|
||||
#ifdef HAVE_GSSAPI
|
||||
# ifdef HAVE_GSSAPI
|
||||
|
||||
/* We can't declare the arguments without including gssapi.h, and I
|
||||
don't want to do that in every file. */
|
||||
extern struct buffer *cvs_gssapi_wrap_buffer_initialize ();
|
||||
|
||||
#endif /* HAVE_GSSAPI */
|
||||
# endif /* HAVE_GSSAPI */
|
||||
|
||||
#endif /* defined (CLIENT_SUPPORT) || defined (SERVER_SUPPORT) */
|
||||
|
||||
@ -54,22 +58,30 @@ extern int server_started;
|
||||
/* Is the -P option to checkout or update specified? */
|
||||
extern int client_prune_dirs;
|
||||
|
||||
#ifdef AUTH_CLIENT_SUPPORT
|
||||
# ifdef AUTH_CLIENT_SUPPORT
|
||||
extern int use_authenticating_server;
|
||||
void connect_to_pserver PROTO ((int *tofdp, int* fromfdp, int verify_only,
|
||||
int do_gssapi));
|
||||
# ifndef CVS_AUTH_PORT
|
||||
# define CVS_AUTH_PORT 2401
|
||||
# endif /* CVS_AUTH_PORT */
|
||||
#endif /* AUTH_CLIENT_SUPPORT */
|
||||
void connect_to_pserver PROTO ((cvsroot_t *,
|
||||
struct buffer **,
|
||||
struct buffer **,
|
||||
int, int ));
|
||||
# ifndef CVS_AUTH_PORT
|
||||
# define CVS_AUTH_PORT 2401
|
||||
# endif /* CVS_AUTH_PORT */
|
||||
# endif /* AUTH_CLIENT_SUPPORT */
|
||||
|
||||
#if defined (AUTH_SERVER_SUPPORT) || (defined (SERVER_SUPPORT) && defined (HAVE_GSSAPI))
|
||||
# if HAVE_KERBEROS
|
||||
# ifndef CVS_PORT
|
||||
# define CVS_PORT 1999
|
||||
# endif
|
||||
# endif /* HAVE_KERBEROS */
|
||||
|
||||
# if defined (AUTH_SERVER_SUPPORT) || (defined (SERVER_SUPPORT) && defined (HAVE_GSSAPI))
|
||||
extern void pserver_authenticate_connection PROTO ((void));
|
||||
#endif
|
||||
# endif
|
||||
|
||||
#if defined (SERVER_SUPPORT) && defined (HAVE_KERBEROS)
|
||||
# if defined (SERVER_SUPPORT) && defined (HAVE_KERBEROS)
|
||||
extern void kserver_authenticate_connection PROTO ((void));
|
||||
#endif
|
||||
# endif
|
||||
|
||||
/* Talking to the server. */
|
||||
void send_to_server PROTO((char *str, size_t len));
|
||||
@ -94,7 +106,7 @@ send_file_names PROTO((int argc, char **argv, unsigned int flags));
|
||||
|
||||
/* Flags for send_file_names. */
|
||||
/* Expand wild cards? */
|
||||
#define SEND_EXPAND_WILD 1
|
||||
# define SEND_EXPAND_WILD 1
|
||||
|
||||
/*
|
||||
* Send Repository, Modified and Entry. argc and argv contain only
|
||||
@ -106,10 +118,10 @@ send_files PROTO((int argc, char **argv, int local, int aflag,
|
||||
unsigned int flags));
|
||||
|
||||
/* Flags for send_files. */
|
||||
#define SEND_BUILD_DIRS 1
|
||||
#define SEND_FORCE 2
|
||||
#define SEND_NO_CONTENTS 4
|
||||
#define BACKUP_MODIFIED_FILES 8
|
||||
# define SEND_BUILD_DIRS 1
|
||||
# define SEND_FORCE 2
|
||||
# define SEND_NO_CONTENTS 4
|
||||
# define BACKUP_MODIFIED_FILES 8
|
||||
|
||||
/* Send an argument to the remote server. */
|
||||
void
|
||||
|
@ -32,8 +32,9 @@
|
||||
/* The __-protected variants of `format' and `printf' attributes
|
||||
are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
|
||||
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
|
||||
# define __format__ format
|
||||
# define __printf__ printf
|
||||
# define __format__ format
|
||||
# define __printf__ printf
|
||||
# define __noreturn__ noreturn
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@ -46,7 +47,11 @@ void error ();
|
||||
|
||||
/* Exit due to an error. Similar to error (1, 0, "message"), but call
|
||||
it in the case where the message has already been printed. */
|
||||
extern void error_exit PROTO ((void));
|
||||
#ifdef __STDC__
|
||||
void error_exit (void) __attribute__ ((__noreturn__));
|
||||
#else
|
||||
void error_exit ();
|
||||
#endif
|
||||
|
||||
/* If non-zero, error will use the CVS protocol to report error
|
||||
messages. This will only be set in the CVS server parent process;
|
||||
|
@ -24,8 +24,6 @@ static int find_rcs PROTO((char *dir, List * list));
|
||||
static int add_subdir_proc PROTO((Node *, void *));
|
||||
static int register_subdir_proc PROTO((Node *, void *));
|
||||
|
||||
static List *filelist;
|
||||
|
||||
/*
|
||||
* add the key from entry on entries list to the files list
|
||||
*/
|
||||
@ -37,6 +35,7 @@ add_entries_proc (node, closure)
|
||||
{
|
||||
Entnode *entnode;
|
||||
Node *fnode;
|
||||
List *filelist = (List *) closure;
|
||||
|
||||
entnode = (Entnode *) node->data;
|
||||
if (entnode->type != ENT_FILE)
|
||||
@ -66,7 +65,7 @@ Find_Names (repository, which, aflag, optentries)
|
||||
List *files;
|
||||
|
||||
/* make a list for the files */
|
||||
files = filelist = getlist ();
|
||||
files = getlist ();
|
||||
|
||||
/* look at entries (if necessary) */
|
||||
if (which & W_LOCAL)
|
||||
@ -76,7 +75,7 @@ Find_Names (repository, which, aflag, optentries)
|
||||
if (entries != NULL)
|
||||
{
|
||||
/* walk the entries file adding elements to the files list */
|
||||
(void) walklist (entries, add_entries_proc, NULL);
|
||||
(void) walklist (entries, add_entries_proc, files);
|
||||
|
||||
/* if our caller wanted the entries list, return it; else free it */
|
||||
if (optentries != NULL)
|
||||
|
@ -770,11 +770,8 @@ history_write (type, update_dir, revs, name, repository)
|
||||
if (save_cwd (&cwd))
|
||||
error_exit ();
|
||||
|
||||
if ( CVS_CHDIR (pwdir) < 0)
|
||||
error (1, errno, "can't chdir(%s)", pwdir);
|
||||
homedir = xgetwd ();
|
||||
if (homedir == NULL)
|
||||
error (1, errno, "can't getwd in %s", pwdir);
|
||||
if ( CVS_CHDIR (pwdir) < 0 || (homedir = xgetwd ()) == NULL)
|
||||
homedir = pwdir;
|
||||
|
||||
if (restore_cwd (&cwd, NULL))
|
||||
error_exit ();
|
||||
@ -786,7 +783,9 @@ history_write (type, update_dir, revs, name, repository)
|
||||
PrCurDir += i; /* Point to '/' separator */
|
||||
tilde = "~";
|
||||
}
|
||||
free (homedir);
|
||||
|
||||
if (homedir != pwdir)
|
||||
free (homedir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -84,6 +84,9 @@ struct log_data
|
||||
/* Nonzero if the -b option was seen, meaning that only revisions
|
||||
on the default branch should be printed. */
|
||||
int default_branch;
|
||||
/* Nonzero if the -S option was seen, meaning that the header/name
|
||||
should be suppressed if no revisions are selected. */
|
||||
int sup_header;
|
||||
/* If not NULL, the value given for the -r option, which lists
|
||||
sets of revisions to be printed. */
|
||||
struct option_revlist *revlist;
|
||||
@ -150,18 +153,20 @@ static const char *const log_usage[] =
|
||||
"\t-h\tOnly print header.\n",
|
||||
"\t-t\tOnly print header and descriptive text.\n",
|
||||
"\t-N\tDo not list tags.\n",
|
||||
"\t-S\tDo not print name/header if no revisions selected.\n",
|
||||
"\t-b\tOnly list revisions on the default branch.\n",
|
||||
"\t-r[revisions]\tSpecify revision(s)s to list.\n",
|
||||
"\t-r[revisions]\tA comma-separated list of revisions to print:\n",
|
||||
"\t rev1:rev2 Between rev1 and rev2, including rev1 and rev2.\n",
|
||||
"\t rev1::rev2 Between rev1 and rev2, excluding rev1 and rev2.\n",
|
||||
"\t rev1::rev2 Between rev1 and rev2, excluding rev1.\n",
|
||||
"\t rev: rev and following revisions on the same branch.\n",
|
||||
"\t rev:: After rev on the same branch.\n",
|
||||
"\t :rev rev and previous revisions on the same branch.\n",
|
||||
"\t ::rev Before rev on the same branch.\n",
|
||||
"\t ::rev rev and previous revisions on the same branch.\n",
|
||||
"\t rev Just rev.\n",
|
||||
"\t branch All revisions on the branch.\n",
|
||||
"\t branch. The last revision on the branch.\n",
|
||||
"\t-d dates\tSpecify dates (D1<D2 for range, D for latest before).\n",
|
||||
"\t-d dates\tA semicolon-separated list of dates\n",
|
||||
"\t \t(D1<D2 for range, D for latest before).\n",
|
||||
"\t-s states\tOnly list revisions with specified states.\n",
|
||||
"\t-w[logins]\tOnly list revisions checked in by specified logins.\n",
|
||||
"(Specify the --help global option for a list of other help options)\n",
|
||||
@ -228,7 +233,7 @@ cvslog (argc, argv)
|
||||
prl = &log_data.revlist;
|
||||
|
||||
optind = 0;
|
||||
while ((c = getopt (argc, argv, "+bd:hlNRr::s:tw::")) != -1)
|
||||
while ((c = getopt (argc, argv, "+bd:hlNSRr::s:tw::")) != -1)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@ -247,6 +252,9 @@ cvslog (argc, argv)
|
||||
case 'N':
|
||||
log_data.notags = 1;
|
||||
break;
|
||||
case 'S':
|
||||
log_data.sup_header = 1;
|
||||
break;
|
||||
case 'R':
|
||||
log_data.nameonly = 1;
|
||||
break;
|
||||
@ -336,6 +344,8 @@ cvslog (argc, argv)
|
||||
send_arg("-l");
|
||||
if (log_data.notags)
|
||||
send_arg("-N");
|
||||
if (log_data.sup_header)
|
||||
send_arg("-S");
|
||||
if (log_data.nameonly)
|
||||
send_arg("-R");
|
||||
if (log_data.long_header)
|
||||
@ -405,14 +415,14 @@ cvslog (argc, argv)
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
err += do_module (db, argv[i], MISC, "Logging", rlog_proc,
|
||||
(char *) NULL, 0, 0, 0, 0, (char *) NULL);
|
||||
(char *) NULL, 0, local, 0, 0, (char *) NULL);
|
||||
}
|
||||
close_module (db);
|
||||
}
|
||||
else
|
||||
{
|
||||
err = rlog_proc (argc + 1, argv - 1, (char *) NULL,
|
||||
(char *) NULL, (char *) NULL, 0, 0, (char *) NULL,
|
||||
(char *) NULL, (char *) NULL, 0, local, (char *) NULL,
|
||||
(char *) NULL);
|
||||
}
|
||||
|
||||
@ -782,6 +792,7 @@ log_fileproc (callerdat, finfo)
|
||||
{
|
||||
struct log_data *log_data = (struct log_data *) callerdat;
|
||||
Node *p;
|
||||
int selrev = -1;
|
||||
RCSNode *rcsfile;
|
||||
char buf[50];
|
||||
struct revlist *revlist;
|
||||
@ -811,6 +822,38 @@ log_fileproc (callerdat, finfo)
|
||||
return (1);
|
||||
}
|
||||
|
||||
if (log_data->sup_header || !log_data->nameonly)
|
||||
{
|
||||
|
||||
/* We will need all the information in the RCS file. */
|
||||
RCS_fully_parse (rcsfile);
|
||||
|
||||
/* Turn any symbolic revisions in the revision list into numeric
|
||||
revisions. */
|
||||
revlist = log_expand_revlist (rcsfile, log_data->revlist,
|
||||
log_data->default_branch);
|
||||
if (log_data->sup_header || (!log_data->header && !log_data->long_header))
|
||||
{
|
||||
log_data_and_rcs.log_data = log_data;
|
||||
log_data_and_rcs.revlist = revlist;
|
||||
log_data_and_rcs.rcs = rcsfile;
|
||||
|
||||
/* If any single dates were specified, we need to identify the
|
||||
revisions they select. Each one selects the single
|
||||
revision, which is otherwise selected, of that date or
|
||||
earlier. The log_fix_singledate routine will fill in the
|
||||
start date for each specific revision. */
|
||||
if (log_data->singledatelist != NULL)
|
||||
walklist (rcsfile->versions, log_fix_singledate,
|
||||
(void *) &log_data_and_rcs);
|
||||
|
||||
selrev = walklist (rcsfile->versions, log_count_print,
|
||||
(void *) &log_data_and_rcs);
|
||||
if (log_data->sup_header && selrev == 0) return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (log_data->nameonly)
|
||||
{
|
||||
cvs_output (rcsfile->path, 0);
|
||||
@ -818,14 +861,6 @@ log_fileproc (callerdat, finfo)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* We will need all the information in the RCS file. */
|
||||
RCS_fully_parse (rcsfile);
|
||||
|
||||
/* Turn any symbolic revisions in the revision list into numeric
|
||||
revisions. */
|
||||
revlist = log_expand_revlist (rcsfile, log_data->revlist,
|
||||
log_data->default_branch);
|
||||
|
||||
/* The output here is intended to be exactly compatible with the
|
||||
output of rlog. I'm not sure whether this code should be here
|
||||
or in rcs.c; I put it here because it is specific to the log
|
||||
@ -907,25 +942,10 @@ log_fileproc (callerdat, finfo)
|
||||
sprintf (buf, "%d", walklist (rcsfile->versions, log_count, NULL));
|
||||
cvs_output (buf, 0);
|
||||
|
||||
if (! log_data->header && ! log_data->long_header)
|
||||
if (selrev >= 0)
|
||||
{
|
||||
cvs_output (";\tselected revisions: ", 0);
|
||||
|
||||
log_data_and_rcs.log_data = log_data;
|
||||
log_data_and_rcs.revlist = revlist;
|
||||
log_data_and_rcs.rcs = rcsfile;
|
||||
|
||||
/* If any single dates were specified, we need to identify the
|
||||
revisions they select. Each one selects the single
|
||||
revision, which is otherwise selected, of that date or
|
||||
earlier. The log_fix_singledate routine will fill in the
|
||||
start date for each specific revision. */
|
||||
if (log_data->singledatelist != NULL)
|
||||
walklist (rcsfile->versions, log_fix_singledate,
|
||||
(void *) &log_data_and_rcs);
|
||||
|
||||
sprintf (buf, "%d", walklist (rcsfile->versions, log_count_print,
|
||||
(void *) &log_data_and_rcs));
|
||||
sprintf (buf, "%d", selrev);
|
||||
cvs_output (buf, 0);
|
||||
}
|
||||
|
||||
@ -1029,24 +1049,25 @@ log_expand_revlist (rcs, revlist, default_branch)
|
||||
{
|
||||
branch = RCS_whatbranch (rcs, r->first);
|
||||
if (branch == NULL)
|
||||
nr->first = NULL;
|
||||
else
|
||||
{
|
||||
error (0, 0, "warning: `%s' is not a branch in `%s'",
|
||||
r->first, rcs->path);
|
||||
free (nr);
|
||||
continue;
|
||||
nr->first = RCS_getbranch (rcs, branch, 1);
|
||||
free (branch);
|
||||
}
|
||||
nr->first = RCS_getbranch (rcs, branch, 1);
|
||||
free (branch);
|
||||
}
|
||||
if (nr->first == NULL)
|
||||
{
|
||||
error (0, 0, "warning: no revision `%s' in `%s'",
|
||||
error (0, 0, "warning: no branch `%s' in `%s'",
|
||||
r->first, rcs->path);
|
||||
free (nr);
|
||||
continue;
|
||||
nr->last = NULL;
|
||||
nr->fields = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
nr->last = xstrdup (nr->first);
|
||||
nr->fields = numdots (nr->first) + 1;
|
||||
}
|
||||
nr->last = xstrdup (nr->first);
|
||||
nr->fields = numdots (nr->first) + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1062,12 +1083,11 @@ log_expand_revlist (rcs, revlist, default_branch)
|
||||
{
|
||||
error (0, 0, "warning: no revision `%s' in `%s'",
|
||||
r->first, rcs->path);
|
||||
free (nr);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (r->last == r->first)
|
||||
if (r->last == r->first || (r->last != NULL && r->first != NULL &&
|
||||
strcmp (r->last, r->first) == 0))
|
||||
nr->last = xstrdup (nr->first);
|
||||
else if (r->last == NULL || isdigit ((unsigned char) r->last[0]))
|
||||
nr->last = xstrdup (r->last);
|
||||
@ -1081,10 +1101,6 @@ log_expand_revlist (rcs, revlist, default_branch)
|
||||
{
|
||||
error (0, 0, "warning: no revision `%s' in `%s'",
|
||||
r->last, rcs->path);
|
||||
if (nr->first != NULL)
|
||||
free (nr->first);
|
||||
free (nr);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1092,7 +1108,7 @@ log_expand_revlist (rcs, revlist, default_branch)
|
||||
does. This code is a bit cryptic for my tastes, but
|
||||
keeping the same implementation as rlog ensures a
|
||||
certain degree of compatibility. */
|
||||
if (r->first == NULL)
|
||||
if (r->first == NULL && nr->last != NULL)
|
||||
{
|
||||
nr->fields = numdots (nr->last) + 1;
|
||||
if (nr->fields < 2)
|
||||
@ -1106,7 +1122,7 @@ log_expand_revlist (rcs, revlist, default_branch)
|
||||
strcpy (cp, ".0");
|
||||
}
|
||||
}
|
||||
else if (r->last == NULL)
|
||||
else if (r->last == NULL && nr->first != NULL)
|
||||
{
|
||||
nr->fields = numdots (nr->first) + 1;
|
||||
nr->last = xstrdup (nr->first);
|
||||
@ -1120,7 +1136,7 @@ log_expand_revlist (rcs, revlist, default_branch)
|
||||
*cp = '\0';
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (nr->first != NULL && nr->last != NULL)
|
||||
{
|
||||
nr->fields = numdots (nr->first) + 1;
|
||||
if (nr->fields != numdots (nr->last) + 1
|
||||
@ -1132,11 +1148,12 @@ log_expand_revlist (rcs, revlist, default_branch)
|
||||
"invalid branch or revision pair %s:%s in `%s'",
|
||||
r->first, r->last, rcs->path);
|
||||
free (nr->first);
|
||||
nr->first = NULL;
|
||||
free (nr->last);
|
||||
free (nr);
|
||||
continue;
|
||||
nr->last = NULL;
|
||||
nr->fields = 0;
|
||||
}
|
||||
if (version_compare (nr->first, nr->last, nr->fields) > 0)
|
||||
else if (version_compare (nr->first, nr->last, nr->fields) > 0)
|
||||
{
|
||||
char *tmp;
|
||||
|
||||
@ -1145,6 +1162,8 @@ log_expand_revlist (rcs, revlist, default_branch)
|
||||
nr->last = tmp;
|
||||
}
|
||||
}
|
||||
else
|
||||
nr->fields = 0;
|
||||
}
|
||||
|
||||
nr->next = NULL;
|
||||
@ -1288,11 +1307,9 @@ log_version_requested (log_data, revlist, rcs, vnode)
|
||||
for (r = revlist; r != NULL; r = r->next)
|
||||
{
|
||||
if (vfields == r->fields + (r->fields & 1) &&
|
||||
(r->inclusive ?
|
||||
version_compare (v, r->first, r->fields) >= 0
|
||||
&& version_compare (v, r->last, r->fields) <= 0 :
|
||||
version_compare (v, r->first, r->fields) > 0
|
||||
&& version_compare (v, r->last, r->fields) < 0))
|
||||
(r->inclusive ? version_compare (v, r->first, r->fields) >= 0 :
|
||||
version_compare (v, r->first, r->fields) > 0)
|
||||
&& version_compare (v, r->last, r->fields) <= 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
@ -657,19 +657,19 @@ module `%s' is a request for a file in a module which is not a directory",
|
||||
}
|
||||
#endif
|
||||
|
||||
/* write out the checkin/update prog files if necessary */
|
||||
#ifdef SERVER_SUPPORT
|
||||
if (err == 0 && !noexec && m_type == CHECKOUT && server_expanding)
|
||||
{
|
||||
if (checkin_prog != NULL)
|
||||
server_prog (where ? where : mname, checkin_prog, PROG_CHECKIN);
|
||||
if (update_prog != NULL)
|
||||
server_prog (where ? where : mname, update_prog, PROG_UPDATE);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
/* run/write out the checkin/update prog files if necessary */
|
||||
if (err == 0 && !noexec && m_type == CHECKOUT && run_module_prog)
|
||||
{
|
||||
#ifdef SERVER_SUPPORT
|
||||
if (server_active) {
|
||||
if (checkin_prog != NULL)
|
||||
server_prog (where ? where : mwhere ? mwhere : mname, checkin_prog, PROG_CHECKIN);
|
||||
if (update_prog != NULL)
|
||||
server_prog (where ? where : mwhere ? mwhere : mname, update_prog, PROG_UPDATE);
|
||||
}
|
||||
else
|
||||
{
|
||||
#endif
|
||||
FILE *fp;
|
||||
|
||||
if (checkin_prog != NULL)
|
||||
@ -686,6 +686,9 @@ module `%s' is a request for a file in a module which is not a directory",
|
||||
if (fclose (fp) == EOF)
|
||||
error (1, errno, "cannot close %s", CVSADM_UPROG);
|
||||
}
|
||||
#ifdef SERVER_SUPPORT
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* cd back to where we started */
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#ifdef MY_NDBM
|
||||
|
||||
static void mydbm_load_file PROTO ((FILE *, List *));
|
||||
static void mydbm_load_file PROTO ((FILE *, List *, char *));
|
||||
|
||||
/* Returns NULL on error in which case errno has been set to indicate
|
||||
the error. Can also call error() itself. */
|
||||
@ -44,7 +44,7 @@ mydbm_open (file, flags, mode)
|
||||
|
||||
if (fp != NULL)
|
||||
{
|
||||
mydbm_load_file (fp, db->dbm_list);
|
||||
mydbm_load_file (fp, db->dbm_list, file);
|
||||
if (fclose (fp) < 0)
|
||||
error (0, errno, "cannot close %s", file);
|
||||
}
|
||||
@ -195,9 +195,10 @@ mydbm_store (db, key, value, flags)
|
||||
}
|
||||
|
||||
static void
|
||||
mydbm_load_file (fp, list)
|
||||
mydbm_load_file (fp, list, filename)
|
||||
FILE *fp;
|
||||
List *list;
|
||||
char *filename; /* Used in error messages. */
|
||||
{
|
||||
char *line = NULL;
|
||||
size_t line_size;
|
||||
@ -206,14 +207,17 @@ mydbm_load_file (fp, list)
|
||||
char *cp, *vp;
|
||||
int cont;
|
||||
int line_length;
|
||||
int line_num;
|
||||
|
||||
value_allocated = 1;
|
||||
value = xmalloc (value_allocated);
|
||||
|
||||
cont = 0;
|
||||
line_num=0;
|
||||
while ((line_length =
|
||||
getstr (&line, &line_size, fp, '\012', 0, GETLINE_NO_LIMIT)) >= 0)
|
||||
{
|
||||
line_num++;
|
||||
if (line_length > 0 && line[line_length - 1] == '\012')
|
||||
{
|
||||
/* Strip the newline. */
|
||||
@ -280,21 +284,28 @@ mydbm_load_file (fp, list)
|
||||
kp = vp;
|
||||
while (*vp && !isspace ((unsigned char) *vp))
|
||||
vp++;
|
||||
*vp++ = '\0'; /* NULL terminate the key */
|
||||
if (*vp)
|
||||
*vp++ = '\0'; /* NULL terminate the key */
|
||||
p->type = NDBMNODE;
|
||||
p->key = xstrdup (kp);
|
||||
while (*vp && isspace ((unsigned char) *vp))
|
||||
vp++; /* skip whitespace to value */
|
||||
if (*vp == '\0')
|
||||
{
|
||||
error (0, 0, "warning: NULL value for key `%s'", p->key);
|
||||
if (!really_quiet)
|
||||
error (0, 0,
|
||||
"warning: NULL value for key `%s' at line %d of `%s'",
|
||||
p->key, line_num, filename);
|
||||
freenode (p);
|
||||
continue;
|
||||
}
|
||||
p->data = xstrdup (vp);
|
||||
if (addnode (list, p) == -1)
|
||||
{
|
||||
error (0, 0, "duplicate key found for `%s'", p->key);
|
||||
if (!really_quiet)
|
||||
error (0, 0,
|
||||
"duplicate key found for `%s' at line %d of `%s'",
|
||||
p->key, line_num, filename);
|
||||
freenode (p);
|
||||
}
|
||||
}
|
||||
|
@ -65,7 +65,12 @@ Parse_Info (infofile, repository, callproc, all)
|
||||
srepos = Short_Repository (repository);
|
||||
|
||||
if (trace)
|
||||
(void) fprintf (stderr, " -> ParseInfo(%s, %s, %s)\n",
|
||||
(void) fprintf (stderr, "%s-> Parse_Info (%s, %s, %s)\n",
|
||||
#ifdef SERVER_SUPPORT
|
||||
server_active ? "S" : " ",
|
||||
#else
|
||||
"",
|
||||
#endif
|
||||
infopath, srepos, all ? "ALL" : "not ALL");
|
||||
|
||||
/* search the info file for lines that match */
|
||||
@ -384,6 +389,15 @@ warning: this CVS does not support PreservePermissions");
|
||||
strcpy (logHistory, p);
|
||||
}
|
||||
}
|
||||
else if (strcmp (line, "RereadLogAfterVerify") == 0)
|
||||
{
|
||||
if (strcmp (p, "no") == 0 || strcmp (p, "never") == 0)
|
||||
RereadLogAfterVerify = LOGMSG_REREAD_NEVER;
|
||||
else if (strcmp (p, "yes") == 0 || strcmp (p, "always") == 0)
|
||||
RereadLogAfterVerify = LOGMSG_REREAD_ALWAYS;
|
||||
else if (strcmp (p, "stat") == 0)
|
||||
RereadLogAfterVerify = LOGMSG_REREAD_STAT;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* We may be dealing with a keyword which was added in a
|
||||
|
@ -28,7 +28,6 @@ static int patch_proc PROTO((int argc, char **argv, char *xwhere,
|
||||
static int force_tag_match = 1;
|
||||
static int patch_short = 0;
|
||||
static int toptwo_diffs = 0;
|
||||
static int local = 0;
|
||||
static char *options = NULL;
|
||||
static char *rev1 = NULL;
|
||||
static int rev1_validated = 0;
|
||||
@ -65,6 +64,7 @@ patch (argc, argv)
|
||||
char **argv;
|
||||
{
|
||||
register int i;
|
||||
int local = 0;
|
||||
int c;
|
||||
int err = 0;
|
||||
DBM *db;
|
||||
@ -343,19 +343,19 @@ patch_proc (argc, argv, xwhere, mwhere, mfile, shorten, local_specified,
|
||||
|
||||
if (rev1 != NULL && !rev1_validated)
|
||||
{
|
||||
tag_check_valid (rev1, argc - 1, argv + 1, local, 0, NULL);
|
||||
tag_check_valid (rev1, argc - 1, argv + 1, local_specified, 0, NULL);
|
||||
rev1_validated = 1;
|
||||
}
|
||||
if (rev2 != NULL && !rev2_validated)
|
||||
{
|
||||
tag_check_valid (rev2, argc - 1, argv + 1, local, 0, NULL);
|
||||
tag_check_valid (rev2, argc - 1, argv + 1, local_specified, 0, NULL);
|
||||
rev2_validated = 1;
|
||||
}
|
||||
|
||||
/* start the recursion processor */
|
||||
err = start_recursion (patch_fileproc, (FILESDONEPROC) NULL, patch_dirproc,
|
||||
(DIRLEAVEPROC) NULL, NULL,
|
||||
argc - 1, argv + 1, local,
|
||||
argc - 1, argv + 1, local_specified,
|
||||
which, 0, 1, where, 1);
|
||||
free (where);
|
||||
|
||||
@ -432,7 +432,7 @@ patch_fileproc (callerdat, finfo)
|
||||
if (!date1)
|
||||
date1 = xmalloc (MAXDATELEN);
|
||||
*date1 = '\0';
|
||||
if (RCS_getrevtime (rcsfile, vers_head, date1, 1) == -1)
|
||||
if (RCS_getrevtime (rcsfile, vers_head, date1, 1) == (time_t)-1)
|
||||
{
|
||||
if (!really_quiet)
|
||||
error (0, 0, "cannot find date in rcs file %s revision %s",
|
||||
|
@ -235,6 +235,14 @@ remove_fileproc (callerdat, finfo)
|
||||
cannot remove file `%s' which has a numeric sticky tag of `%s'",
|
||||
finfo->fullname, vers->tag);
|
||||
}
|
||||
else if (vers->date != NULL)
|
||||
{
|
||||
/* Commit will just give an error, and so there seems to be
|
||||
little reason to allow the remove. */
|
||||
error (0, 0, "\
|
||||
cannot remove file `%s' which has a sticky date of `%s'",
|
||||
finfo->fullname, vers->date);
|
||||
}
|
||||
else
|
||||
{
|
||||
char *fname;
|
||||
|
@ -387,7 +387,7 @@ parse_cvsroot (root_in)
|
||||
|
||||
if (! (p = strchr (method, ':')))
|
||||
{
|
||||
error (0, 0, "bad CVSroot: %s", root_in);
|
||||
error (0, 0, "No closing `:' on method in CVSROOT.");
|
||||
free (cvsroot_save);
|
||||
goto error_exit;
|
||||
}
|
||||
@ -412,7 +412,7 @@ parse_cvsroot (root_in)
|
||||
newroot->method = fork_method;
|
||||
else
|
||||
{
|
||||
error (0, 0, "unknown method in CVSroot: %s", root_in);
|
||||
error (0, 0, "Unknown method (`%s') in CVSROOT.", method);
|
||||
free (cvsroot_save);
|
||||
goto error_exit;
|
||||
}
|
||||
@ -420,7 +420,7 @@ parse_cvsroot (root_in)
|
||||
else
|
||||
{
|
||||
/* If the method isn't specified, assume
|
||||
SERVER_METHOD/EXT_METHOD if the string contains a colon or
|
||||
SERVER_METHOD/EXT_METHOD if the string looks like a relative path or
|
||||
LOCAL_METHOD otherwise. */
|
||||
|
||||
newroot->method = ((*cvsroot_copy != '/' && strchr (cvsroot_copy, '/'))
|
||||
@ -447,8 +447,7 @@ parse_cvsroot (root_in)
|
||||
*/
|
||||
if ((p = strchr (cvsroot_copy, '/')) == NULL)
|
||||
{
|
||||
error (0, 0, "CVSROOT (\"%s\")", root_in);
|
||||
error (0, 0, "requires a path spec");
|
||||
error (0, 0, "CVSROOT requires a path spec:");
|
||||
error (0, 0, ":(gserver|kserver|pserver):[[user][:password]@]host[:[port]]/path");
|
||||
error (0, 0, "[:(ext|server):][[user]@]host[:]/path");
|
||||
free (cvsroot_save);
|
||||
@ -497,20 +496,18 @@ parse_cvsroot (root_in)
|
||||
{
|
||||
if (!isdigit(*q++))
|
||||
{
|
||||
error(0, 0, "CVSROOT (\"%s\")", root_in);
|
||||
error(0, 0, "may only specify a positive, non-zero, integer port (not \"%s\").",
|
||||
error (0, 0, "CVSROOT may only specify a positive, non-zero, integer port (not `%s').",
|
||||
p);
|
||||
error(0, 0, "perhaps you entered a relative pathname?");
|
||||
error (0, 0, "Perhaps you entered a relative pathname?");
|
||||
free (cvsroot_save);
|
||||
goto error_exit;
|
||||
}
|
||||
}
|
||||
if ((newroot->port = atoi (p)) <= 0)
|
||||
{
|
||||
error (0, 0, "CVSROOT (\"%s\")", root_in);
|
||||
error(0, 0, "may only specify a positive, non-zero, integer port (not \"%s\").",
|
||||
error (0, 0, "CVSROOT may only specify a positive, non-zero, integer port (not `%s').",
|
||||
p);
|
||||
error(0, 0, "perhaps you entered a relative pathname?");
|
||||
error (0, 0, "Perhaps you entered a relative pathname?");
|
||||
free (cvsroot_save);
|
||||
goto error_exit;
|
||||
}
|
||||
@ -540,9 +537,8 @@ parse_cvsroot (root_in)
|
||||
#if ! defined (CLIENT_SUPPORT) && ! defined (DEBUG)
|
||||
if (newroot->method != local_method)
|
||||
{
|
||||
error (0, 0, "CVSROOT \"%s\"", root_in);
|
||||
error (0, 0, "is set for a remote access method but your");
|
||||
error (0, 0, "CVS executable doesn't support it");
|
||||
error (0, 0, "CVSROOT is set for a remote access method but your");
|
||||
error (0, 0, "CVS executable doesn't support it.");
|
||||
goto error_exit;
|
||||
}
|
||||
#endif
|
||||
@ -550,16 +546,15 @@ parse_cvsroot (root_in)
|
||||
#if ! defined (SERVER_SUPPORT) && ! defined (DEBUG)
|
||||
if (newroot->method == fork_method)
|
||||
{
|
||||
error (0, 0, "CVSROOT \"%s\"", root_in);
|
||||
error (0, 0, "is set to use the :fork: access method but your");
|
||||
error (0, 0, "CVS executable doesn't support it");
|
||||
error (0, 0, "CVSROOT is set to use the :fork: access method but your");
|
||||
error (0, 0, "CVS executable doesn't support it.");
|
||||
goto error_exit;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (newroot->username && ! newroot->hostname)
|
||||
{
|
||||
error (0, 0, "missing hostname in CVSROOT: \"%s\"", root_in);
|
||||
error (0, 0, "Missing hostname in CVSROOT.");
|
||||
goto error_exit;
|
||||
}
|
||||
|
||||
@ -571,9 +566,8 @@ parse_cvsroot (root_in)
|
||||
case local_method:
|
||||
if (newroot->username || newroot->hostname)
|
||||
{
|
||||
error (0, 0, "can't specify hostname and username in CVSROOT");
|
||||
error (0, 0, "(\"%s\")", root_in);
|
||||
error (0, 0, "when using local access method");
|
||||
error (0, 0, "Can't specify hostname and username in CVSROOT");
|
||||
error (0, 0, "when using local access method.");
|
||||
goto error_exit;
|
||||
}
|
||||
/* cvs.texinfo has always told people that CVSROOT must be an
|
||||
@ -583,8 +577,9 @@ parse_cvsroot (root_in)
|
||||
error. */
|
||||
if (!isabsolute (newroot->directory))
|
||||
{
|
||||
error (0, 0, "CVSROOT \"%s\" must be an absolute pathname",
|
||||
error (0, 0, "CVSROOT must be an absolute pathname (not `%s')",
|
||||
newroot->directory);
|
||||
error (0, 0, "when using local access method.");
|
||||
goto error_exit;
|
||||
}
|
||||
no_port = 1;
|
||||
@ -596,15 +591,15 @@ parse_cvsroot (root_in)
|
||||
name is absolute -- let the server do it. */
|
||||
if (newroot->username || newroot->hostname)
|
||||
{
|
||||
error (0, 0, "can't specify hostname and username in CVSROOT");
|
||||
error (0, 0, "(\"%s\")", root_in);
|
||||
error (0, 0, "when using fork access method");
|
||||
error (0, 0, "Can't specify hostname and username in CVSROOT");
|
||||
error (0, 0, "when using fork access method.");
|
||||
goto error_exit;
|
||||
}
|
||||
if (!isabsolute (newroot->directory))
|
||||
{
|
||||
error (0, 0, "CVSROOT \"%s\" must be an absolute pathname",
|
||||
error (0, 0, "CVSROOT must be an absolute pathname (not `%s')",
|
||||
newroot->directory);
|
||||
error (0, 0, "when using fork access method.");
|
||||
goto error_exit;
|
||||
}
|
||||
no_port = 1;
|
||||
@ -612,9 +607,8 @@ parse_cvsroot (root_in)
|
||||
break;
|
||||
case kserver_method:
|
||||
#ifndef HAVE_KERBEROS
|
||||
error (0, 0, "CVSROOT \"%s\"", root_in);
|
||||
error (0, 0, "is set for a kerberos access method but your");
|
||||
error (0, 0, "CVS executable doesn't support it");
|
||||
error (0, 0, "CVSROOT is set for a kerberos access method but your");
|
||||
error (0, 0, "CVS executable doesn't support it.");
|
||||
goto error_exit;
|
||||
#else
|
||||
check_hostname = 1;
|
||||
@ -622,9 +616,8 @@ parse_cvsroot (root_in)
|
||||
#endif
|
||||
case gserver_method:
|
||||
#ifndef HAVE_GSSAPI
|
||||
error (0, 0, "CVSROOT \"%s\"", root_in);
|
||||
error (0, 0, "is set for a GSSAPI access method but your");
|
||||
error (0, 0, "CVS executable doesn't support it");
|
||||
error (0, 0, "CVSROOT is set for a GSSAPI access method but your");
|
||||
error (0, 0, "CVS executable doesn't support it.");
|
||||
goto error_exit;
|
||||
#else
|
||||
check_hostname = 1;
|
||||
@ -639,6 +632,8 @@ parse_cvsroot (root_in)
|
||||
case pserver_method:
|
||||
check_hostname = 1;
|
||||
break;
|
||||
default:
|
||||
error (1, 0, "Invalid method found in parse_cvsroot");
|
||||
}
|
||||
|
||||
if (no_password && newroot->password)
|
||||
@ -650,7 +645,7 @@ parse_cvsroot (root_in)
|
||||
|
||||
if (check_hostname && !newroot->hostname)
|
||||
{
|
||||
error (0, 0, "didn't specify hostname in CVSROOT: %s", root_in);
|
||||
error (0, 0, "Didn't specify hostname in CVSROOT.");
|
||||
goto error_exit;
|
||||
}
|
||||
|
||||
@ -663,7 +658,7 @@ parse_cvsroot (root_in)
|
||||
|
||||
if (*newroot->directory == '\0')
|
||||
{
|
||||
error (0, 0, "missing directory in CVSROOT: %s", root_in);
|
||||
error (0, 0, "Missing directory in CVSROOT.");
|
||||
goto error_exit;
|
||||
}
|
||||
|
||||
|
37
contrib/cvs/src/root.h
Normal file
37
contrib/cvs/src/root.h
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright (c) 2001, Derek Price and others
|
||||
* Copyright (c) 1992, Brian Berliner and Jeff Polk
|
||||
* Copyright (c) 1989-1992, Brian Berliner
|
||||
*
|
||||
* You may distribute under the terms of the GNU General Public License as
|
||||
* specified in the README file that comes with the CVS kit.
|
||||
*/
|
||||
|
||||
/* CVSroot data structures */
|
||||
|
||||
/* Access method specified in CVSroot. */
|
||||
typedef enum {
|
||||
null_method,
|
||||
local_method,
|
||||
server_method,
|
||||
pserver_method,
|
||||
kserver_method,
|
||||
gserver_method,
|
||||
ext_method,
|
||||
fork_method
|
||||
} CVSmethod;
|
||||
extern char *method_names[]; /* change this in root.c if you change
|
||||
the enum above */
|
||||
|
||||
typedef struct cvsroot_s {
|
||||
char *original; /* the complete source CVSroot string */
|
||||
CVSmethod method; /* one of the enum values above */
|
||||
char *username; /* the username or NULL if method == local */
|
||||
char *password; /* the username or NULL if method == local */
|
||||
char *hostname; /* the hostname or NULL if method == local */
|
||||
int port; /* the port or zero if method == local */
|
||||
char *directory; /* the directory name */
|
||||
#ifdef CLIENT_SUPPORT
|
||||
unsigned char isremote; /* nonzero if we are doing remote access */
|
||||
#endif /* CLIENT_SUPPORT */
|
||||
} cvsroot_t;
|
File diff suppressed because it is too large
Load Diff
@ -24,7 +24,6 @@
|
||||
* server-specific functions.
|
||||
*/
|
||||
extern int server_active;
|
||||
extern int server_expanding;
|
||||
|
||||
/* Server functions exported to the rest of CVS. */
|
||||
|
||||
|
@ -123,7 +123,7 @@ expand_string (strptr, n, newsize)
|
||||
/* *STR is a pointer to a malloc'd string. *LENP is its allocated
|
||||
length. Add SRC to the end of it, reallocating if necessary. */
|
||||
void
|
||||
allocate_and_strcat (str, lenp, src)
|
||||
xrealloc_and_strcat (str, lenp, src)
|
||||
char **str;
|
||||
size_t *lenp;
|
||||
const char *src;
|
||||
@ -742,9 +742,6 @@ resolve_symlink (filename)
|
||||
But that would require editing each filesubr.c and so the
|
||||
expedient hack seems to be looking at HAVE_READLINK. */
|
||||
newname = xreadlink (*filename);
|
||||
#else
|
||||
error (1, 0, "internal error: islink doesn't like readlink");
|
||||
#endif
|
||||
|
||||
if (isabsolute (newname))
|
||||
{
|
||||
@ -762,6 +759,9 @@ resolve_symlink (filename)
|
||||
free (*filename);
|
||||
*filename = fullnewname;
|
||||
}
|
||||
#else
|
||||
error (1, 0, "internal error: islink doesn't like readlink");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ static char *date = NULL;
|
||||
static char *symtag; /* tag to add or delete */
|
||||
static int delete_flag; /* adding a tag by default */
|
||||
static int branch_mode; /* make an automagic "branch" tag */
|
||||
static int local; /* recursive by default */
|
||||
static int disturb_branch_tags = 0; /* allow -F,-d to disturb branch tags */
|
||||
static int force_tag_match = 1; /* force tag to match by default */
|
||||
static int force_tag_move; /* don't force tag to move by default */
|
||||
static int check_uptodate; /* no uptodate-check by default */
|
||||
@ -63,12 +63,13 @@ struct master_lists
|
||||
static List *mtlist;
|
||||
static List *tlist;
|
||||
|
||||
static const char rtag_opts[] = "+abdFflnQqRr:D:";
|
||||
static const char rtag_opts[] = "+aBbdFflnQqRr:D:";
|
||||
static const char *const rtag_usage[] =
|
||||
{
|
||||
"Usage: %s %s [-abdFflnR] [-r rev|-D date] tag modules...\n",
|
||||
"\t-a\tClear tag from removed files that would not otherwise be tagged.\n",
|
||||
"\t-b\tMake the tag a \"branch\" tag, allowing concurrent development.\n",
|
||||
"\t-B\tAllows -F and -d to disturb branch tags. Use with extreme care.\n",
|
||||
"\t-d\tDelete the given tag.\n",
|
||||
"\t-F\tMove tag if it already exists.\n",
|
||||
"\t-f\tForce a head revision match if tag/date not found.\n",
|
||||
@ -81,11 +82,12 @@ static const char *const rtag_usage[] =
|
||||
NULL
|
||||
};
|
||||
|
||||
static const char tag_opts[] = "+bcdFflQqRr:D:";
|
||||
static const char tag_opts[] = "+BbcdFflQqRr:D:";
|
||||
static const char *const tag_usage[] =
|
||||
{
|
||||
"Usage: %s %s [-bcdFflR] [-r rev|-D date] tag [files...]\n",
|
||||
"\t-b\tMake the tag a \"branch\" tag, allowing concurrent development.\n",
|
||||
"\t-B\tAllows -F and -d to disturb branch tags. Use with extreme care.\n",
|
||||
"\t-c\tCheck that working files are unmodified.\n",
|
||||
"\t-d\tDelete the given tag.\n",
|
||||
"\t-F\tMove tag if it already exists.\n",
|
||||
@ -103,6 +105,7 @@ cvstag (argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
int local = 0; /* recursive by default */
|
||||
int c;
|
||||
int err = 0;
|
||||
int run_module_prog = 1;
|
||||
@ -123,6 +126,9 @@ cvstag (argc, argv)
|
||||
case 'b':
|
||||
branch_mode = 1;
|
||||
break;
|
||||
case 'B':
|
||||
disturb_branch_tags = 1;
|
||||
break;
|
||||
case 'c':
|
||||
check_uptodate = 1;
|
||||
break;
|
||||
@ -196,6 +202,8 @@ cvstag (argc, argv)
|
||||
send_arg("-a");
|
||||
if (branch_mode)
|
||||
send_arg("-b");
|
||||
if (disturb_branch_tags)
|
||||
send_arg("-B");
|
||||
if (check_uptodate)
|
||||
send_arg("-c");
|
||||
if (delete_flag)
|
||||
@ -252,14 +260,14 @@ cvstag (argc, argv)
|
||||
(date ? date : "A"))), symtag, argv[i], "");
|
||||
err += do_module (db, argv[i], TAG,
|
||||
delete_flag ? "Untagging" : "Tagging",
|
||||
rtag_proc, (char *) NULL, 0, 0, run_module_prog,
|
||||
rtag_proc, (char *) NULL, 0, local, run_module_prog,
|
||||
0, symtag);
|
||||
}
|
||||
close_module (db);
|
||||
}
|
||||
else
|
||||
{
|
||||
err = rtag_proc (argc + 1, argv - 1, NULL, NULL, NULL, 0, 0, NULL,
|
||||
err = rtag_proc (argc + 1, argv - 1, NULL, NULL, NULL, 0, local, NULL,
|
||||
NULL);
|
||||
}
|
||||
|
||||
@ -362,7 +370,7 @@ rtag_proc (argc, argv, xwhere, mwhere, mfile, shorten, local_specified,
|
||||
|
||||
if (numtag != NULL && !numtag_validated)
|
||||
{
|
||||
tag_check_valid (numtag, argc - 1, argv + 1, local, 0, repository);
|
||||
tag_check_valid (numtag, argc - 1, argv + 1, local_specified, 0, repository);
|
||||
numtag_validated = 1;
|
||||
}
|
||||
|
||||
@ -372,7 +380,7 @@ rtag_proc (argc, argv, xwhere, mwhere, mfile, shorten, local_specified,
|
||||
mtlist = getlist();
|
||||
err = start_recursion (check_fileproc, check_filesdoneproc,
|
||||
(DIRENTPROC) NULL, (DIRLEAVEPROC) NULL, NULL,
|
||||
argc - 1, argv + 1, local, which, 0, 1,
|
||||
argc - 1, argv + 1, local_specified, which, 0, 1,
|
||||
where, 1);
|
||||
|
||||
if (err)
|
||||
@ -387,13 +395,13 @@ rtag_proc (argc, argv, xwhere, mwhere, mfile, shorten, local_specified,
|
||||
cached in do_recursion isn't stale by the time we get around
|
||||
to using it to rewrite the RCS file in the callback, and this
|
||||
is the easiest way to accomplish that. */
|
||||
lock_tree_for_write (argc - 1, argv + 1, local, which, 0);
|
||||
lock_tree_for_write (argc - 1, argv + 1, local_specified, which, 0);
|
||||
|
||||
/* start the recursion processor */
|
||||
err = start_recursion (is_rtag ? rtag_fileproc : tag_fileproc,
|
||||
(FILESDONEPROC) NULL, tag_dirproc,
|
||||
(DIRLEAVEPROC) NULL, NULL, argc - 1, argv + 1,
|
||||
local, which, 0, 0, where, 1);
|
||||
local_specified, which, 0, 0, where, 1);
|
||||
Lock_Cleanup ();
|
||||
dellist (&mtlist);
|
||||
if (where != NULL)
|
||||
@ -738,6 +746,21 @@ rtag_fileproc (callerdat, finfo)
|
||||
branch_mode ? "branch" : "version", rev);
|
||||
free (oversion);
|
||||
free (version);
|
||||
if (branch_mode) free(rev);
|
||||
return (0);
|
||||
}
|
||||
else /* force_tag_move is set and... */
|
||||
if ((isbranch && !disturb_branch_tags) ||
|
||||
(!isbranch && disturb_branch_tags))
|
||||
{
|
||||
error(0,0, "%s: Not moving %s tag `%s' from %s to %s%s.",
|
||||
finfo->fullname,
|
||||
isbranch ? "branch" : "non-branch",
|
||||
symtag, oversion, rev,
|
||||
isbranch ? "" : " due to `-B' option");
|
||||
if (branch_mode) free(rev);
|
||||
free (oversion);
|
||||
free (version);
|
||||
return (0);
|
||||
}
|
||||
free (oversion);
|
||||
@ -779,7 +802,7 @@ rtag_delete (rcsfile)
|
||||
RCSNode *rcsfile;
|
||||
{
|
||||
char *version;
|
||||
int retcode;
|
||||
int retcode, isbranch;
|
||||
|
||||
if (numtag)
|
||||
{
|
||||
@ -796,6 +819,20 @@ rtag_delete (rcsfile)
|
||||
return (0);
|
||||
free (version);
|
||||
|
||||
|
||||
isbranch = RCS_nodeisbranch (rcsfile, symtag);
|
||||
if ((isbranch && !disturb_branch_tags) ||
|
||||
(!isbranch && disturb_branch_tags))
|
||||
{
|
||||
if (!quiet)
|
||||
error(0, 0,
|
||||
"Not removing %s tag `%s' from `%s'%s.",
|
||||
isbranch ? "branch" : "non-branch",
|
||||
symtag, rcsfile->path,
|
||||
isbranch ? "" : " due to `-B' option");
|
||||
return (1);
|
||||
}
|
||||
|
||||
if ((retcode = RCS_deltag(rcsfile, symtag)) != 0)
|
||||
{
|
||||
if (!quiet)
|
||||
@ -843,6 +880,7 @@ tag_fileproc (callerdat, finfo)
|
||||
if (delete_flag)
|
||||
{
|
||||
|
||||
int isbranch;
|
||||
/*
|
||||
* If -d is specified, "force_tag_match" is set, so that this call to
|
||||
* RCS_getversion() will return a NULL version string if the symbolic
|
||||
@ -861,6 +899,20 @@ tag_fileproc (callerdat, finfo)
|
||||
}
|
||||
free (version);
|
||||
|
||||
isbranch = RCS_nodeisbranch (finfo->rcs, symtag);
|
||||
if ((isbranch && !disturb_branch_tags) ||
|
||||
(!isbranch && disturb_branch_tags))
|
||||
{
|
||||
if (!quiet)
|
||||
error(0, 0,
|
||||
"Not removing %s tag `%s' from `%s'%s.",
|
||||
isbranch ? "branch" : "non-branch",
|
||||
symtag, vers->srcfile->path,
|
||||
isbranch ? "" : " due to `-B' option");
|
||||
freevers_ts (&vers);
|
||||
return (1);
|
||||
}
|
||||
|
||||
if ((retcode = RCS_deltag(vers->srcfile, symtag)) != 0)
|
||||
{
|
||||
if (!quiet)
|
||||
@ -973,6 +1025,20 @@ tag_fileproc (callerdat, finfo)
|
||||
freevers_ts (&vers);
|
||||
return (0);
|
||||
}
|
||||
else /* force_tag_move == 1 and... */
|
||||
if ((isbranch && !disturb_branch_tags) ||
|
||||
(!isbranch && disturb_branch_tags))
|
||||
{
|
||||
error(0,0, "%s: Not moving %s tag `%s' from %s to %s%s.",
|
||||
finfo->fullname,
|
||||
isbranch ? "branch" : "non-branch",
|
||||
symtag, oversion, rev,
|
||||
isbranch ? "" : " due to `-B' option");
|
||||
free (oversion);
|
||||
if (branch_mode) free(rev);
|
||||
freevers_ts (&vers);
|
||||
return (0);
|
||||
}
|
||||
free (oversion);
|
||||
}
|
||||
|
||||
|
@ -339,13 +339,22 @@ time_stamp (file)
|
||||
{
|
||||
struct stat sb;
|
||||
char *cp;
|
||||
char *ts;
|
||||
char *ts = NULL;
|
||||
time_t mtime = 0L;
|
||||
|
||||
if (CVS_LSTAT (file, &sb) < 0)
|
||||
if (!CVS_LSTAT (file, &sb))
|
||||
{
|
||||
ts = NULL;
|
||||
mtime = sb.st_mtime;
|
||||
}
|
||||
else
|
||||
/* If it's a symlink, return whichever is the newest mtime of
|
||||
the link and its target, for safety.
|
||||
*/
|
||||
if (!CVS_STAT (file, &sb))
|
||||
{
|
||||
if (mtime < sb.st_mtime)
|
||||
mtime = sb.st_mtime;
|
||||
}
|
||||
if (mtime)
|
||||
{
|
||||
struct tm *tm_p;
|
||||
struct tm local_tm;
|
||||
|
85
contrib/cvs/src/version.c
Normal file
85
contrib/cvs/src/version.c
Normal file
@ -0,0 +1,85 @@
|
||||
/*
|
||||
* Copyright (c) 1994 david d `zoo' zuhn
|
||||
* Copyright (c) 1994 Free Software Foundation, Inc.
|
||||
* Copyright (c) 1992, Brian Berliner and Jeff Polk
|
||||
* Copyright (c) 1989-1992, Brian Berliner
|
||||
*
|
||||
* You may distribute under the terms of the GNU General Public License as
|
||||
* specified in the README file that comes with this CVS source distribution.
|
||||
*
|
||||
* version.c - the CVS version number
|
||||
*/
|
||||
|
||||
#include "cvs.h"
|
||||
#include "version.h"
|
||||
|
||||
#ifdef CLIENT_SUPPORT
|
||||
#ifdef SERVER_SUPPORT
|
||||
char *config_string = " (client/server)\n";
|
||||
#else
|
||||
char *config_string = " (client)\n";
|
||||
#endif
|
||||
#else
|
||||
#ifdef SERVER_SUPPORT
|
||||
char *config_string = " (server)\n";
|
||||
#else
|
||||
char *config_string = "\n";
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
static const char *const version_usage[] =
|
||||
{
|
||||
"Usage: %s %s\n",
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Output a version string for the client and server.
|
||||
*
|
||||
* This function will output the simple version number (for the '--version'
|
||||
* option) or the version numbers of the client and server (using the 'version'
|
||||
* command).
|
||||
*/
|
||||
int
|
||||
version (argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
int err = 0;
|
||||
|
||||
if (argc == -1)
|
||||
usage (version_usage);
|
||||
|
||||
#ifdef CLIENT_SUPPORT
|
||||
if (current_parsed_root && current_parsed_root->isremote)
|
||||
(void) fputs ("Client: ", stdout);
|
||||
#endif
|
||||
|
||||
/* Having the year here is a good idea, so people have
|
||||
some idea of how long ago their version of CVS was
|
||||
released. */
|
||||
(void) fputs (version_string, stdout);
|
||||
(void) fputs (config_string, stdout);
|
||||
|
||||
#ifdef CLIENT_SUPPORT
|
||||
if (current_parsed_root && current_parsed_root->isremote)
|
||||
{
|
||||
(void) fputs ("Server: ", stdout);
|
||||
start_server ();
|
||||
if (supported_request ("version"))
|
||||
send_to_server ("version\012", 0);
|
||||
else
|
||||
{
|
||||
send_to_server ("noop\012", 0);
|
||||
fputs ("(unknown)\n", stdout);
|
||||
}
|
||||
err = get_responses_and_close ();
|
||||
}
|
||||
#endif
|
||||
return err;
|
||||
}
|
||||
|
15
contrib/cvs/src/version.h.in
Normal file
15
contrib/cvs/src/version.h.in
Normal file
@ -0,0 +1,15 @@
|
||||
/* -*- c -*-
|
||||
*
|
||||
* Copyright (c) 1992, Brian Berliner and Jeff Polk
|
||||
* Copyright (c) 1989-1992, Brian Berliner
|
||||
*
|
||||
* You may distribute under the terms of the GNU General Public License as
|
||||
* specified in the README file that comes with the CVS kit.
|
||||
*/
|
||||
|
||||
#ifndef VERSION_H
|
||||
#define VERSION_H 1
|
||||
|
||||
#define version_string "Concurrent Versions System (CVS) @VERSION@"
|
||||
|
||||
#endif /* VERSION_H */
|
@ -178,14 +178,14 @@ wrap_send ()
|
||||
and (more importantly) where we found it. */
|
||||
error (0, 0, "\
|
||||
-m wrapper option is not supported remotely; ignored");
|
||||
send_to_server ("Argument -W\012Argument ", 0);
|
||||
send_to_server (wrap_list[i]->wildCard, 0);
|
||||
send_to_server (" -k '", 0);
|
||||
if (wrap_list[i]->rcsOption != NULL)
|
||||
{
|
||||
send_to_server ("Argument -W\012Argument ", 0);
|
||||
send_to_server (wrap_list[i]->wildCard, 0);
|
||||
send_to_server (" -k '", 0);
|
||||
send_to_server (wrap_list[i]->rcsOption, 0);
|
||||
send_to_server ("'\012", 0);
|
||||
}
|
||||
else
|
||||
send_to_server ("kv", 0);
|
||||
send_to_server ("'\012", 0);
|
||||
}
|
||||
}
|
||||
#endif /* CLIENT_SUPPORT */
|
||||
@ -216,32 +216,28 @@ wrap_unparse_rcs_options (line, first_call_p)
|
||||
if (first_call_p)
|
||||
i = 0;
|
||||
|
||||
for (; i < wrap_count + wrap_tempcount; ++i)
|
||||
{
|
||||
if (wrap_list[i]->rcsOption != NULL)
|
||||
{
|
||||
*line = xmalloc (strlen (wrap_list[i]->wildCard)
|
||||
+ strlen ("\t")
|
||||
+ strlen (" -k '")
|
||||
+ strlen (wrap_list[i]->rcsOption)
|
||||
+ strlen ("'")
|
||||
+ 1); /* leave room for '\0' */
|
||||
|
||||
strcpy (*line, wrap_list[i]->wildCard);
|
||||
strcat (*line, " -k '");
|
||||
strcat (*line, wrap_list[i]->rcsOption);
|
||||
strcat (*line, "'");
|
||||
|
||||
/* We're going to miss the increment because we return, so
|
||||
do it by hand. */
|
||||
++i;
|
||||
|
||||
return;
|
||||
}
|
||||
if (i >= wrap_count + wrap_tempcount) {
|
||||
*line = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
*line = NULL;
|
||||
return;
|
||||
*line = xmalloc (strlen (wrap_list[i]->wildCard)
|
||||
+ strlen ("\t")
|
||||
+ strlen (" -k '")
|
||||
+ (wrap_list[i]->rcsOption != NULL ?
|
||||
strlen (wrap_list[i]->rcsOption) : 2)
|
||||
+ strlen ("'")
|
||||
+ 1); /* leave room for '\0' */
|
||||
|
||||
strcpy (*line, wrap_list[i]->wildCard);
|
||||
strcat (*line, " -k '");
|
||||
if (wrap_list[i]->rcsOption != NULL)
|
||||
strcat (*line, wrap_list[i]->rcsOption);
|
||||
else
|
||||
strcat (*line, "kv");
|
||||
strcat (*line, "'");
|
||||
|
||||
++i;
|
||||
}
|
||||
#endif /* SERVER_SUPPORT || CLIENT_SUPPORT */
|
||||
|
||||
@ -438,7 +434,7 @@ wrap_add (line, isTemp)
|
||||
case 'k':
|
||||
if (e.rcsOption)
|
||||
free (e.rcsOption);
|
||||
e.rcsOption = xstrdup (temp);
|
||||
e.rcsOption = strcmp (temp, "kv") ? xstrdup (temp) : NULL;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -471,11 +467,7 @@ wrap_add_entry(e, temp)
|
||||
|
||||
x=(temp ? wrap_count+(wrap_tempcount++):(wrap_count++));
|
||||
wrap_list[x]=(WrapperEntry *)xmalloc(sizeof(WrapperEntry));
|
||||
wrap_list[x]->wildCard=e->wildCard;
|
||||
wrap_list[x]->fromcvsFilter=e->fromcvsFilter;
|
||||
wrap_list[x]->tocvsFilter=e->tocvsFilter;
|
||||
wrap_list[x]->mergeMethod=e->mergeMethod;
|
||||
wrap_list[x]->rcsOption = e->rcsOption;
|
||||
*wrap_list[x]=*e;
|
||||
}
|
||||
|
||||
/* Return 1 if the given filename is a wrapper filename */
|
||||
|
@ -51,8 +51,8 @@ static int compress_buffer_input PROTO((void *, char *, int, int, int *));
|
||||
static int compress_buffer_output PROTO((void *, const char *, int, int *));
|
||||
static int compress_buffer_flush PROTO((void *));
|
||||
static int compress_buffer_block PROTO((void *, int));
|
||||
static int compress_buffer_shutdown_input PROTO((void *));
|
||||
static int compress_buffer_shutdown_output PROTO((void *));
|
||||
static int compress_buffer_shutdown_input PROTO((struct buffer *));
|
||||
static int compress_buffer_shutdown_output PROTO((struct buffer *));
|
||||
|
||||
/* Report an error from one of the zlib functions. */
|
||||
|
||||
@ -355,10 +355,10 @@ compress_buffer_block (closure, block)
|
||||
/* Shut down an input buffer. */
|
||||
|
||||
static int
|
||||
compress_buffer_shutdown_input (closure)
|
||||
void *closure;
|
||||
compress_buffer_shutdown_input (buf)
|
||||
struct buffer *buf;
|
||||
{
|
||||
struct compress_buffer *cb = (struct compress_buffer *) closure;
|
||||
struct compress_buffer *cb = (struct compress_buffer *) buf->closure;
|
||||
int zstatus;
|
||||
|
||||
/* Pick up any trailing data, such as the checksum. */
|
||||
@ -387,10 +387,10 @@ compress_buffer_shutdown_input (closure)
|
||||
/* Shut down an output buffer. */
|
||||
|
||||
static int
|
||||
compress_buffer_shutdown_output (closure)
|
||||
void *closure;
|
||||
compress_buffer_shutdown_output (buf)
|
||||
struct buffer *buf;
|
||||
{
|
||||
struct compress_buffer *cb = (struct compress_buffer *) closure;
|
||||
struct compress_buffer *cb = (struct compress_buffer *) buf->closure;
|
||||
int zstatus, status;
|
||||
|
||||
do
|
||||
|
@ -1,3 +1,23 @@
|
||||
2002-04-17 Derek Price <oberon@umich.edu>
|
||||
|
||||
* README: Replace cyclic.com with cvshome.org.
|
||||
|
||||
2001-09-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with automake 1.5.
|
||||
|
||||
2001-08-06 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2001-07-04 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new Automake release candidate 1.4h.
|
||||
|
||||
2001-06-28 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated with new version of Automake.
|
||||
|
||||
2001-04-25 Derek Price <dprice@collab.net>
|
||||
|
||||
* Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.4e from Makefile.am.
|
||||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@ -27,7 +27,6 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@ -48,11 +47,9 @@ infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
@ -66,7 +63,6 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
@ -78,33 +74,28 @@ AWK = @AWK@
|
||||
CC = @CC@
|
||||
CSH = @CSH@
|
||||
DEPDIR = @DEPDIR@
|
||||
ETAGS = @ETAGS@
|
||||
ETAGS_INCLUDE_OPTION = @ETAGS_INCLUDE_OPTION@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTALL_STRIP_PROGRAM_ENV = @INSTALL_STRIP_PROGRAM_ENV@
|
||||
KRB4 = @KRB4@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
_am_include = @_am_include@
|
||||
_am_quote = @_am_quote@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
includeopt = @includeopt@
|
||||
install_sh = @install_sh@
|
||||
|
||||
EXTRA_DIST = \
|
||||
README .cvsignore
|
||||
|
||||
EXEEXT =
|
||||
OBJEXT = o
|
||||
subdir = tools
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
|
||||
@ -114,15 +105,14 @@ DIST_COMMON = README ChangeLog Makefile.am Makefile.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu tools/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
uninstall-info-am:
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
@ -134,7 +124,11 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
|| exit 1; \
|
||||
@ -159,23 +153,20 @@ install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_PROGRAM_ENV='$(INSTALL_STRIP_PROGRAM_ENV)' install
|
||||
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f Makefile.in
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
@ -184,11 +175,11 @@ distclean: distclean-am
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi:
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
info:
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
@ -196,7 +187,7 @@ install-data-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info:
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
@ -210,19 +201,20 @@ mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic distclean \
|
||||
distclean-generic distdir dvi dvi-am info info-am install \
|
||||
install-am install-data install-data-am install-exec \
|
||||
install-exec-am install-info install-man install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
uninstall uninstall-am
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
.PHONY: realclean
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
@ -7,5 +7,5 @@ If you are looking for pcl-cvs, we'd suggest pcl-cvs version 2.x, at:
|
||||
|
||||
Both of the following CVS sites have a page about pcl-cvs:
|
||||
http://www.loria.fr/~molli/cvs-index.html
|
||||
http://www.cyclic.com/
|
||||
http://cvshome.org/
|
||||
They also have much information about CVS tools more generally.
|
||||
|
Loading…
Reference in New Issue
Block a user