Parent Directory | Revision Log
Links to HEAD: | (view) (download) (annotate) |
Links to EMACS_PRETEST_21_0_95: | (view) (download) (annotate) |
Sticky Tag: |
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.
Update bug report address and copyright.
Update copyright
(initialize_fullname): Prefer getent if available.
Don't assign to $0 in awk; some awks don't allow this.
(files): When computing arguments automatically, ignore non-files within the RCS subdirectory.
(loginFullnameMailaddrs, logins, rlog_options, files): Don't prepend $nl since this causes some shells to generate the empty string when IFS is $nl. (printlogline): Use SOH (octal code 1), not CR, since some PC-based shells mishandle CR.
Doc fix: CR is \015, not \013.
(initialize_fullname): Set NIS_PATH to the empty string before invoking nismatch, in case it's set to some nonstandard value.
(files): Ignore files in RCS directory whose names are of the form ,*, or *_; they are probably RCS lock files. Also, ignore files named .rcsfreeze.log or .rcsfreeze.ver; they are used by rcsfreeze.
--help, --version: New options, for conformance to GNU coding standards. (Copyright, Help, Id): New variables, for above. (rlog): Use -q option with cvs log, to avoid useless chatter. Treat logs of "Initial revision" (RCS) or "file F was initially added on branch B." (CVS) as if they said "New file.", for consistency with change log entries.
When processing cvs log output, remove `Attic/' from repository file names.
(datearg): Use the empty string, not '-d>1970-01-01', to extract all revisions, since some hosts reject 1970-01-01 when east of UTC. (date): Remove.
(rlog_options): Look for ' option' rather than 'unknown option', since CVS says 'invalid option'.
(date): Make default format acceptable to CVS post v1.8 as well as earlier CVSs and RCS.
(rlog_options): Use $rlog, not rlog, when deciding whether to append -zLT.
Change `GNU Emacs' to `this program' in the comment referring the reader to the file COPYING, since rcs2log is distributed as part of programs other than GNU Emacs.
Use ISO 8601 date format, with time zone appended if change-log-time-zone-rule is non-nil, instead of traditional Unix date format. (datearg): When computing default from ChangeLog, handle ISO format dates in addition to old-fashioned dates from Emacs 19.31 and earlier. Don't worry about hh:mm:ss since the resolution is now by day. Use emtpy datearg, not empty rlog_options, to decide whether to pass "$datearg" option to $rlog. (logTZ): New variable, set to TZ specified by change-log-time-zone-rule. (month_data): Remove `mo'; no longer needed. (rlog_options): Use -zLT for localltime output, if `rlog' supports it. (extractTZ): Use UTC if the zone is t. Match `revision' line of rlog output more accurately. Add -c, -v options.
Fix FSF address in comment.
(initialize_fullname): Add support for NIS+. (hostname): Fully qualify the default hostname with the domainname if the hostname lacks a `.'.
(datearg): Separate date from time with comma, not space, to avoid CVS 1.5 bug. (CVSROOT): Don't abort if unset and if repository is an absolute pathname.
Replace `#!/bin/sh' with `#! /bin/sh', for benefit of systems that interpret `#! /' as a 4-byte magic number.
(CVSROOT, repository): Allow remote repositories a la CVS 1.4.
(output_authors): Allow ':' in time zone, as per ISO 8601 and RCS 5.6.8 beta.
(datearg): If rlog options are specified explicitly, omit the implicit '-d>DATE' option. (repository, rlog): Allow absolute paths to CVS repositories. Look only at the first line of CVS/Repository.
(output_authors): Replace /[/]/ by /[\/]/, for portability to mawk and nawk.
Treat -u 'LOGIN:FULLNAME:MAILADDR' as if it were -u 'LOGIN<tab>FULLNAME<tab>MAILADDR'.
Add -u "login<tab>fullname<tab>mailaddr" option, which replaces the (now obsolescent) -n login fullname mailaddr option. Don't omit path from repository root when logging CVS files. Add -R option for recursive rlog. (AWK): New environment variable (default `awk') for name of awk program. (output_authors, tab, loginFullnameMailaddrs, recursive): New variables. Quote authors and fullnames correctly.
Add support for CVS. Work with `rlog's that output ISO 8601 dates.
Use <> to delimit email address.
(printlogline): Don't generate lines containing only white space.
Add -h, -n, -r options. By default, look for *,v files as well as RCS/*,v files. Use $TMPDIR (default /tmp) instead of /tmp.
Change /{/ to /\{/ for Posix compatibility; otherwise, HP awk complains.
(awkscript): Some sites put comma-separated junk after the fullname. Remove it, but leave "Bill Gates, Jr" alone. Remove the junk from fullnames like "0000-Admin(0000)".
When given no file arguments, inspect RCS/.* as well as RCS/*. Don't report an error if RCS is empty or nonexistent.
mawk, SunOS 4.1.3 nawk, and Ultrix/MKS nawk all barf on /[/]/, so change it to /[\/]/. This should work on all Posix-compliant awks. It's slightly wrong with traditional (Unix version 7) awk, since it also allows \, but that's a minor problem compared to awk syntax errors.
Some awks don't understand "\r". Code around this. Unfortunately this requires putting a carriage return in the source code. Don't assume that rlog will tolerate times like `10:10:60'; RCS 5.7 won't allow this.
Add copyright and authorship notices.
%.2d -> %02d
Call ypmatch at most once.
Ignore log messages that start with `#'.
Don't duplicate most recent logs. Fix bug in dates after Feb 29 in leap year.
Add clumpname support.
Don't munge $* when getting date from ChangeLog.
Add -i, -l, -t.
Initial revision
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
savannah-hackers-public@gnu.org | ViewVC Help |
Powered by ViewVC 1.1.26 |