Remove stray files

This commit is contained in:
Peter Wemm 1998-01-26 04:47:16 +00:00
parent 7ee3907f2a
commit 3d0e86bdb6
5 changed files with 0 additions and 475 deletions

View File

@ -1,263 +0,0 @@
The enclosed two messages describe a bug in GNU diff 2.6 and 2.7 which
may cause CVS to perform an erroneous merge. You may wish to use GNU
diff 2.5 or apply the patch supplied by Loren James Rittle below. It
would be nice to add this to the CVS testsuite, but I haven't done so
because probably a lot of people who would like to run the testsuite
are using the buggy diff.
From: friedman@splode.com (Noah Friedman)
To: bug-gnu-utils@prep.ai.mit.edu
Cc: info-cvs@prep.ai.mit.edu
Subject: diffutils 2.7 -- diff3 merge bug
Date: Tue, 29 Oct 96 17:02:54 CST
I believe a change first introduced in GNU diff 2.6 causes diff3 sometimes
to produce incorrect merges.
Since this is a not a bug in CVS itself but can cause commits to CVS
repositories to be incorrect, am warning info-cvs@prep.ai.mit.edu as
well as reporting the bug to bug-gnu-utils@prep.ai.mit.edu.
I am including a simple test case as well as some sample outputs from
different versions of `diff' and `diff3' in the enclosed shar archive.
In addition, the file DESCRIPTION in that archive describes the problem
more fully.
If anyone has any advice for how to fix or to work around this bug, I would
appreciate it. Using diff 2.5 seems like the most immediately obvious
solution, but I don't know if it will introduce other problems.
I do not understand the algorithms used by GNU diff well enough to suggest
any patches.
Unshar and enjoy. ;-)
begin 666 merge-testcase.shar.gz
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
-&.@X_P&I*Y$W($H``"'+
`
end
Date: Wed, 30 Oct 96 14:54:13 CST
From: Loren James Rittle <rittle@comm.mot.com>
To: friedman@splode.com
Cc: bug-gnu-utils@prep.ai.mit.edu, info-cvs@prep.ai.mit.edu
Subject: Re: diffutils 2.7 -- diff3 merge bug
Noah,
I have seen the problem you discuss in your e-mail, however I fail to
see how this situation is as critical as might be implied since it can
never arise without at least some user involvement (an update that
caused a merge is never automatically followed by a commit --- the
user has a chance to inspect the merged file). However, I will agree
that I don't always look very closely at non-conflicted merges before
checking them back in.
You didn't give the exact CVS commands used to create a lossage,
but I added the following to your Makefile, to help me see the problem
in a CVS usage context:
t-older: testcase-older
cp testcase-older t-older
t-yours: testcase-yours
cp testcase-yours t-yours
t-mine: testcase-mine
cp testcase-mine t-mine
# Assume cvs-1.9
cvs-test: t-older t-yours t-mine
rm -rf /tmp/cvs-test-root x x2
cvs -d /tmp/cvs-test-root init
mkdir x
cp t-older x/testcase
cd x; cvs -d /tmp/cvs-test-root import -m '' x X X1
rm -rf x
cvs -d /tmp/cvs-test-root co x
cvs -d /tmp/cvs-test-root co -d x2 x
cp t-yours x/testcase
cp t-mine x2/testcase
cd x; cvs ci -m ''
-cd x2; cvs ci -m ''
cd x2; cvs update
cat x2/testcase # at this point, user may commit blindly
It looks like whomever added shift_boundaries() in analyze.c, which
seems to be the source of the diff3 induced mischief, already provided
a means to disable the boundary shifting optimization (at least with
a recompile).
Here is the patch I applied to diff to disable this (currently)
overaggressive optimization:
[ rittle@supra ]; diff -c analyze.c-old analyze.c
*** analyze.c-old Wed Oct 30 14:10:27 1996
--- analyze.c Wed Oct 30 13:48:57 1996
***************
*** 616,622 ****
but usually it is cleaner to consider the following identical line
to be the "change". */
! int inhibit;
static void
shift_boundaries (filevec)
--- 616,622 ----
but usually it is cleaner to consider the following identical line
to be the "change". */
! int inhibit = 1;
static void
shift_boundaries (filevec)
Now, diff-2.7 with the above patch produces:
[ rittle@supra ]; make diff-mine-yours 'DIFF=/usr/src/diffutils-2.7/diff'
/usr/src/diffutils-2.7/diff -a --horizon-lines=11 -- testcase-mine testcase-yours; true
16,18c16,18
< // _titleColor = Color.black;
< // _disabledTitleColor = Color.gray;
< // _titleFont = Font.defaultFont ();
---
> _titleColor = Color.black;
> _disabledTitleColor = Color.gray;
> _titleFont = Font.defaultFont ();
20,30d19
<
< /* Convenience constructor for instantiating a Button with
< * bounds x, y, width, and height. Equivalent to
< * foo = new Button ();
< * foo.init (x, y, width, height);
< */
< public Button (int x, int y, int width, int height)
< {
< this ();
< init (x, y, width, height);
< }
Whereas, stock diff-2.7 produces:
[ rittle@supra ]; make diff-mine-yours
diff -a --horizon-lines=11 -- testcase-mine testcase-yours; true
16,29c16,18
< // _titleColor = Color.black;
< // _disabledTitleColor = Color.gray;
< // _titleFont = Font.defaultFont ();
< }
<
< /* Convenience constructor for instantiating a Button with
< * bounds x, y, width, and height. Equivalent to
< * foo = new Button ();
< * foo.init (x, y, width, height);
< */
< public Button (int x, int y, int width, int height)
< {
< this ();
< init (x, y, width, height);
---
> _titleColor = Color.black;
> _disabledTitleColor = Color.gray;
> _titleFont = Font.defaultFont ();
A better solution might be to disable the boundary shifting code
unless explicitly turned on via command line argument. That way
programs, like diff3, expecting unoptimized diff regions will work
correctly, yet users can get smaller diffs, if desired. The problem
is that diff3 doesn't properly track changes once they have been
optimized.
BTW, I never did like the look of the `optimized diff regions', so I
consider this a good change for other reasons... :-)
Enjoy!
Regards,
Loren
--
Loren J. Rittle (rittle@comm.mot.com) PGP KeyIDs: 1024/B98B3249 2048/ADCE34A5
Systems Technology Research (IL02/2240) FP1024:6810D8AB3029874DD7065BC52067EAFD
Motorola, Inc. FP2048:FDC0292446937F2A240BC07D42763672
(847) 576-7794 Call for verification of fingerprints.

View File

@ -1,33 +0,0 @@
/* getwd.c -- get current working directory pathname
Copyright (C) 1992 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
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. */
/* Some systems which include both getwd() and getcwd() have an implementation
of getwd() which is much faster than getcwd(). As a result, we use the
system's getwd() if it is available */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "system.h"
/* Get the current working directory into PATHNAME */
char *
getwd (pathname)
char *pathname;
{
char *getcwd();
return (getcwd(pathname, PATH_MAX));
}

View File

@ -1,39 +0,0 @@
/* strdup.c -- return a newly allocated copy of a string
Copyright (C) 1990 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
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. */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifdef STDC_HEADERS
#include <string.h>
#include <stdlib.h>
#else
char *malloc ();
char *strcpy ();
#endif
/* Return a newly allocated copy of STR,
or 0 if out of memory. */
char *
strdup (str)
char *str;
{
char *newstr;
newstr = (char *) malloc (strlen (str) + 1);
if (newstr)
strcpy (newstr, str);
return newstr;
}

View File

@ -1,80 +0,0 @@
/* strippath.c -- remove unnecessary components from a path specifier
Copyright (C) 1992 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
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., 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#if STDC_HEADERS || HAVE_STRING_H
#include <string.h>
/* An ANSI string.h and pre-ANSI memory.h might conflict. */
#if !STDC_HEADERS && HAVE_MEMORY_H
#include <memory.h>
#endif /* not STDC_HEADERS and HAVE_MEMORY_H */
#else /* not STDC_HJEADERS and not HAVE_STRING_H */
#include <strings.h>
/* memory.h and strings.h conflict on some systems. */
#endif /* not STDC_HEADERS and not HAVE_STRING_H */
#include <stdio.h>
#if __STDC__
static void remove_component(char *beginc, char *endc);
void strip_trailing_slashes(char *path);
#else
static void remove_component();
void strip_trailing_slashes();
#endif /* __STDC__ */
/* Remove unnecessary components from PATH. */
void
strip_path (path)
char *path;
{
int stripped = 0;
char *cp, *slash;
for (cp = path; (slash = strchr(cp, '/')) != NULL; cp = slash)
{
*slash = '\0';
if ((!*cp && (cp != path || stripped)) ||
strcmp(cp, ".") == 0 || strcmp(cp, "/") == 0)
{
stripped = 1;
remove_component(cp, slash);
slash = cp;
}
else
{
*slash++ = '/';
}
}
strip_trailing_slashes(path);
}
/* Remove the component delimited by BEGINC and ENDC from the path */
static void
remove_component (beginc, endc)
char *beginc;
char *endc;
{
for (endc++; *endc; endc++)
*beginc++ = *endc;
*beginc = '\0';
}

View File

@ -1,60 +0,0 @@
wishlist - Tue Nov 2 15:22:58 PST 1993
* bcopy -> memcpy & friends.
** done 12/18/93
* remove static buffers.
* replace list & node cache with recursive obstacks, (xmalloc,
getnode, getlist)
* check all io functions for error return codes. also check all
system calls.
* error check mkdir.
---
Old notes...
* All sizing limits are gone. The rest of these items were incidental
in that effort.
* login name from history was duplicated. taught existing routine to
cache and use that instead. Also add routines to cache uid, pid,
etc.
* ign strings were never freed. Now they are.
* there was a printf("... %s ...", cp) vs *cp bug in history.c. Now
fixed.
* The environment variables TMPDIR, HOME, and LOGNAME were not
honored. Now they are.
* extra line inserted by do_editor() is gone. Then obviated. Editor
is now called exactly once per checkin.
* revised editor behaviour. Never use /dev/tty. If the editor
session fails, we haven't yet done anything. Therefor the user can
safely rerun cvs and we should just fail. Also use the editor for
initial log messages on added files. Also omit the confirmation
when adding directories. Adding directories will require an
explicit "commit" step soon. Make it possible to prevent null login
messages using #define REQUIRE_LOG_MESSAGES
* prototypes for all callbacks.
* all callbacks get ref pointers.
* do_recursion/start_recursion now use recusion_frame's rather than a
list of a lot of pointers and global variables.
* corrected types on status_dirproc().
* CONFIRM_DIRECTORY_ADDS
* re_comp was innappropriate in a few places. I've eliminated it.
* FORCE_MESSAGE_ON_ADD
* So I built a regression test. Let's call it a sanity check to be
less ambitious. It exposed that cvs is difficult to call from
scripts.