Compare commits
93 commits
diffutils-
...
rawhide
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30c705e495 | ||
|
|
fd5c7c3b39 | ||
|
|
66c0191743 |
||
|
|
f07f8c37a4 | ||
|
|
3ef05884d7 | ||
|
|
1159f22114 | ||
|
|
d7a248ef6e | ||
|
|
e55ec778c3 | ||
|
|
0d56b9fccf | ||
|
|
efeeb64f37 | ||
|
|
112f3556e3 | ||
|
|
33ebdf4509 | ||
|
|
9421e38500 | ||
|
|
22cf0d6a15 | ||
|
|
0ea6b50511 | ||
|
|
96115b78aa | ||
|
|
2b29d95c6c | ||
|
|
d2e1c85231 | ||
|
|
2de4d2f417 | ||
|
|
5c223564ef | ||
|
|
b3d7b433f0 |
||
|
|
2aba9bf603 | ||
|
|
9a171232f3 | ||
|
|
6958cd94fe |
||
|
|
4216d4197e | ||
|
|
8363a7f4b1 |
||
|
|
775035f1b7 |
||
|
|
26b96e3108 | ||
|
|
0489ee8312 | ||
|
|
7c51935b92 | ||
|
|
9b2b8d9dea |
||
|
|
5274a69ee0 | ||
|
|
972db8de2d | ||
|
|
e32d8be992 | ||
|
|
a73ccd0f1d | ||
|
|
0ac5385bd9 | ||
|
|
9129d879f7 | ||
|
|
3c89f4400e | ||
|
|
b3095ad7f2 | ||
|
|
12ce2b4fd7 | ||
|
|
03744b2863 |
||
|
|
863087bea7 | ||
|
|
5c365f1189 | ||
|
|
bd91ce8b69 |
||
|
|
c86338cc28 | ||
|
|
661786d26a | ||
|
|
b0f848841e | ||
|
|
bfd003b76d | ||
|
|
3de146fa2d | ||
|
|
f23332592b | ||
|
|
165207b40b | ||
|
|
18e019b2c4 | ||
|
|
4387dd65d0 | ||
|
|
c7eed45830 | ||
|
|
7b8b596501 | ||
|
|
8230287ec0 | ||
|
|
40895fa64b | ||
|
|
effdc229f3 | ||
|
|
d65f00f4af | ||
|
|
a33fe8d70c | ||
|
|
54c1294ee0 | ||
|
|
9f25f6e3a4 | ||
|
|
54f92ba2a0 | ||
|
|
c2f0dc48e6 | ||
|
|
8ad2a97dc7 | ||
|
|
445a625327 | ||
|
|
5b4e2e345c | ||
|
|
6911aa14f4 | ||
|
|
47f8f06f47 | ||
|
|
ca4a9c85a5 | ||
|
|
9778ec992d | ||
|
|
412939e9f4 | ||
|
|
3f1ab3a398 | ||
|
|
f9c3557e7b | ||
|
|
2ce78f30a3 | ||
|
|
9ec387dac2 | ||
|
|
850062d256 | ||
|
|
fd098f57fe | ||
|
|
b11f11b60d | ||
|
|
3e4dbb4b66 | ||
|
|
19e3849f88 | ||
|
|
dd743c5196 | ||
|
|
a7dc13421f | ||
|
|
953cdeac82 | ||
|
|
2749439c4f | ||
|
|
d145ae3879 | ||
|
|
780813e990 | ||
|
|
cc6ff26220 | ||
|
|
92231b6232 | ||
|
|
f5a08e3918 | ||
|
|
ab0dcc7b2c | ||
|
|
7e7a5bbfb7 | ||
|
|
ee05c0487a |
53 changed files with 481587 additions and 1914 deletions
|
|
@ -1 +0,0 @@
|
||||||
diffutils-2.8.1.tar.gz
|
|
||||||
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
1
|
||||||
13
.gitignore
vendored
Normal file
13
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
diffutils-2.8.1.tar.gz
|
||||||
|
/diffutils-3.0.tar.xz
|
||||||
|
/diffutils-3.1.tar.xz
|
||||||
|
/diffutils-3.2.tar.xz
|
||||||
|
/diffutils-3.3.tar.xz
|
||||||
|
/diffutils-3.5.tar.xz
|
||||||
|
/diffutils-3.6.tar.xz
|
||||||
|
/diffutils-3.7.tar.xz
|
||||||
|
/diffutils-3.8.tar.xz
|
||||||
|
/diffutils-3.9.tar.xz
|
||||||
|
/diffutils-3.10.tar.xz
|
||||||
|
/diffutils-3.11.tar.xz
|
||||||
|
/diffutils-3.12.tar.xz
|
||||||
85
0001-sdiff-pacify-gcc-flto-Wmaybe-uninitialized.patch
Normal file
85
0001-sdiff-pacify-gcc-flto-Wmaybe-uninitialized.patch
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
From 45a4762bf3241e7fb6a2e01d382791ae44236841 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
Date: Wed, 23 Apr 2025 11:34:20 -0700
|
||||||
|
Subject: [PATCH] sdiff: pacify gcc -flto -Wmaybe-uninitialized
|
||||||
|
|
||||||
|
* src/sdiff.c (edit): Portmanteauize two locals into one, which
|
||||||
|
arguably makes the code clearer, and anyway pacifies gcc -flto
|
||||||
|
-Wmaybe-uninitialized with gcc (GCC) 15.0.1 20250329 (Red Hat
|
||||||
|
15.0.1-0) x86-64 (Bug#78019).
|
||||||
|
---
|
||||||
|
src/sdiff.c | 19 +++++++++++--------
|
||||||
|
1 file changed, 11 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/sdiff.c b/src/sdiff.c
|
||||||
|
index 5b1b162..15b8dce 100644
|
||||||
|
--- a/src/sdiff.c
|
||||||
|
+++ b/src/sdiff.c
|
||||||
|
@@ -857,8 +857,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
{
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
- int cmd0;
|
||||||
|
- int cmd1;
|
||||||
|
+ int cmd;
|
||||||
|
bool gotcmd = false;
|
||||||
|
|
||||||
|
while (! gotcmd)
|
||||||
|
@@ -867,8 +866,8 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
perror_fatal (_("write failed"));
|
||||||
|
ck_fflush (stdout);
|
||||||
|
|
||||||
|
- cmd0 = skip_white ();
|
||||||
|
- switch (cmd0)
|
||||||
|
+ cmd = skip_white ();
|
||||||
|
+ switch (cmd)
|
||||||
|
{
|
||||||
|
case '1': case '2': case 'l': case 'r':
|
||||||
|
case 's': case 'v': case 'q':
|
||||||
|
@@ -882,12 +881,15 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'e':
|
||||||
|
- cmd1 = skip_white ();
|
||||||
|
+ int cmd1 = skip_white ();
|
||||||
|
switch (cmd1)
|
||||||
|
{
|
||||||
|
case '1': case '2': case 'b': case 'd': case 'l': case 'r':
|
||||||
|
if (skip_white () == '\n')
|
||||||
|
- gotcmd = true;
|
||||||
|
+ {
|
||||||
|
+ gotcmd = true;
|
||||||
|
+ cmd |= cmd1 << UCHAR_WIDTH;
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
{
|
||||||
|
give_help ();
|
||||||
|
@@ -908,7 +910,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
if (feof (stdin))
|
||||||
|
{
|
||||||
|
gotcmd = true;
|
||||||
|
- cmd0 = 'q';
|
||||||
|
+ cmd = 'q';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
FALLTHROUGH;
|
||||||
|
@@ -921,7 +923,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- switch (cmd0)
|
||||||
|
+ switch (cmd & UCHAR_MAX)
|
||||||
|
{
|
||||||
|
case '1': case 'l':
|
||||||
|
lf_copy (left, llen, outfile);
|
||||||
|
@@ -954,6 +956,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
if (! tmp)
|
||||||
|
perror_fatal (squote (0, tmpname));
|
||||||
|
|
||||||
|
+ int cmd1 = cmd >> UCHAR_WIDTH;
|
||||||
|
switch (cmd1)
|
||||||
|
{
|
||||||
|
case 'd':
|
||||||
|
--
|
||||||
|
2.48.1
|
||||||
|
|
||||||
27
0001-sdiff-port-back-to-C17.patch
Normal file
27
0001-sdiff-port-back-to-C17.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
From 686357a40ca038edc902276cb3b33f4757d8cfb2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
Date: Sat, 26 Apr 2025 12:54:06 -0700
|
||||||
|
Subject: [PATCH] sdiff: port back to C17-
|
||||||
|
|
||||||
|
* src/sdiff.c (edit): Do not use a label just before a statement.
|
||||||
|
Problem reported by Bruno Haible (Bug#78032).
|
||||||
|
---
|
||||||
|
src/sdiff.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/sdiff.c b/src/sdiff.c
|
||||||
|
index 15b8dce..cc961c3 100644
|
||||||
|
--- a/src/sdiff.c
|
||||||
|
+++ b/src/sdiff.c
|
||||||
|
@@ -880,7 +880,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
- case 'e':
|
||||||
|
+ case 'e':;
|
||||||
|
int cmd1 = skip_white ();
|
||||||
|
switch (cmd1)
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.48.1
|
||||||
|
|
||||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
||||||
# Makefile for source rpm: diffutils
|
|
||||||
# $Id: Makefile,v 1.2 2007/10/15 18:42:08 notting Exp $
|
|
||||||
NAME := diffutils
|
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
|
||||||
|
|
||||||
define find-makefile-common
|
|
||||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
|
||||||
|
|
||||||
ifeq ($(MAKEFILE_COMMON),)
|
|
||||||
# attempt a checkout
|
|
||||||
define checkout-makefile-common
|
|
||||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
|
||||||
endif
|
|
||||||
|
|
||||||
include $(MAKEFILE_COMMON)
|
|
||||||
7
STAGE1-diffutils
Normal file
7
STAGE1-diffutils
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
srpm $1
|
||||||
|
mcd $BUILDDIR/$1
|
||||||
|
$SRC/${1}-*/configure $TCONFIGARGS
|
||||||
|
notparallel
|
||||||
|
test -d tools/gnulib/lib && make $J V=1 -C tools/gnulib/lib
|
||||||
|
make $J V=1
|
||||||
|
make $J install DESTDIR=${ROOTFS}
|
||||||
107
cmp.1
107
cmp.1
|
|
@ -1,107 +0,0 @@
|
||||||
.\" Copyright (c) 1987, 1990, 1993
|
|
||||||
.\" The Regents of the University of California. All rights reserved.
|
|
||||||
.\"
|
|
||||||
.\" This code is derived from software contributed to Berkeley by
|
|
||||||
.\" the Institute of Electrical and Electronics Engineers, Inc.
|
|
||||||
.\"
|
|
||||||
.\" Redistribution and use in source and binary forms, with or without
|
|
||||||
.\" modification, are permitted provided that the following conditions
|
|
||||||
.\" are met:
|
|
||||||
.\" 1. Redistributions of source code must retain the above copyright
|
|
||||||
.\" notice, this list of conditions and the following disclaimer.
|
|
||||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
.\" notice, this list of conditions and the following disclaimer in the
|
|
||||||
.\" documentation and/or other materials provided with the distribution.
|
|
||||||
.\" 3. All advertising materials mentioning features or use of this software
|
|
||||||
.\" must display the following acknowledgement:
|
|
||||||
.\" This product includes software developed by the University of
|
|
||||||
.\" California, Berkeley and its contributors.
|
|
||||||
.\" 4. Neither the name of the University nor the names of its contributors
|
|
||||||
.\" may be used to endorse or promote products derived from this software
|
|
||||||
.\" without specific prior written permission.
|
|
||||||
.\"
|
|
||||||
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
||||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
||||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
||||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
||||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
||||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
.\" SUCH DAMAGE.
|
|
||||||
.\"
|
|
||||||
.\" @(#)cmp.1 8.1 (Berkeley) 6/6/93
|
|
||||||
.\"
|
|
||||||
.Dd June 6, 1993
|
|
||||||
.Dt CMP 1
|
|
||||||
.Os
|
|
||||||
.Sh NAME
|
|
||||||
.Nm cmp
|
|
||||||
.Nd compare two files
|
|
||||||
.Sh SYNOPSIS
|
|
||||||
.Nm cmp
|
|
||||||
.Op Fl l | Fl s
|
|
||||||
.Ar file1 file2
|
|
||||||
.Op Ar skip1 Op Ar skip2
|
|
||||||
.Sh DESCRIPTION
|
|
||||||
The cmp utility compares two files of any type and writes the results
|
|
||||||
to the standard output.
|
|
||||||
By default,
|
|
||||||
.Nm
|
|
||||||
is silent if the files are the same; if they differ, the byte
|
|
||||||
and line number at which the first difference occurred is reported.
|
|
||||||
.Pp
|
|
||||||
Bytes and lines are numbered beginning with one.
|
|
||||||
.Pp
|
|
||||||
The following options are available:
|
|
||||||
.Bl -tag -width flag
|
|
||||||
.It Fl l
|
|
||||||
Print the byte number (decimal) and the differing
|
|
||||||
byte values (octal) for each difference.
|
|
||||||
.It Fl s
|
|
||||||
Print nothing for differing files; return exit
|
|
||||||
status only.
|
|
||||||
.El
|
|
||||||
.Pp
|
|
||||||
The optional arguments
|
|
||||||
.Ar skip1
|
|
||||||
and
|
|
||||||
.Ar skip2
|
|
||||||
are the byte offsets from the beginning of
|
|
||||||
.Ar file1
|
|
||||||
and
|
|
||||||
.Ar file2 ,
|
|
||||||
respectively, where the comparison will begin.
|
|
||||||
The offset is decimal by default, but may be expressed as an hexadecimal
|
|
||||||
or octal value by preceding it with a leading ``0x'' or ``0''.
|
|
||||||
.Pp
|
|
||||||
The
|
|
||||||
.Nm cmp
|
|
||||||
utility exits with one of the following values:
|
|
||||||
.Bl -tag -width 4n
|
|
||||||
.It 0
|
|
||||||
The files are identical.
|
|
||||||
.It 1
|
|
||||||
The files are different; this includes the case
|
|
||||||
where one file is identical to the first part of
|
|
||||||
the other.
|
|
||||||
In the latter case, if the
|
|
||||||
.Fl s
|
|
||||||
option has not been specified,
|
|
||||||
.Nm cmp
|
|
||||||
writes to standard output that EOF was reached in the shorter
|
|
||||||
file (before any differences were found).
|
|
||||||
.It >1
|
|
||||||
An error occurred.
|
|
||||||
.El
|
|
||||||
.Sh SEE ALSO
|
|
||||||
.Xr diff 1 ,
|
|
||||||
.Xr diff3 1
|
|
||||||
.Sh STANDARDS
|
|
||||||
The
|
|
||||||
.Nm cmp
|
|
||||||
utility is expected to be
|
|
||||||
.St -p1003.2
|
|
||||||
compatible.
|
|
||||||
485
diff.1
485
diff.1
|
|
@ -1,485 +0,0 @@
|
||||||
.TH DIFF 1 "22sep1993" "GNU Tools" "GNU Tools"
|
|
||||||
.SH NAME
|
|
||||||
diff \- find differences between two files
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B diff
|
|
||||||
[options] from-file to-file
|
|
||||||
.SH DESCRIPTION
|
|
||||||
In the simplest case,
|
|
||||||
.I diff
|
|
||||||
compares the contents of the two files
|
|
||||||
.I from-file
|
|
||||||
and
|
|
||||||
.IR to-file .
|
|
||||||
A file name of
|
|
||||||
.B \-
|
|
||||||
stands for
|
|
||||||
text read from the standard input. As a special case,
|
|
||||||
.B "diff \- \-"
|
|
||||||
compares a copy of standard input to itself.
|
|
||||||
|
|
||||||
If
|
|
||||||
.I from-file
|
|
||||||
is a directory and
|
|
||||||
.I to-file
|
|
||||||
is not,
|
|
||||||
.I diff
|
|
||||||
compares the file in
|
|
||||||
.I from-file
|
|
||||||
whose file name is that of
|
|
||||||
.IR to-file ,
|
|
||||||
and vice versa. The non-directory file must not be
|
|
||||||
.BR \- .
|
|
||||||
|
|
||||||
If both
|
|
||||||
.I from-file
|
|
||||||
and
|
|
||||||
.I to-file
|
|
||||||
are directories,
|
|
||||||
.I diff
|
|
||||||
compares corresponding files in both directories, in
|
|
||||||
alphabetical order; this comparison is not recursive unless the
|
|
||||||
.B \-r
|
|
||||||
or
|
|
||||||
.B \-\-recursive
|
|
||||||
option is given.
|
|
||||||
.I diff
|
|
||||||
never
|
|
||||||
compares the actual contents of a directory as if it were a file. The
|
|
||||||
file that is fully specified may not be standard input, because standard
|
|
||||||
input is nameless and the notion of ``file with the same name'' does not
|
|
||||||
apply.
|
|
||||||
|
|
||||||
.B diff
|
|
||||||
options begin with
|
|
||||||
.BR \- ,
|
|
||||||
so normally
|
|
||||||
.I from-file
|
|
||||||
and
|
|
||||||
.I to-file
|
|
||||||
may not begin with
|
|
||||||
.BR \- .
|
|
||||||
However,
|
|
||||||
.B \-\-
|
|
||||||
as an
|
|
||||||
argument by itself treats the remaining arguments as file names even if
|
|
||||||
they begin with
|
|
||||||
.BR \- .
|
|
||||||
.SS Options
|
|
||||||
Below is a summary of all of the options that GNU
|
|
||||||
.I diff
|
|
||||||
accepts.
|
|
||||||
Most options have two equivalent names, one of which is a single letter
|
|
||||||
preceded by
|
|
||||||
.BR \- ,
|
|
||||||
and the other of which is a long name preceded by
|
|
||||||
.BR \-\- .
|
|
||||||
Multiple single letter options (unless they take an
|
|
||||||
argument) can be combined into a single command line word:
|
|
||||||
.B \-ac
|
|
||||||
is
|
|
||||||
equivalent to
|
|
||||||
.BR "\-a \-c" .
|
|
||||||
Long named options can be abbreviated to
|
|
||||||
any unique prefix of their name. Brackets
|
|
||||||
.RB ( [
|
|
||||||
and
|
|
||||||
.BR ] )
|
|
||||||
indicate that an
|
|
||||||
option takes an optional argument.
|
|
||||||
.TP
|
|
||||||
.BI \- lines
|
|
||||||
Show
|
|
||||||
.I lines
|
|
||||||
(an integer) lines of context. This option does not
|
|
||||||
specify an output format by itself; it has no effect unless it is
|
|
||||||
combined with
|
|
||||||
.B \-c
|
|
||||||
or
|
|
||||||
.BR \-u .
|
|
||||||
This option is obsolete. For proper
|
|
||||||
operation,
|
|
||||||
.I patch
|
|
||||||
typically needs at least two lines of context.
|
|
||||||
.TP
|
|
||||||
.B \-a
|
|
||||||
Treat all files as text and compare them line-by-line, even if they
|
|
||||||
do not seem to be text.
|
|
||||||
.TP
|
|
||||||
.B \-b
|
|
||||||
Ignore changes in amount of white space.
|
|
||||||
.TP
|
|
||||||
.B \-B
|
|
||||||
Ignore changes that just insert or delete blank lines.
|
|
||||||
.TP
|
|
||||||
.B \-\-brief
|
|
||||||
Report only whether the files differ, not the details of the
|
|
||||||
differences.
|
|
||||||
.TP
|
|
||||||
.B \-c
|
|
||||||
Use the context output format.
|
|
||||||
.TP
|
|
||||||
.BI "\-C " lines
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.BI \-\-context[= lines ]
|
|
||||||
Use the context output format, showing
|
|
||||||
.I lines
|
|
||||||
(an integer) lines of
|
|
||||||
context, or three if
|
|
||||||
.I lines
|
|
||||||
is not given.
|
|
||||||
For proper operation,
|
|
||||||
.I patch
|
|
||||||
typically needs at least two lines of
|
|
||||||
context.
|
|
||||||
.TP
|
|
||||||
.BI \-\-changed\-group\-format= format
|
|
||||||
Use
|
|
||||||
.I format
|
|
||||||
to output a line group containing differing lines from
|
|
||||||
both files in if-then-else format.
|
|
||||||
.TP
|
|
||||||
.B \-d
|
|
||||||
Change the algorithm to perhaps find a smaller set of changes. This makes
|
|
||||||
.I diff
|
|
||||||
slower (sometimes much slower).
|
|
||||||
.TP
|
|
||||||
.BI "\-D " name
|
|
||||||
Make merged if-then-else format output, conditional on the preprocessor
|
|
||||||
macro
|
|
||||||
.IR name .
|
|
||||||
.TP
|
|
||||||
.B \-e
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.B \-\-ed
|
|
||||||
Make output that is a valid
|
|
||||||
.I ed
|
|
||||||
script.
|
|
||||||
.TP
|
|
||||||
.BI \-\-exclude= pattern
|
|
||||||
When comparing directories, ignore files and subdirectories whose basenames
|
|
||||||
match
|
|
||||||
.IR pattern .
|
|
||||||
.TP
|
|
||||||
.BI \-\-exclude\-from= file
|
|
||||||
When comparing directories, ignore files and subdirectories whose basenames
|
|
||||||
match any pattern contained in
|
|
||||||
.IR file .
|
|
||||||
.TP
|
|
||||||
.B \-\-expand\-tabs
|
|
||||||
Expand tabs to spaces in the output, to preserve the alignment of tabs
|
|
||||||
in the input files.
|
|
||||||
.TP
|
|
||||||
.B \-f
|
|
||||||
Make output that looks vaguely like an
|
|
||||||
.I ed
|
|
||||||
script but has changes
|
|
||||||
in the order they appear in the file.
|
|
||||||
.TP
|
|
||||||
.BI "\-F " regexp
|
|
||||||
In context and unified format, for each hunk of differences, show some
|
|
||||||
of the last preceding line that matches
|
|
||||||
.IR regexp .
|
|
||||||
.TP
|
|
||||||
.B \-\-forward\-ed
|
|
||||||
Make output that looks vaguely like an
|
|
||||||
.B ed
|
|
||||||
script but has changes
|
|
||||||
in the order they appear in the file.
|
|
||||||
.TP
|
|
||||||
.B \-h
|
|
||||||
This option currently has no effect; it is present for Unix
|
|
||||||
compatibility.
|
|
||||||
.TP
|
|
||||||
.B \-H
|
|
||||||
Use heuristics to speed handling of large files that have numerous
|
|
||||||
scattered small changes.
|
|
||||||
.TP
|
|
||||||
.BI \-\-horizon\-lines= lines
|
|
||||||
Do not discard the last
|
|
||||||
.I lines
|
|
||||||
lines of the common prefix
|
|
||||||
and the first
|
|
||||||
.I lines
|
|
||||||
lines of the common suffix.
|
|
||||||
.TP
|
|
||||||
.B \-i
|
|
||||||
Ignore changes in case; consider upper- and lower-case letters
|
|
||||||
equivalent.
|
|
||||||
.TP
|
|
||||||
.BI "\-I " regexp
|
|
||||||
Ignore changes that just insert or delete lines that match
|
|
||||||
.IR regexp .
|
|
||||||
.TP
|
|
||||||
.BI \-\-ifdef= name
|
|
||||||
Make merged if-then-else format output, conditional on the preprocessor
|
|
||||||
macro
|
|
||||||
.IR name .
|
|
||||||
.TP
|
|
||||||
.B \-\-ignore\-all\-space
|
|
||||||
Ignore white space when comparing lines.
|
|
||||||
.TP
|
|
||||||
.B \-\-ignore\-blank\-lines
|
|
||||||
Ignore changes that just insert or delete blank lines.
|
|
||||||
.TP
|
|
||||||
.B \-\-ignore\-case
|
|
||||||
Ignore changes in case; consider upper- and lower-case to be the same.
|
|
||||||
.TP
|
|
||||||
.BI \-\-ignore\-matching\-lines= regexp
|
|
||||||
Ignore changes that just insert or delete lines that match
|
|
||||||
.IR regexp .
|
|
||||||
.TP
|
|
||||||
.B \-\-ignore\-space\-change
|
|
||||||
Ignore changes in amount of white space.
|
|
||||||
.TP
|
|
||||||
.B \-\-initial\-tab
|
|
||||||
Output a tab rather than a space before the text of a line in normal or
|
|
||||||
context format. This causes the alignment of tabs in the line to look
|
|
||||||
normal.
|
|
||||||
.TP
|
|
||||||
.B \-l
|
|
||||||
Pass the output through
|
|
||||||
.I pr
|
|
||||||
to paginate it.
|
|
||||||
.TP
|
|
||||||
.BI "\-L " label
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.BI \-\-label= label
|
|
||||||
Use
|
|
||||||
.I label
|
|
||||||
instead of the file name in the context format
|
|
||||||
and unified format
|
|
||||||
headers.
|
|
||||||
.TP
|
|
||||||
.B \-\-left\-column
|
|
||||||
Print only the left column of two common lines in side by side format.
|
|
||||||
.TP
|
|
||||||
.BI \-\-line\-format= format
|
|
||||||
Use
|
|
||||||
.I format
|
|
||||||
to output all input lines in in-then-else format.
|
|
||||||
.TP
|
|
||||||
.B \-\-minimal
|
|
||||||
Change the algorithm to perhaps find a smaller set of changes. This
|
|
||||||
makes
|
|
||||||
.I diff
|
|
||||||
slower (sometimes much slower).
|
|
||||||
.TP
|
|
||||||
.B \-n
|
|
||||||
Output RCS-format diffs; like
|
|
||||||
.B \-f
|
|
||||||
except that each command
|
|
||||||
specifies the number of lines affected.
|
|
||||||
.TP
|
|
||||||
.B \-N
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.B \-\-new\-file
|
|
||||||
In directory comparison, if a file is found in only one directory,
|
|
||||||
treat it as present but empty in the other directory.
|
|
||||||
.TP
|
|
||||||
.BI \-\-new\-group\-format= format
|
|
||||||
Use
|
|
||||||
.I format
|
|
||||||
to output a group of lines taken from just the second
|
|
||||||
file in if-then-else format.
|
|
||||||
.TP
|
|
||||||
.BI \-\-new\-line\-format= format
|
|
||||||
Use
|
|
||||||
.I format
|
|
||||||
to output a line taken from just the second file in
|
|
||||||
if-then-else format.
|
|
||||||
.TP
|
|
||||||
.BI \-\-old\-group\-format= format
|
|
||||||
Use
|
|
||||||
.I format
|
|
||||||
to output a group of lines taken from just the first
|
|
||||||
file in if-then-else format.
|
|
||||||
.TP
|
|
||||||
.BI \-\-old\-line\-format= format
|
|
||||||
Use
|
|
||||||
.I format
|
|
||||||
to output a line taken from just the first file in
|
|
||||||
if-then-else format.
|
|
||||||
.TP
|
|
||||||
.B \-p
|
|
||||||
Show which C function each change is in.
|
|
||||||
.TP
|
|
||||||
.B \-P
|
|
||||||
When comparing directories, if a file appears only in the second
|
|
||||||
directory of the two, treat it as present but empty in the other.
|
|
||||||
.TP
|
|
||||||
.B \-\-paginate
|
|
||||||
Pass the output through
|
|
||||||
.I pr
|
|
||||||
to paginate it.
|
|
||||||
.TP
|
|
||||||
.B \-q
|
|
||||||
Report only whether the files differ, not the details of the
|
|
||||||
differences.
|
|
||||||
.TP
|
|
||||||
.B \-r
|
|
||||||
When comparing directories, recursively compare any subdirectories
|
|
||||||
found.
|
|
||||||
.TP
|
|
||||||
.B \-\-rcs
|
|
||||||
Output RCS-format diffs; like
|
|
||||||
.B \-f
|
|
||||||
except that each command
|
|
||||||
specifies the number of lines affected.
|
|
||||||
.TP
|
|
||||||
.B \-\-recursive
|
|
||||||
When comparing directories, recursively compare any subdirectories
|
|
||||||
found.
|
|
||||||
.TP
|
|
||||||
.B \-\-report\-identical\-files
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.B \-s
|
|
||||||
Report when two files are the same.
|
|
||||||
.TP
|
|
||||||
.BI "\-S " file
|
|
||||||
When comparing directories, start with the file
|
|
||||||
.IR file .
|
|
||||||
This is
|
|
||||||
used for resuming an aborted comparison.
|
|
||||||
.TP
|
|
||||||
.BI \-\-from\-file= file
|
|
||||||
Compare
|
|
||||||
.I file
|
|
||||||
to all operands.
|
|
||||||
.I file
|
|
||||||
can be a directory.
|
|
||||||
.TP
|
|
||||||
.BI \-\-to\-file= file
|
|
||||||
Compare all operands to
|
|
||||||
.IR file . " file"
|
|
||||||
can be a directory.
|
|
||||||
.TP
|
|
||||||
.B \-\-sdiff\-merge\-assist
|
|
||||||
Print extra information to help
|
|
||||||
.IR sdiff .
|
|
||||||
.I sdiff
|
|
||||||
uses this
|
|
||||||
option when it runs
|
|
||||||
.IR diff .
|
|
||||||
This option is not intended for users
|
|
||||||
to use directly.
|
|
||||||
.TP
|
|
||||||
.B \-\-show\-c\-function
|
|
||||||
Show which C function each change is in.
|
|
||||||
.TP
|
|
||||||
.BI \-\-show\-function\-line= regexp
|
|
||||||
In context and unified format, for each hunk of differences, show some
|
|
||||||
of the last preceding line that matches
|
|
||||||
.IR regexp .
|
|
||||||
.TP
|
|
||||||
.B \-\-side\-by\-side
|
|
||||||
Use the side by side output format.
|
|
||||||
.TP
|
|
||||||
.B \-\-speed\-large\-files
|
|
||||||
Use heuristics to speed handling of large files that have numerous
|
|
||||||
scattered small changes.
|
|
||||||
.TP
|
|
||||||
.BI \-\-starting\-file= file
|
|
||||||
When comparing directories, start with the file
|
|
||||||
.IR file .
|
|
||||||
This is
|
|
||||||
used for resuming an aborted comparison.
|
|
||||||
.TP
|
|
||||||
.B \-\-suppress\-common\-lines
|
|
||||||
Do not print common lines in side by side format.
|
|
||||||
.TP
|
|
||||||
.B \-t
|
|
||||||
Expand tabs to spaces in the output, to preserve the alignment of tabs
|
|
||||||
in the input files.
|
|
||||||
.TP
|
|
||||||
.B \-T
|
|
||||||
Output a tab rather than a space before the text of a line in normal or
|
|
||||||
context format. This causes the alignment of tabs in the line to look
|
|
||||||
normal.
|
|
||||||
.TP
|
|
||||||
.B \-\-text
|
|
||||||
Treat all files as text and compare them line-by-line, even if they
|
|
||||||
do not appear to be text.
|
|
||||||
.TP
|
|
||||||
.B \-u
|
|
||||||
Use the unified output format.
|
|
||||||
.TP
|
|
||||||
.BI \-\-unchanged\-group\-format= format
|
|
||||||
Use
|
|
||||||
.I format
|
|
||||||
to output a group of common lines taken from both files
|
|
||||||
in if-then-else format.
|
|
||||||
.TP
|
|
||||||
.BI \-\-unchanged\-line\-format= format
|
|
||||||
Use
|
|
||||||
.I format
|
|
||||||
to output a line common to both files in if-then-else
|
|
||||||
format.
|
|
||||||
.TP
|
|
||||||
.B \-\-unidirectional\-new\-file
|
|
||||||
When comparing directories, if a file appears only in the second
|
|
||||||
directory of the two, treat it as present but empty in the other.
|
|
||||||
.TP
|
|
||||||
.BI "\-U " lines
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.BI \-\-unified[= lines ]
|
|
||||||
Use the unified output format, showing
|
|
||||||
.I lines
|
|
||||||
(an integer) lines of
|
|
||||||
context, or three if
|
|
||||||
.I lines
|
|
||||||
is not given.
|
|
||||||
For proper operation,
|
|
||||||
.I patch
|
|
||||||
typically needs at least two lines of
|
|
||||||
context.
|
|
||||||
.TP
|
|
||||||
.B \-v
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.B \-\-version
|
|
||||||
Output the version number of
|
|
||||||
.IR diff .
|
|
||||||
.TP
|
|
||||||
.B \-w
|
|
||||||
Ignore white space when comparing lines.
|
|
||||||
.TP
|
|
||||||
.BI "\-W " columns
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.BI \-\-width= columns
|
|
||||||
Use an output width of
|
|
||||||
.I columns
|
|
||||||
in side by side format.
|
|
||||||
.TP
|
|
||||||
.BI "\-x " pattern
|
|
||||||
When comparing directories, ignore files and subdirectories whose basenames
|
|
||||||
match
|
|
||||||
.IR pattern .
|
|
||||||
.TP
|
|
||||||
.BI "\-X " file
|
|
||||||
When comparing directories, ignore files and subdirectories whose basenames
|
|
||||||
match any pattern contained in
|
|
||||||
.IR file .
|
|
||||||
.TP
|
|
||||||
.B \-y
|
|
||||||
Use the side by side output format.
|
|
||||||
.SH SEE ALSO
|
|
||||||
cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).
|
|
||||||
.SH DIAGNOSTICS
|
|
||||||
An exit status of 0 means no differences were found, 1 means some
|
|
||||||
differences were found, and 2 means trouble.
|
|
||||||
210
diff3.1
210
diff3.1
|
|
@ -1,210 +0,0 @@
|
||||||
.TH DIFF3 1 "22sep1993" "GNU Tools" "GNU Tools"
|
|
||||||
.SH NAME
|
|
||||||
diff3 \- find differences between three files
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B diff3
|
|
||||||
[options] mine older yours
|
|
||||||
.SH DESCRIPTION
|
|
||||||
The
|
|
||||||
.I diff3
|
|
||||||
command compares three files and outputs descriptions
|
|
||||||
of their differences.
|
|
||||||
|
|
||||||
The files to compare are
|
|
||||||
.IR mine ,
|
|
||||||
.IR older ,
|
|
||||||
and
|
|
||||||
.IR yours .
|
|
||||||
At most one of these three file names may be
|
|
||||||
.BR \- ,
|
|
||||||
which tells
|
|
||||||
.I diff3
|
|
||||||
to read the standard input for that file.
|
|
||||||
.SS Options
|
|
||||||
Below is a summary of all of the options that GNU
|
|
||||||
.I diff3
|
|
||||||
accepts. Multiple single letter options (unless they take an argument)
|
|
||||||
can be combined into a single command line argument.
|
|
||||||
.TP
|
|
||||||
.B \-a
|
|
||||||
Treat all files as text and compare them line-by-line, even if they
|
|
||||||
do not appear to be text.
|
|
||||||
.TP
|
|
||||||
.B \-A
|
|
||||||
Incorporate all changes from
|
|
||||||
.I older
|
|
||||||
to
|
|
||||||
.I yours
|
|
||||||
into
|
|
||||||
.IR mine ,
|
|
||||||
surrounding all conflicts with bracket lines.
|
|
||||||
.TP
|
|
||||||
.B \-B
|
|
||||||
Old behavior of -A. Shows non-conflicts.
|
|
||||||
.TP
|
|
||||||
.B \-e
|
|
||||||
Generate an
|
|
||||||
.I ed
|
|
||||||
script that incorporates all the changes from
|
|
||||||
.I older
|
|
||||||
to
|
|
||||||
.I yours
|
|
||||||
into
|
|
||||||
.IR mine .
|
|
||||||
.TP
|
|
||||||
.B \-E
|
|
||||||
Like
|
|
||||||
.BR \-e ,
|
|
||||||
except bracket lines from overlapping changes' first
|
|
||||||
and third files.
|
|
||||||
With
|
|
||||||
.BR \-e ,
|
|
||||||
an overlapping change looks like this:
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
<<<<<<< \fImine\fP
|
|
||||||
lines from \fImine\fP
|
|
||||||
=======
|
|
||||||
lines from \fIyours\fP
|
|
||||||
>>>>>>> \fIyours\fP
|
|
||||||
.fi
|
|
||||||
.TP
|
|
||||||
.B \-\-ed
|
|
||||||
Generate an
|
|
||||||
.I ed
|
|
||||||
script that incorporates all the changes from
|
|
||||||
.I older
|
|
||||||
to
|
|
||||||
.I yours
|
|
||||||
into
|
|
||||||
.IR mine .
|
|
||||||
.TP
|
|
||||||
.B \-\-easy\-only
|
|
||||||
Like
|
|
||||||
.BR \-e ,
|
|
||||||
except output only the nonoverlapping changes.
|
|
||||||
.TP
|
|
||||||
.B \-i
|
|
||||||
Generate
|
|
||||||
.B w
|
|
||||||
and
|
|
||||||
.B q
|
|
||||||
commands at the end of the
|
|
||||||
.I ed
|
|
||||||
script for System V compatibility. This option must be combined with
|
|
||||||
one of the
|
|
||||||
.B \-AeExX3
|
|
||||||
options, and may not be combined with
|
|
||||||
.BR \-m .
|
|
||||||
.TP
|
|
||||||
.B \-\-initial\-tab
|
|
||||||
Output a tab rather than two spaces before the text of a line in normal format.
|
|
||||||
This causes the alignment of tabs in the line to look normal.
|
|
||||||
.TP
|
|
||||||
.BI "\-L " label
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.BI \-\-label= label
|
|
||||||
Use the label
|
|
||||||
.I label
|
|
||||||
for the brackets output by the
|
|
||||||
.BR \-A ,
|
|
||||||
.B \-E
|
|
||||||
and
|
|
||||||
.B \-X
|
|
||||||
options. This option may be given up to three
|
|
||||||
times, one for each input file. The default labels are the names of
|
|
||||||
the input files. Thus
|
|
||||||
.B "diff3 \-L X \-L Y \-L Z \-m A B C"
|
|
||||||
acts like
|
|
||||||
.BR "diff3 \-m A B C ,
|
|
||||||
except that the output looks like it came from
|
|
||||||
files named
|
|
||||||
.BR X ,
|
|
||||||
.B Y
|
|
||||||
and
|
|
||||||
.B Z
|
|
||||||
rather than from files
|
|
||||||
named
|
|
||||||
.BR A ,
|
|
||||||
.B B
|
|
||||||
and
|
|
||||||
.BR C .
|
|
||||||
.TP
|
|
||||||
.B \-m
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.B \-\-merge
|
|
||||||
Apply the edit script to the first file and send the result to standard
|
|
||||||
output. Unlike piping the output from
|
|
||||||
.I diff3
|
|
||||||
to
|
|
||||||
.IR ed ,
|
|
||||||
this
|
|
||||||
works even for binary files and incomplete lines.
|
|
||||||
.B \-A
|
|
||||||
is assumed
|
|
||||||
if no edit script option is specified.
|
|
||||||
.TP
|
|
||||||
.B \-\-overlap\-only
|
|
||||||
Like
|
|
||||||
.BR \-e ,
|
|
||||||
except output only the overlapping changes.
|
|
||||||
.TP
|
|
||||||
.B \-\-show\-all
|
|
||||||
Incorporate all unmerged changes from
|
|
||||||
.I older
|
|
||||||
to
|
|
||||||
.I yours
|
|
||||||
into
|
|
||||||
.IR mine ,
|
|
||||||
surrounding all overlapping changes with bracket lines.
|
|
||||||
.TP
|
|
||||||
.B \-\-show\-overlap
|
|
||||||
Like
|
|
||||||
.BR \-e ,
|
|
||||||
except bracket lines from overlapping changes' first
|
|
||||||
and third files.
|
|
||||||
.TP
|
|
||||||
.B \-T
|
|
||||||
Output a tab rather than two spaces before the text of a line in normal format.
|
|
||||||
This causes the alignment of tabs in the line to look normal.
|
|
||||||
.TP
|
|
||||||
.B \-\-text
|
|
||||||
Treat all files as text and compare them line-by-line, even if they
|
|
||||||
do not appear to be text.
|
|
||||||
.TP
|
|
||||||
.B \-v
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.B \-\-version
|
|
||||||
Output the version number of
|
|
||||||
.IR diff3 .
|
|
||||||
.TP
|
|
||||||
.B \-x
|
|
||||||
Like
|
|
||||||
.BR \-e ,
|
|
||||||
except output only the overlapping changes.
|
|
||||||
.TP
|
|
||||||
.B \-X
|
|
||||||
Like
|
|
||||||
.BR \-E ,
|
|
||||||
except output only the overlapping changes.
|
|
||||||
In other words, like
|
|
||||||
.BR \-x ,
|
|
||||||
except bracket changes as in
|
|
||||||
.BR \-E .
|
|
||||||
.TP
|
|
||||||
.B \-3
|
|
||||||
Like
|
|
||||||
.BR \-e ,
|
|
||||||
except output only the nonoverlapping changes.
|
|
||||||
.SH SEE ALSO
|
|
||||||
cmp(1), comm(1), diff(1), ed(1), patch(1), sdiff(1).
|
|
||||||
.SH DIAGNOSTICS
|
|
||||||
An exit status of 0 means
|
|
||||||
.I diff3
|
|
||||||
was successful, 1 means some
|
|
||||||
conflicts were found, and 2 means trouble.
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
--- diffutils-2.8.1/src/analyze.c.badc 2004-01-08 10:05:59.094598972 +0000
|
|
||||||
+++ diffutils-2.8.1/src/analyze.c 2004-01-08 10:06:22.294841900 +0000
|
|
||||||
@@ -983,7 +983,7 @@
|
|
||||||
changes = briefly_report (changes, cmp->file);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- if (changes | !no_diff_means_no_output)
|
|
||||||
+ if (changes || !no_diff_means_no_output)
|
|
||||||
{
|
|
||||||
/* Record info for starting up output,
|
|
||||||
to be used if and when we have some output to print. */
|
|
||||||
|
|
@ -1,806 +0,0 @@
|
||||||
--- diffutils-2.8.1/src/diff.c.i18n 2002-03-24 07:35:28.000000000 +0000
|
|
||||||
+++ diffutils-2.8.1/src/diff.c 2007-08-14 10:39:40.000000000 +0100
|
|
||||||
@@ -273,6 +273,13 @@
|
|
||||||
re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING);
|
|
||||||
excluded = new_exclude ();
|
|
||||||
|
|
||||||
+#ifdef HANDLE_MULTIBYTE
|
|
||||||
+ if (MB_CUR_MAX > 1)
|
|
||||||
+ lines_differ = lines_differ_multibyte;
|
|
||||||
+ else
|
|
||||||
+#endif
|
|
||||||
+ lines_differ = lines_differ_singlebyte;
|
|
||||||
+
|
|
||||||
/* Decode the options. */
|
|
||||||
|
|
||||||
while ((c = getopt_long (argc, argv, shortopts, longopts, 0)) != -1)
|
|
||||||
--- diffutils-2.8.1/src/diff.h.i18n 2002-03-11 21:24:42.000000000 +0000
|
|
||||||
+++ diffutils-2.8.1/src/diff.h 2007-08-14 10:41:21.000000000 +0100
|
|
||||||
@@ -25,6 +25,19 @@
|
|
||||||
|
|
||||||
#define TAB_WIDTH 8
|
|
||||||
|
|
||||||
+/* For platform which support the ISO C amendement 1 functionality we
|
|
||||||
+ support user defined character classes. */
|
|
||||||
+#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H
|
|
||||||
+/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
|
|
||||||
+# include <wchar.h>
|
|
||||||
+# include <wctype.h>
|
|
||||||
+# if defined (HAVE_MBRTOWC)
|
|
||||||
+# define HANDLE_MULTIBYTE 1
|
|
||||||
+# endif
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#define TAB_WIDTH 8
|
|
||||||
+
|
|
||||||
/* What kind of changes a hunk contains. */
|
|
||||||
enum changes
|
|
||||||
{
|
|
||||||
@@ -349,7 +362,13 @@
|
|
||||||
extern char const pr_program[];
|
|
||||||
char *concat (char const *, char const *, char const *);
|
|
||||||
char *dir_file_pathname (char const *, char const *);
|
|
||||||
-bool lines_differ (char const *, char const *);
|
|
||||||
+
|
|
||||||
+bool (*lines_differ) (char const *, size_t, char const *, size_t);
|
|
||||||
+bool lines_differ_singlebyte (char const *, size_t, char const *, size_t);
|
|
||||||
+#ifdef HANDLE_MULTIBYTE
|
|
||||||
+bool lines_differ_multibyte (char const *, size_t, char const *, size_t);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
lin translate_line_number (struct file_data const *, lin);
|
|
||||||
struct change *find_change (struct change *);
|
|
||||||
struct change *find_reverse_change (struct change *);
|
|
||||||
--- diffutils-2.8.1/src/io.c.i18n 2002-03-25 04:58:36.000000000 +0000
|
|
||||||
+++ diffutils-2.8.1/src/io.c 2007-08-14 10:40:05.000000000 +0100
|
|
||||||
@@ -25,6 +25,7 @@
|
|
||||||
#include <regex.h>
|
|
||||||
#include <setmode.h>
|
|
||||||
#include <xalloc.h>
|
|
||||||
+#include <assert.h>
|
|
||||||
|
|
||||||
/* Rotate an unsigned value to the left. */
|
|
||||||
#define ROL(v, n) ((v) << (n) | (v) >> (sizeof (v) * CHAR_BIT - (n)))
|
|
||||||
@@ -212,6 +213,28 @@
|
|
||||||
|
|
||||||
/* Split the file into lines, simultaneously computing the equivalence
|
|
||||||
class for each line. */
|
|
||||||
+#ifdef HANDLE_MULTIBYTE
|
|
||||||
+# define MBC2WC(P, END, MBLENGTH, WC, STATE, CONVFAIL) \
|
|
||||||
+do \
|
|
||||||
+{ \
|
|
||||||
+ mbstate_t state_bak = STATE; \
|
|
||||||
+ \
|
|
||||||
+ CONVFAIL = 0; \
|
|
||||||
+ MBLENGTH = mbrtowc (&WC, P, END - (char const *)P, &STATE); \
|
|
||||||
+ \
|
|
||||||
+ switch (MBLENGTH) \
|
|
||||||
+ { \
|
|
||||||
+ case (size_t)-2: \
|
|
||||||
+ case (size_t)-1: \
|
|
||||||
+ STATE = state_bak; \
|
|
||||||
+ ++CONVFAIL; \
|
|
||||||
+ /* Fall through. */ \
|
|
||||||
+ case 0: \
|
|
||||||
+ MBLENGTH = 1; \
|
|
||||||
+ } \
|
|
||||||
+} \
|
|
||||||
+while (0)
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
static void
|
|
||||||
find_and_hash_each_line (struct file_data *current)
|
|
||||||
@@ -238,12 +261,280 @@
|
|
||||||
bool same_length_diff_contents_compare_anyway =
|
|
||||||
diff_length_compare_anyway | ignore_case;
|
|
||||||
|
|
||||||
+#ifdef HANDLE_MULTIBYTE
|
|
||||||
+ wchar_t wc;
|
|
||||||
+ size_t mblength;
|
|
||||||
+ mbstate_t state;
|
|
||||||
+ int convfail;
|
|
||||||
+
|
|
||||||
+ memset (&state, '\0', sizeof (mbstate_t));
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
while ((char const *) p < suffix_begin)
|
|
||||||
{
|
|
||||||
char const *ip = (char const *) p;
|
|
||||||
|
|
||||||
h = 0;
|
|
||||||
+#ifdef HANDLE_MULTIBYTE
|
|
||||||
+ if (MB_CUR_MAX > 1)
|
|
||||||
+ {
|
|
||||||
+ wchar_t lo_wc;
|
|
||||||
+ char mbc[MB_LEN_MAX];
|
|
||||||
+ mbstate_t state_wc;
|
|
||||||
+
|
|
||||||
+ /* Hash this line until we find a newline. */
|
|
||||||
+ switch (ignore_white_space)
|
|
||||||
+ {
|
|
||||||
+ case IGNORE_ALL_SPACE:
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ if (*p == '\n')
|
|
||||||
+ {
|
|
||||||
+ ++p;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
|
|
||||||
+
|
|
||||||
+ if (convfail)
|
|
||||||
+ mbc[0] = *p++;
|
|
||||||
+ else if (!iswspace (wc))
|
|
||||||
+ {
|
|
||||||
+ bool flag = 0;
|
|
||||||
+
|
|
||||||
+ if (ignore_case)
|
|
||||||
+ {
|
|
||||||
+ lo_wc = towlower (wc);
|
|
||||||
+ if (lo_wc != wc)
|
|
||||||
+ {
|
|
||||||
+ flag = 1;
|
|
||||||
+
|
|
||||||
+ p += mblength;
|
|
||||||
+ memset (&state_wc, '\0', sizeof(mbstate_t));
|
|
||||||
+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
|
|
||||||
+
|
|
||||||
+ assert (mblength != (size_t)-1 &&
|
|
||||||
+ mblength != (size_t)-2);
|
|
||||||
+
|
|
||||||
+ mblength = (mblength < 1) ? 1 : mblength;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!flag)
|
|
||||||
+ {
|
|
||||||
+ for (i = 0; i < mblength; i++)
|
|
||||||
+ mbc[i] = *p++;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ p += mblength;
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ for (i = 0; i < mblength; i++)
|
|
||||||
+ h = HASH (h, mbc[i]);
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case IGNORE_SPACE_CHANGE:
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ if (*p == '\n')
|
|
||||||
+ {
|
|
||||||
+ ++p;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
|
|
||||||
+
|
|
||||||
+ if (!convfail && iswspace (wc))
|
|
||||||
+ {
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ if (*p == '\n')
|
|
||||||
+ {
|
|
||||||
+ ++p;
|
|
||||||
+ goto hashing_done;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ p += mblength;
|
|
||||||
+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
|
|
||||||
+ if (convfail || (!convfail && !iswspace (wc)))
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ h = HASH (h, ' ');
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* WC is now the first non-space. */
|
|
||||||
+ if (convfail)
|
|
||||||
+ mbc[0] = *p++;
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ bool flag = 0;
|
|
||||||
+
|
|
||||||
+ if (ignore_case)
|
|
||||||
+ {
|
|
||||||
+ lo_wc = towlower (wc);
|
|
||||||
+ if (lo_wc != wc)
|
|
||||||
+ {
|
|
||||||
+ flag = 1;
|
|
||||||
+
|
|
||||||
+ p += mblength;
|
|
||||||
+ memset (&state_wc, '\0', sizeof(mbstate_t));
|
|
||||||
+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
|
|
||||||
+
|
|
||||||
+ assert (mblength != (size_t)-1 &&
|
|
||||||
+ mblength != (size_t)-2);
|
|
||||||
+
|
|
||||||
+ mblength = (mblength < 1) ? 1 : mblength;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!flag)
|
|
||||||
+ {
|
|
||||||
+ for (i = 0; i < mblength; i++)
|
|
||||||
+ mbc[i] = *p++;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ for (i = 0; i < mblength; i++)
|
|
||||||
+ h = HASH (h, mbc[i]);
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case IGNORE_TAB_EXPANSION:
|
|
||||||
+ {
|
|
||||||
+ size_t column = 0;
|
|
||||||
+
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ if (*p == '\n')
|
|
||||||
+ {
|
|
||||||
+ ++p;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
|
|
||||||
+
|
|
||||||
+ if (convfail)
|
|
||||||
+ {
|
|
||||||
+ h = HASH (h, *p++);
|
|
||||||
+ ++column;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ bool flag;
|
|
||||||
+
|
|
||||||
+ switch (wc)
|
|
||||||
+ {
|
|
||||||
+ case L'\b':
|
|
||||||
+ column -= 0 < column;
|
|
||||||
+ h = HASH (h, '\b');
|
|
||||||
+ ++p;
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case L'\t':
|
|
||||||
+ {
|
|
||||||
+ int repetitions;
|
|
||||||
+
|
|
||||||
+ repetitions = TAB_WIDTH - column % TAB_WIDTH;
|
|
||||||
+ column += repetitions;
|
|
||||||
+ do
|
|
||||||
+ h = HASH (h, ' ');
|
|
||||||
+ while (--repetitions != 0);
|
|
||||||
+ ++p;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case L'\r':
|
|
||||||
+ column = 0;
|
|
||||||
+ h = HASH (h, '\r');
|
|
||||||
+ ++p;
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ default:
|
|
||||||
+ flag = 0;
|
|
||||||
+ column += wcwidth (wc);
|
|
||||||
+ if (ignore_case)
|
|
||||||
+ {
|
|
||||||
+ lo_wc = towlower (wc);
|
|
||||||
+ if (lo_wc != wc)
|
|
||||||
+ {
|
|
||||||
+ flag = 1;
|
|
||||||
+ p += mblength;
|
|
||||||
+ memset (&state_wc, '\0', sizeof(mbstate_t));
|
|
||||||
+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
|
|
||||||
+
|
|
||||||
+ assert (mblength != (size_t)-1 &&
|
|
||||||
+ mblength != (size_t)-2);
|
|
||||||
+
|
|
||||||
+ mblength = (mblength < 1) ? 1 : mblength;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!flag)
|
|
||||||
+ {
|
|
||||||
+ for (i = 0; i < mblength; i++)
|
|
||||||
+ mbc[i] = *p++;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ for (i = 0; i < mblength; i++)
|
|
||||||
+ h = HASH (h, mbc[i]);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ default:
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ if (*p == '\n')
|
|
||||||
+ {
|
|
||||||
+ ++p;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
|
|
||||||
+
|
|
||||||
+ if (convfail)
|
|
||||||
+ mbc[0] = *p++;
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ int flag = 0;
|
|
||||||
+
|
|
||||||
+ if (ignore_case)
|
|
||||||
+ {
|
|
||||||
+ lo_wc = towlower (wc);
|
|
||||||
+ if (lo_wc != wc)
|
|
||||||
+ {
|
|
||||||
+ flag = 1;
|
|
||||||
+ p += mblength;
|
|
||||||
+ memset (&state_wc, '\0', sizeof(mbstate_t));
|
|
||||||
+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
|
|
||||||
+
|
|
||||||
+ assert (mblength != (size_t)-1 &&
|
|
||||||
+ mblength != (size_t)-2);
|
|
||||||
+
|
|
||||||
+ mblength = (mblength < 1) ? 1 : mblength;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!flag)
|
|
||||||
+ {
|
|
||||||
+ for (i = 0; i < mblength; i++)
|
|
||||||
+ mbc[i] = *p++;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ for (i = 0; i < mblength; i++)
|
|
||||||
+ h = HASH (h, mbc[i]);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+#endif
|
|
||||||
/* Hash this line until we find a newline. */
|
|
||||||
if (ignore_case)
|
|
||||||
switch (ignore_white_space)
|
|
||||||
@@ -438,7 +729,7 @@
|
|
||||||
else if (!diff_length_compare_anyway)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- if (! lines_differ (eqline, ip))
|
|
||||||
+ if (! lines_differ (eqline, eqs[i].length + 1, ip, length + 1))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- diffutils-2.8.1/src/side.c.i18n 2002-02-07 18:17:04.000000000 +0000
|
|
||||||
+++ diffutils-2.8.1/src/side.c 2007-08-14 10:39:40.000000000 +0100
|
|
||||||
@@ -74,11 +74,72 @@
|
|
||||||
register unsigned int out_position = 0;
|
|
||||||
register char const *text_pointer = line[0];
|
|
||||||
register char const *text_limit = line[1];
|
|
||||||
+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
|
|
||||||
+ unsigned char mbc[MB_LEN_MAX];
|
|
||||||
+ wchar_t wc;
|
|
||||||
+ mbstate_t state, state_bak;
|
|
||||||
+ size_t mbc_pos, mblength;
|
|
||||||
+ int mbc_loading_flag = 0;
|
|
||||||
+ int wc_width;
|
|
||||||
+
|
|
||||||
+ memset (&state, '\0', sizeof (mbstate_t));
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
while (text_pointer < text_limit)
|
|
||||||
{
|
|
||||||
register unsigned char c = *text_pointer++;
|
|
||||||
|
|
||||||
+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
|
|
||||||
+ if (MB_CUR_MAX > 1 && mbc_loading_flag)
|
|
||||||
+ {
|
|
||||||
+ mbc_loading_flag = 0;
|
|
||||||
+ state_bak = state;
|
|
||||||
+ mbc[mbc_pos++] = c;
|
|
||||||
+
|
|
||||||
+process_mbc:
|
|
||||||
+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
|
|
||||||
+
|
|
||||||
+ switch (mblength)
|
|
||||||
+ {
|
|
||||||
+ case (size_t)-2: /* Incomplete multibyte character. */
|
|
||||||
+ mbc_loading_flag = 1;
|
|
||||||
+ state = state_bak;
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case (size_t)-1: /* Invalid as a multibyte character. */
|
|
||||||
+ if (in_position++ < out_bound)
|
|
||||||
+ {
|
|
||||||
+ out_position = in_position;
|
|
||||||
+ putc (mbc[0], out);
|
|
||||||
+ }
|
|
||||||
+ memmove (mbc, mbc + 1, --mbc_pos);
|
|
||||||
+ if (mbc_pos > 0)
|
|
||||||
+ {
|
|
||||||
+ mbc[mbc_pos] = '\0';
|
|
||||||
+ goto process_mbc;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ default:
|
|
||||||
+ wc_width = wcwidth (wc);
|
|
||||||
+ if (wc_width < 1) /* Unprintable multibyte character. */
|
|
||||||
+ {
|
|
||||||
+ if (in_position <= out_bound)
|
|
||||||
+ fprintf (out, "%lc", (wint_t)wc);
|
|
||||||
+ }
|
|
||||||
+ else /* Printable multibyte character. */
|
|
||||||
+ {
|
|
||||||
+ in_position += wc_width;
|
|
||||||
+ if (in_position <= out_bound)
|
|
||||||
+ {
|
|
||||||
+ out_position = in_position;
|
|
||||||
+ fprintf (out, "%lc", (wint_t)wc);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
case '\t':
|
|
||||||
@@ -136,8 +197,39 @@
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
- if (! ISPRINT (c))
|
|
||||||
- goto control_char;
|
|
||||||
+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
|
|
||||||
+ if (MB_CUR_MAX > 1)
|
|
||||||
+ {
|
|
||||||
+ memset (mbc, '\0', MB_LEN_MAX);
|
|
||||||
+ mbc_pos = 0;
|
|
||||||
+ mbc[mbc_pos++] = c;
|
|
||||||
+ state_bak = state;
|
|
||||||
+
|
|
||||||
+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
|
|
||||||
+
|
|
||||||
+ /* The value of mblength is always less than 2 here. */
|
|
||||||
+ switch (mblength)
|
|
||||||
+ {
|
|
||||||
+ case (size_t)-2: /* Incomplete multibyte character. */
|
|
||||||
+ state = state_bak;
|
|
||||||
+ mbc_loading_flag = 1;
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ case (size_t)-1: /* Invalid as a multibyte character. */
|
|
||||||
+ state = state_bak;
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ default:
|
|
||||||
+ if (! iswprint (wc))
|
|
||||||
+ goto control_char;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+#endif
|
|
||||||
+ {
|
|
||||||
+ if (! ISPRINT (c))
|
|
||||||
+ goto control_char;
|
|
||||||
+ }
|
|
||||||
/* falls through */
|
|
||||||
case ' ':
|
|
||||||
if (in_position++ < out_bound)
|
|
||||||
--- diffutils-2.8.1/src/util.c.i18n 2002-02-28 04:23:10.000000000 +0000
|
|
||||||
+++ diffutils-2.8.1/src/util.c 2007-08-14 10:42:19.000000000 +0100
|
|
||||||
@@ -312,7 +312,8 @@
|
|
||||||
Return nonzero if the lines differ. */
|
|
||||||
|
|
||||||
bool
|
|
||||||
-lines_differ (char const *s1, char const *s2)
|
|
||||||
+lines_differ_singlebyte (char const *s1, size_t s1len,
|
|
||||||
+ char const *s2, size_t s2len)
|
|
||||||
{
|
|
||||||
register unsigned char const *t1 = (unsigned char const *) s1;
|
|
||||||
register unsigned char const *t2 = (unsigned char const *) s2;
|
|
||||||
@@ -441,6 +442,294 @@
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+#ifdef HANDLE_MULTIBYTE
|
|
||||||
+# define MBC2WC(T, END, MBLENGTH, WC, STATE, CONVFAIL) \
|
|
||||||
+do \
|
|
||||||
+{ \
|
|
||||||
+ mbstate_t bak = STATE; \
|
|
||||||
+ \
|
|
||||||
+ CONVFAIL = 0; \
|
|
||||||
+ MBLENGTH = mbrtowc (&WC, T, END - T, &STATE); \
|
|
||||||
+ \
|
|
||||||
+ switch (MBLENGTH) \
|
|
||||||
+ { \
|
|
||||||
+ case (size_t)-2: \
|
|
||||||
+ case (size_t)-1: \
|
|
||||||
+ STATE = bak; \
|
|
||||||
+ ++CONVFAIL; \
|
|
||||||
+ /* Fall through. */ \
|
|
||||||
+ case 0: \
|
|
||||||
+ MBLENGTH = 1; \
|
|
||||||
+ } \
|
|
||||||
+} \
|
|
||||||
+while (0)
|
|
||||||
+
|
|
||||||
+bool
|
|
||||||
+lines_differ_multibyte (char const *s1, size_t s1len,
|
|
||||||
+ char const *s2, size_t s2len)
|
|
||||||
+{
|
|
||||||
+ unsigned char const *end1, *end2;
|
|
||||||
+ unsigned char c1, c2;
|
|
||||||
+ wchar_t wc1, wc2, wc1_bak, wc2_bak;
|
|
||||||
+ size_t mblen1, mblen2;
|
|
||||||
+ mbstate_t state1, state2, state1_bak, state2_bak;
|
|
||||||
+ int convfail1, convfail2, convfail1_bak, convfail2_bak;
|
|
||||||
+
|
|
||||||
+ unsigned char const *t1 = (unsigned char const *) s1;
|
|
||||||
+ unsigned char const *t2 = (unsigned char const *) s2;
|
|
||||||
+ unsigned char const *t1_bak, *t2_bak;
|
|
||||||
+ size_t column = 0;
|
|
||||||
+
|
|
||||||
+ if (ignore_white_space == IGNORE_NO_WHITE_SPACE && !ignore_case)
|
|
||||||
+ {
|
|
||||||
+ while (*t1 != '\n')
|
|
||||||
+ if (*t1++ != * t2++)
|
|
||||||
+ return 1;
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ memset (&state1, '\0', sizeof (mbstate_t));
|
|
||||||
+ memset (&state2, '\0', sizeof (mbstate_t));
|
|
||||||
+
|
|
||||||
+ end1 = s1 + s1len;
|
|
||||||
+ end2 = s2 + s2len;
|
|
||||||
+
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ c1 = *t1;
|
|
||||||
+ c2 = *t2;
|
|
||||||
+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
|
|
||||||
+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
|
|
||||||
+
|
|
||||||
+ /* Test for exact char equality first, since it's a common case. */
|
|
||||||
+ if (convfail1 ^ convfail2)
|
|
||||||
+ break;
|
|
||||||
+ else if (convfail1 && convfail2 && c1 != c2)
|
|
||||||
+ break;
|
|
||||||
+ else if (!convfail1 && !convfail2 && wc1 != wc2)
|
|
||||||
+ {
|
|
||||||
+ switch (ignore_white_space)
|
|
||||||
+ {
|
|
||||||
+ case IGNORE_ALL_SPACE:
|
|
||||||
+ /* For -w, just skip past any white space. */
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ if (convfail1)
|
|
||||||
+ break;
|
|
||||||
+ else if (wc1 == L'\n' || !iswspace (wc1))
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ t1 += mblen1;
|
|
||||||
+ c1 = *t1;
|
|
||||||
+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ if (convfail2)
|
|
||||||
+ break;
|
|
||||||
+ else if (wc2 == L'\n' || !iswspace (wc2))
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ t2 += mblen2;
|
|
||||||
+ c2 = *t2;
|
|
||||||
+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
|
|
||||||
+ }
|
|
||||||
+ t1 += mblen1;
|
|
||||||
+ t2 += mblen2;
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case IGNORE_SPACE_CHANGE:
|
|
||||||
+ /* For -b, advance past any sequence of white space in
|
|
||||||
+ line 1 and consider it just one space, or nothing at
|
|
||||||
+ all if it is at the end of the line. */
|
|
||||||
+ if (wc1 != L'\n' && iswspace (wc1))
|
|
||||||
+ {
|
|
||||||
+ size_t mblen_bak;
|
|
||||||
+ mbstate_t state_bak;
|
|
||||||
+
|
|
||||||
+ do
|
|
||||||
+ {
|
|
||||||
+ t1 += mblen1;
|
|
||||||
+ mblen_bak = mblen1;
|
|
||||||
+ state_bak = state1;
|
|
||||||
+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
|
|
||||||
+ }
|
|
||||||
+ while (!convfail1 && (wc1 != L'\n' && iswspace (wc1)));
|
|
||||||
+
|
|
||||||
+ state1 = state_bak;
|
|
||||||
+ mblen1 = mblen_bak;
|
|
||||||
+ t1 -= mblen1;
|
|
||||||
+ convfail1 = 0;
|
|
||||||
+ wc1 = L' ';
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* Likewise for line 2. */
|
|
||||||
+ if (wc2 != L'\n' && iswspace (wc2))
|
|
||||||
+ {
|
|
||||||
+ size_t mblen_bak;
|
|
||||||
+ mbstate_t state_bak;
|
|
||||||
+
|
|
||||||
+ do
|
|
||||||
+ {
|
|
||||||
+ t2 += mblen2;
|
|
||||||
+ mblen_bak = mblen2;
|
|
||||||
+ state_bak = state2;
|
|
||||||
+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
|
|
||||||
+ }
|
|
||||||
+ while (!convfail2 && (wc2 != L'\n' && iswspace (wc2)));
|
|
||||||
+
|
|
||||||
+ state2 = state_bak;
|
|
||||||
+ mblen2 = mblen_bak;
|
|
||||||
+ t2 -= mblen2;
|
|
||||||
+ convfail2 = 0;
|
|
||||||
+ wc2 = L' ';
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (wc1 != wc2)
|
|
||||||
+ {
|
|
||||||
+ if (wc2 == L' ' && wc1 != L'\n' &&
|
|
||||||
+ t1 > (unsigned char const *)s1 &&
|
|
||||||
+ !convfail1_bak && iswspace (wc1_bak))
|
|
||||||
+ {
|
|
||||||
+ t1 = t1_bak;
|
|
||||||
+ wc1 = wc1_bak;
|
|
||||||
+ state1 = state1_bak;
|
|
||||||
+ convfail1 = convfail1_bak;
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+ if (wc1 == L' ' && wc2 != L'\n'
|
|
||||||
+ && t2 > (unsigned char const *)s2
|
|
||||||
+ && !convfail2_bak && iswspace (wc2_bak))
|
|
||||||
+ {
|
|
||||||
+ t2 = t2_bak;
|
|
||||||
+ wc2 = wc2_bak;
|
|
||||||
+ state2 = state2_bak;
|
|
||||||
+ convfail2 = convfail2_bak;
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ t1_bak = t1; t2_bak = t2;
|
|
||||||
+ wc1_bak = wc1; wc2_bak = wc2;
|
|
||||||
+ state1_bak = state1; state2_bak = state2;
|
|
||||||
+ convfail1_bak = convfail1; convfail2_bak = convfail2;
|
|
||||||
+
|
|
||||||
+ if (wc1 == L'\n')
|
|
||||||
+ wc1 = L' ';
|
|
||||||
+ else
|
|
||||||
+ t1 += mblen1;
|
|
||||||
+
|
|
||||||
+ if (wc2 == L'\n')
|
|
||||||
+ wc2 = L' ';
|
|
||||||
+ else
|
|
||||||
+ t2 += mblen2;
|
|
||||||
+
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case IGNORE_TAB_EXPANSION:
|
|
||||||
+ if ((wc1 == L' ' && wc2 == L'\t')
|
|
||||||
+ || (wc1 == L'\t' && wc2 == L' '))
|
|
||||||
+ {
|
|
||||||
+ size_t column2 = column;
|
|
||||||
+
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ if (convfail1)
|
|
||||||
+ {
|
|
||||||
+ ++t1;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ else if (wc1 == L' ')
|
|
||||||
+ column++;
|
|
||||||
+ else if (wc1 == L'\t')
|
|
||||||
+ column += TAB_WIDTH - column % TAB_WIDTH;
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ t1 += mblen1;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ t1 += mblen1;
|
|
||||||
+ c1 = *t1;
|
|
||||||
+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ if (convfail2)
|
|
||||||
+ {
|
|
||||||
+ ++t2;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ else if (wc2 == L' ')
|
|
||||||
+ column2++;
|
|
||||||
+ else if (wc2 == L'\t')
|
|
||||||
+ column2 += TAB_WIDTH - column2 % TAB_WIDTH;
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ t2 += mblen2;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ t2 += mblen2;
|
|
||||||
+ c2 = *t2;
|
|
||||||
+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (column != column2)
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ t1 += mblen1;
|
|
||||||
+ t2 += mblen2;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case IGNORE_NO_WHITE_SPACE:
|
|
||||||
+ t1 += mblen1;
|
|
||||||
+ t2 += mblen2;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* Lowercase all letters if -i is specified. */
|
|
||||||
+ if (ignore_case)
|
|
||||||
+ {
|
|
||||||
+ if (!convfail1)
|
|
||||||
+ wc1 = towlower (wc1);
|
|
||||||
+ if (!convfail2)
|
|
||||||
+ wc2 = towlower (wc2);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (convfail1 ^ convfail2)
|
|
||||||
+ break;
|
|
||||||
+ else if (convfail1 && convfail2 && c1 != c2)
|
|
||||||
+ break;
|
|
||||||
+ else if (!convfail1 && !convfail2 && wc1 != wc2)
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ t1_bak = t1; t2_bak = t2;
|
|
||||||
+ wc1_bak = wc1; wc2_bak = wc2;
|
|
||||||
+ state1_bak = state1; state2_bak = state2;
|
|
||||||
+ convfail1_bak = convfail1; convfail2_bak = convfail2;
|
|
||||||
+
|
|
||||||
+ t1 += mblen1; t2 += mblen2;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!convfail1 && wc1 == L'\n')
|
|
||||||
+ return 0;
|
|
||||||
+
|
|
||||||
+ column += convfail1 ? 1 :
|
|
||||||
+ (wc1 == L'\t') ? TAB_WIDTH - column % TAB_WIDTH : wcwidth (wc1);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return 1;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* Find the consecutive changes at the start of the script START.
|
|
||||||
Return the last link before the first gap. */
|
|
||||||
30
diffutils-3.12-cross-compiler-build-fail.patch
Normal file
30
diffutils-3.12-cross-compiler-build-fail.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
From d9083a4cc638cf9c7dfc3cc534a7c6b4debf50ab Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bruno Haible <bruno@clisp.org>
|
||||||
|
Date: Thu, 10 Apr 2025 16:42:14 +0200
|
||||||
|
Subject: strcasecmp: Support cross-compilation.
|
||||||
|
|
||||||
|
Reported by Rudi Heitbaum <rudi@heitbaum.com> in
|
||||||
|
<https://lists.gnu.org/archive/html/bug-gnulib/2025-04/msg00055.html>.
|
||||||
|
|
||||||
|
diff --git a/m4/strcasecmp.m4 b/m4/strcasecmp.m4
|
||||||
|
index e40ee5d..eb4345d 100644
|
||||||
|
--- a/m4/strcasecmp.m4
|
||||||
|
+++ b/m4/strcasecmp.m4
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
# strcasecmp.m4
|
||||||
|
-# serial 2
|
||||||
|
+# serial 3
|
||||||
|
dnl Copyright (C) 2002-2025 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
@@ -57,7 +57,7 @@ int main ()
|
||||||
|
gl_cv_func_strcasecmp_works=no
|
||||||
|
fi
|
||||||
|
],
|
||||||
|
- [])
|
||||||
|
+ [:])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
--
|
||||||
|
cgit v1.1
|
||||||
65
diffutils-3.12-sdiff-continue-break.patch
Normal file
65
diffutils-3.12-sdiff-continue-break.patch
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
commit 80053ab7b57c1f0825deb4a22018dacfa62d7272
|
||||||
|
Author: Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
Date: Wed Apr 23 11:17:53 2025 -0700
|
||||||
|
|
||||||
|
sdiff: continue → break
|
||||||
|
|
||||||
|
* src/sdiff.c (edit): Don’t use ‘continue’ when a simple
|
||||||
|
break from the switch will do.
|
||||||
|
|
||||||
|
diff --git a/src/sdiff.c b/src/sdiff.c
|
||||||
|
index 7734a82..5b1b162 100644
|
||||||
|
--- a/src/sdiff.c
|
||||||
|
+++ b/src/sdiff.c
|
||||||
|
@@ -872,13 +872,13 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
{
|
||||||
|
case '1': case '2': case 'l': case 'r':
|
||||||
|
case 's': case 'v': case 'q':
|
||||||
|
- if (skip_white () != '\n')
|
||||||
|
+ if (skip_white () == '\n')
|
||||||
|
+ gotcmd = true;
|
||||||
|
+ else
|
||||||
|
{
|
||||||
|
give_help ();
|
||||||
|
flush_line ();
|
||||||
|
- continue;
|
||||||
|
}
|
||||||
|
- gotcmd = true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'e':
|
||||||
|
@@ -886,13 +886,13 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
switch (cmd1)
|
||||||
|
{
|
||||||
|
case '1': case '2': case 'b': case 'd': case 'l': case 'r':
|
||||||
|
- if (skip_white () != '\n')
|
||||||
|
+ if (skip_white () == '\n')
|
||||||
|
+ gotcmd = true;
|
||||||
|
+ else
|
||||||
|
{
|
||||||
|
give_help ();
|
||||||
|
flush_line ();
|
||||||
|
- continue;
|
||||||
|
}
|
||||||
|
- gotcmd = true;
|
||||||
|
break;
|
||||||
|
case '\n':
|
||||||
|
gotcmd = true;
|
||||||
|
@@ -900,7 +900,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
default:
|
||||||
|
give_help ();
|
||||||
|
flush_line ();
|
||||||
|
- continue;
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
@@ -917,7 +917,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
|
||||||
|
FALLTHROUGH;
|
||||||
|
case '\n':
|
||||||
|
give_help ();
|
||||||
|
- continue;
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
16
diffutils-3.12.tar.xz.sig
Normal file
16
diffutils-3.12.tar.xz.sig
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEFV0/xQDINEhtHupnf9n8ywAL7u4FAmf14TEACgkQf9n8ywAL
|
||||||
|
7u5tEg//YI75CvWhml5WPNESJWoNVcb+ak8K5g29sHXE5RW9ZuzvEjHAy2IGpkmG
|
||||||
|
QbSC2GA3s1BhjIvrm567Xvnz5Rdn4lultZygznL/+oD4PMoantux4dF6P4KcO7jG
|
||||||
|
KNPWBF0+/gue9KeJIx4tIGXjQ7g/aAxN/U7UukD5NELrF/4KAsFSWC0PA++taGyd
|
||||||
|
R+kZNl3IX3rci0m4vMXCZX+h1td39NinLuYueOqniZhN84+kjfKfLe+EOPmpdSNr
|
||||||
|
md25Ez5vcZ7p1meHHFIRhW1xnyF4FEC5H1ePv56wMlKShtflS2/hjmQadlo+9CQn
|
||||||
|
fnotq12Yi2BEDwn/wlB9t0J4wgGVbvJM5Ie8ggK74ys77JsXbAtaTeJvCYKI/3bF
|
||||||
|
D2Xt2gI2+Xdfm7zr9xXg4ygf/AqJ0Dc1Cx0hNpgV4BRgMUjKnyp1VgE7bDZn6R4w
|
||||||
|
W2YRXMsKJQp8NpAk5+XI5El3EYoMcPuI6OQs+b+e98wcGgeeOafWjWrUliIUDln6
|
||||||
|
iTXtOBFebV0JtdSWdzNPrxT0+WbmdYSfP7qrqIgMrPHbp5cN7XjVPu6nky07N2RE
|
||||||
|
f4Q2Ny8KyCul8AskCNimYzGU0rsN1qQtDRSx2CR5ABYztwc/WY2KgXL9aGZ+eIfa
|
||||||
|
YRIpzush1GB5Bu50huAT2VCCqrk6VCg7v1vLfr3V/eszEUVhPZg=
|
||||||
|
=vkFD
|
||||||
|
-----END PGP SIGNATURE-----
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
diff -up diffutils-2.8.1/src/sdiff.c.sdiff-E diffutils-2.8.1/src/sdiff.c
|
|
||||||
--- diffutils-2.8.1/src/sdiff.c.sdiff-E 2009-02-13 17:00:38.000000000 +0000
|
|
||||||
+++ diffutils-2.8.1/src/sdiff.c 2009-02-13 17:31:08.000000000 +0000
|
|
||||||
@@ -464,7 +464,7 @@ main (int argc, char *argv[])
|
|
||||||
diffarg (DEFAULT_DIFF_PROGRAM);
|
|
||||||
|
|
||||||
/* parse command line args */
|
|
||||||
- while ((opt = getopt_long (argc, argv, "abBdHiI:lo:stvw:W", longopts, 0))
|
|
||||||
+ while ((opt = getopt_long (argc, argv, "abBdEHiI:lo:stvw:W", longopts, 0))
|
|
||||||
!= -1)
|
|
||||||
{
|
|
||||||
switch (opt)
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
--- diffutils-2.8.1/src/sdiff.c.sdiff 2005-04-06 14:59:26.000000000 +0100
|
|
||||||
+++ diffutils-2.8.1/src/sdiff.c 2005-04-06 15:02:36.000000000 +0100
|
|
||||||
@@ -724,7 +724,8 @@
|
|
||||||
if (! interact_ok)
|
|
||||||
exiterr ();
|
|
||||||
|
|
||||||
- ck_editor_status (werrno, wstatus);
|
|
||||||
+ if (!WIFEXITED(wstatus))
|
|
||||||
+ ck_editor_status (werrno, wstatus);
|
|
||||||
untrapsig (0);
|
|
||||||
checksigs ();
|
|
||||||
exit (WEXITSTATUS (wstatus));
|
|
||||||
313
diffutils.spec
313
diffutils.spec
|
|
@ -1,22 +1,24 @@
|
||||||
Summary: A GNU collection of diff utilities
|
Summary: GNU collection of diff utilities
|
||||||
Name: diffutils
|
Name: diffutils
|
||||||
Version: 2.8.1
|
Version: 3.12
|
||||||
Release: 25%{?dist}
|
Release: 3%{?dist}
|
||||||
Group: Applications/Text
|
URL: https://www.gnu.org/software/diffutils/diffutils.html
|
||||||
URL: http://www.gnu.org/software/diffutils/diffutils.html
|
Source: https://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.xz
|
||||||
Source: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.gz
|
# upstream fixes
|
||||||
Source1: cmp.1
|
# cross compile build of 3.12 diffutils fails
|
||||||
Source2: diff.1
|
Patch: diffutils-3.12-cross-compiler-build-fail.patch
|
||||||
Source3: diff3.1
|
# sdiff: continue → break
|
||||||
Source4: sdiff.1
|
Patch: diffutils-3.12-sdiff-continue-break.patch
|
||||||
Patch0: diffutils-2.8.4-i18n.patch
|
# sdiff: pacify gcc -flto -Wmaybe-uninitialized
|
||||||
Patch1: diffutils-2.8.1-badc.patch
|
Patch: 0001-sdiff-pacify-gcc-flto-Wmaybe-uninitialized.patch
|
||||||
Patch2: diffutils-sdiff.patch
|
# sdiff: port back to C17
|
||||||
Patch3: diffutils-sdiff-E.patch
|
Patch: 0001-sdiff-port-back-to-C17.patch
|
||||||
License: GPLv2+
|
License: GPL-3.0-or-later
|
||||||
Requires(post): /sbin/install-info
|
Provides: bundled(gnulib)
|
||||||
Requires(preun): /sbin/install-info
|
BuildRequires: gcc
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRequires: help2man
|
||||||
|
BuildRequires: autoconf, automake, texinfo
|
||||||
|
BuildRequires: make
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Diffutils includes four utilities: diff, cmp, diff3 and sdiff. Diff
|
Diffutils includes four utilities: diff, cmp, diff3 and sdiff. Diff
|
||||||
|
|
@ -32,55 +34,266 @@ to merge two files interactively.
|
||||||
Install diffutils if you need to compare text files.
|
Install diffutils if you need to compare text files.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -p1
|
||||||
%patch0 -p1 -b .i18n
|
|
||||||
%patch1 -p1 -b .badc
|
# Run autoreconf for aarch64 support (bug #925256).
|
||||||
%patch2 -p1 -b .sdiff
|
autoreconf
|
||||||
%patch3 -p1 -b .sdiff-E
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure
|
||||||
make PR_PROGRAM=%{_bindir}/pr
|
make PR_PROGRAM=%{_bindir}/pr
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
%make_install
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install
|
|
||||||
|
|
||||||
( cd $RPM_BUILD_ROOT
|
|
||||||
gzip -9nf .%{_infodir}/diff*
|
|
||||||
mkdir -p .%{_mandir}/man1
|
|
||||||
for manpage in %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4}
|
|
||||||
do
|
|
||||||
install -m 0644 ${manpage} .%{_mandir}/man1
|
|
||||||
done
|
|
||||||
)
|
|
||||||
|
|
||||||
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
||||||
%find_lang %{name}
|
%find_lang %{name}
|
||||||
|
|
||||||
%post
|
%check
|
||||||
if [ -f %{_infodir}/diff.info.gz ]; then
|
# Disable update-copyright gnulib test (bug #1239428).
|
||||||
/sbin/install-info %{_infodir}/diff.info.gz %{_infodir}/dir --entry="* diff: (diff). The GNU diff."
|
>gnulib-tests/test-update-copyright.sh
|
||||||
fi
|
make check
|
||||||
exit 0
|
|
||||||
|
|
||||||
%preun
|
|
||||||
if [ $1 = 0 ]; then
|
|
||||||
/sbin/install-info --delete %{_infodir}/diff.info.gz %{_infodir}/dir --entry="* diff: (diff). The GNU diff."
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
%clean
|
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
%files -f %{name}.lang
|
%files -f %{name}.lang
|
||||||
%defattr(-,root,root)
|
|
||||||
%doc NEWS README
|
%doc NEWS README
|
||||||
|
%license COPYING
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
%{_mandir}/*/*
|
%{_mandir}/*/*
|
||||||
%{_infodir}/diff.info*gz
|
%{_infodir}/diffutils.info*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon May 05 2025 Than Ngo <than@redhat.com> - 3.12-2
|
||||||
|
- Upstream patches
|
||||||
|
* cross compile build of 3.12 diffutils fails
|
||||||
|
* sdiff: continue → break
|
||||||
|
* sdiff: pacify gcc -flto -Wmaybe-uninitialized
|
||||||
|
* sdiff: port back to C17
|
||||||
|
|
||||||
|
* Fri Apr 11 2025 Than Ngo <than@redhat.com> - 3.12-1
|
||||||
|
- Fixed rhbz#2358545, Update to 3.12
|
||||||
|
|
||||||
|
* Thu Mar 27 2025 Than Ngo <than@redhat.com> - 3.11-3
|
||||||
|
- diff does not show a unified diff when one of the file is empty
|
||||||
|
|
||||||
|
* Thu Mar 27 2025 Than Ngo <than@redhat.com> - 3.11-2
|
||||||
|
- Backported upstream patch, Fixed allocation typo leading to crash
|
||||||
|
|
||||||
|
* Thu Mar 27 2025 Than Ngo <than@redhat.com> - 3.11-1
|
||||||
|
- Fixed rhbz#2343469, Update to 3.11
|
||||||
|
|
||||||
|
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 30 2024 Than Ngo <than@redhat.com> - 3.10-8
|
||||||
|
- refresh patch for 'cmp -s'
|
||||||
|
|
||||||
|
* Tue Jul 23 2024 Than Ngo <than@redhat.com> - 3.10-7
|
||||||
|
- fix a regression, 'cmp -s' returns 1 even if files are identical
|
||||||
|
|
||||||
|
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 05 2023 Than Ngo <than@redhat.com> - 3.10-2
|
||||||
|
- Fix output of "diff -l -y" for non-ASCII input files
|
||||||
|
|
||||||
|
* Thu Jun 29 2023 Than Ngo <than@redhat.com> - 3.10-1
|
||||||
|
- Fix bz#2208831, update to 3.10
|
||||||
|
- Fix bz#2196671, diff -D no longer fails to output #ifndef lines introduced in 3.9
|
||||||
|
|
||||||
|
* Tue Mar 28 2023 Than Ngo <than@redhat.com> - 3.9-4
|
||||||
|
- Fix deprecated patch rpm marco
|
||||||
|
|
||||||
|
* Tue Feb 21 2023 Than Ngo <than@redhat.com> - 3.9-3
|
||||||
|
- migrated to SPDX license
|
||||||
|
|
||||||
|
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.9-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 16 2023 Tim Waugh <twaugh@redhat.com> - 3.9-1
|
||||||
|
- 3.9 (bug #2161117).
|
||||||
|
|
||||||
|
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Aug 2 2021 Tim Waugh <twaugh@redhat.com> - 3.8-1
|
||||||
|
- 3.8.
|
||||||
|
|
||||||
|
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Apr 12 2021 Tim Waugh <twaugh@redhat.com> - 3.7-9
|
||||||
|
- Handle SIGSTKSZ no longer being a constant (bug #1943016).
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Oct 8 2020 Tim Waugh <twaugh@redhat.com> - 3.7-7
|
||||||
|
- Fix from gnulib upstream, commit 175e0bc (bug #1863423).
|
||||||
|
|
||||||
|
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-6
|
||||||
|
- Second attempt - Rebuilt for
|
||||||
|
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 07 2019 Than Ngo <than@redhat.com> - 3.7-1
|
||||||
|
- 3.7
|
||||||
|
|
||||||
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon May 22 2017 Tim Waugh <twaugh@redhat.com> - 3.6-1
|
||||||
|
- 3.6 (bug #1453019).
|
||||||
|
|
||||||
|
* Tue Feb 21 2017 Than Ngo <than@redhat.com> - 3.5-3
|
||||||
|
- backport to fix FTBFs with GCC 7
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.5-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Sep 21 2016 Tim Waugh <twaugh@redhat.com> - 3.5-1
|
||||||
|
- 3.5 (bug #1365325).
|
||||||
|
|
||||||
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-13
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 6 2015 Tim Waugh <twaugh@redhat.com> - 3.3-12
|
||||||
|
- Disable update-copyright gnulib test (bug #1239428).
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 3.3-10
|
||||||
|
- Rebuilt for Fedora 23 Change
|
||||||
|
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
|
||||||
|
|
||||||
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 11 2014 Tom Callaway <spot@fedoraproject.org> - 3.3-8
|
||||||
|
- fix license handling
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Mar 27 2014 Tim Waugh <twaugh@redhat.com> 3.3-6
|
||||||
|
- Fix --help output and man page (bug #1079076).
|
||||||
|
|
||||||
|
* Wed Dec 4 2013 Tim Waugh <twaugh@redhat.com> 3.3-5
|
||||||
|
- Applied upstream gnulib patch to avoid -Wformat-security warning
|
||||||
|
(bug #1037038).
|
||||||
|
|
||||||
|
* Wed Oct 23 2013 Tim Waugh <twaugh@redhat.com> 3.3-4
|
||||||
|
- Fixed multibyte handling logic for diff -Z (bug #1012075).
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Apr 29 2013 Tim Waugh <twaugh@redhat.com> 3.3-2
|
||||||
|
- Run autoreconf for aarch64 support (bug #925256).
|
||||||
|
|
||||||
|
* Tue Mar 26 2013 Tim Waugh <twaugh@redhat.com> 3.3-1
|
||||||
|
- 3.3 (bug #927560).
|
||||||
|
|
||||||
|
* Fri Feb 22 2013 Tim Waugh <twaugh@redhat.com> 3.2-13
|
||||||
|
- Fixed i18n handling of 'diff -E' (bug #914666).
|
||||||
|
|
||||||
|
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-12
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Oct 26 2012 Tim Waugh <twaugh@redhat.com> 3.2-11
|
||||||
|
- Ported i18n patch and reinstated it (bug #870460).
|
||||||
|
|
||||||
|
* Wed Sep 19 2012 Tim Waugh <twaugh@redhat.com> 3.2-10
|
||||||
|
- Fixed license as current source says GPLv3+.
|
||||||
|
|
||||||
|
* Mon Jul 23 2012 Tim Waugh <twaugh@redhat.com> 3.2-9
|
||||||
|
- Fixed build failure.
|
||||||
|
|
||||||
|
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon May 21 2012 Tim Waugh <twaugh@redhat.com> 3.2-7
|
||||||
|
- Provides bundled(gnulib) (bug #821751).
|
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Dec 8 2011 Tim Waugh <twaugh@redhat.com> 3.2-5
|
||||||
|
- Fix bug #747969 again.
|
||||||
|
|
||||||
|
* Tue Nov 29 2011 Tim Waugh <twaugh@redhat.com> 3.2-4
|
||||||
|
- Real fix for bug #747969: the diffutils info file changed name in
|
||||||
|
3.1. Updated the scriptlets to install/remove the correct filename
|
||||||
|
from the info directory.
|
||||||
|
|
||||||
|
* Fri Nov 25 2011 Tim Waugh <twaugh@redhat.com> 3.2-3
|
||||||
|
- Fixed up reference to info page in man pages (bug #747969).
|
||||||
|
|
||||||
|
* Fri Nov 25 2011 Tim Waugh <twaugh@redhat.com> 3.2-2
|
||||||
|
- Applied upstream gnulib fix for float test on ppc, as well as
|
||||||
|
correction for LDBL_MANT_DIG definition (bug #733536).
|
||||||
|
|
||||||
|
* Fri Sep 2 2011 Tim Waugh <twaugh@redhat.com> 3.2-1
|
||||||
|
- 3.2.
|
||||||
|
|
||||||
|
* Thu Aug 11 2011 Tim Waugh <twaugh@redhat.com> 3.1-1
|
||||||
|
- 3.1.
|
||||||
|
|
||||||
|
* Wed Apr 13 2011 Tim Waugh <twaugh@redhat.com> 3.0-1
|
||||||
|
- 3.0 (bug #566482).
|
||||||
|
- The i18n patch is dropped for the time being.
|
||||||
|
|
||||||
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.1-30
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 25 2010 Tim Waugh <twaugh@redhat.com> 2.8.1-29
|
||||||
|
- For 'cmp -s', compare file sizes only if both non-zero (bug #563618).
|
||||||
|
|
||||||
|
* Wed Apr 21 2010 Tim Waugh <twaugh@redhat.com> - 2.8.1-28
|
||||||
|
- Build requires help2man (bug #577325). Fixes empty diff man page.
|
||||||
|
|
||||||
|
* Wed Mar 3 2010 Tim Waugh <twaugh@redhat.com> - 2.8.1-27
|
||||||
|
- Added comments for all patches.
|
||||||
|
|
||||||
|
* Wed Mar 3 2010 Tim Waugh <twaugh@redhat.com> - 2.8.1-26
|
||||||
|
- Use upstream man pages.
|
||||||
|
- Ship COPYING file.
|
||||||
|
|
||||||
* Tue Aug 11 2009 Tim Waugh <twaugh@redhat.com> 2.8.1-25
|
* Tue Aug 11 2009 Tim Waugh <twaugh@redhat.com> 2.8.1-25
|
||||||
- Only try to install the info file if it exists so that package
|
- Only try to install the info file if it exists so that package
|
||||||
installation does not fail with --excludedocs (bug #515919).
|
installation does not fail with --excludedocs (bug #515919).
|
||||||
|
|
|
||||||
5
plans/ci.fmf
Normal file
5
plans/ci.fmf
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
summary: Basic smoke test
|
||||||
|
discover:
|
||||||
|
how: fmf
|
||||||
|
execute:
|
||||||
|
how: tmt
|
||||||
198
sdiff.1
198
sdiff.1
|
|
@ -1,198 +0,0 @@
|
||||||
.TH SDIFF 1 "22sep1993" "GNU Tools" "GNU Tools"
|
|
||||||
.SH NAME
|
|
||||||
sdiff \- find differences between two files and merge interactively
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B sdiff
|
|
||||||
.B -o
|
|
||||||
outfile [options] from-file to-file
|
|
||||||
.SH DESCRIPTION
|
|
||||||
The
|
|
||||||
.I sdiff
|
|
||||||
command merges two files and interactively outputs the
|
|
||||||
results to
|
|
||||||
.IR outfile .
|
|
||||||
|
|
||||||
If
|
|
||||||
.I from-file
|
|
||||||
is a directory and
|
|
||||||
.I to-file
|
|
||||||
is not,
|
|
||||||
.I sdiff
|
|
||||||
compares the file in
|
|
||||||
.I from-file
|
|
||||||
whose file name is that of
|
|
||||||
.IR to-file ,
|
|
||||||
and vice versa.
|
|
||||||
.I from-file
|
|
||||||
and
|
|
||||||
.I to-file
|
|
||||||
may not both be
|
|
||||||
directories.
|
|
||||||
|
|
||||||
.I sdiff
|
|
||||||
options begin with
|
|
||||||
.BR \- ,
|
|
||||||
so normally
|
|
||||||
.I from-file
|
|
||||||
and
|
|
||||||
.I to-file
|
|
||||||
may not begin with
|
|
||||||
.BR \- .
|
|
||||||
However,
|
|
||||||
.B \-\-
|
|
||||||
as an
|
|
||||||
argument by itself treats the remaining arguments as file names even if
|
|
||||||
they begin with
|
|
||||||
.BR \- .
|
|
||||||
You may not use
|
|
||||||
.B \-
|
|
||||||
as an input file.
|
|
||||||
|
|
||||||
.I sdiff
|
|
||||||
without
|
|
||||||
.B \-o
|
|
||||||
(or
|
|
||||||
.BR \-\-output )
|
|
||||||
produces a
|
|
||||||
side-by-side difference. This usage is obsolete; use
|
|
||||||
.B "diff \-\-side\-by\-side"
|
|
||||||
instead.
|
|
||||||
.SS Options
|
|
||||||
Below is a summary of all of the options that GNU
|
|
||||||
.I sdiff
|
|
||||||
accepts.
|
|
||||||
Each option has two equivalent names, one of which is a single
|
|
||||||
letter preceded by
|
|
||||||
.BR \- ,
|
|
||||||
and the other of which is a long name
|
|
||||||
preceded by
|
|
||||||
.BR \-\- .
|
|
||||||
Multiple single letter options (unless they take
|
|
||||||
an argument) can be combined into a single command line argument. Long
|
|
||||||
named options can be abbreviated to any unique prefix of their name.
|
|
||||||
.TP
|
|
||||||
.B \-a
|
|
||||||
Treat all files as text and compare them line-by-line, even if they
|
|
||||||
do not appear to be text.
|
|
||||||
.TP
|
|
||||||
.B \-b
|
|
||||||
Ignore changes in amount of white space.
|
|
||||||
.TP
|
|
||||||
.B \-B
|
|
||||||
Ignore changes that just insert or delete blank lines.
|
|
||||||
.TP
|
|
||||||
.B \-d
|
|
||||||
Change the algorithm to perhaps find a smaller set of changes. This
|
|
||||||
makes
|
|
||||||
.I sdiff
|
|
||||||
slower (sometimes much slower).
|
|
||||||
.TP
|
|
||||||
.B \-H
|
|
||||||
Use heuristics to speed handling of large files that have numerous
|
|
||||||
scattered small changes.
|
|
||||||
.TP
|
|
||||||
.B \-\-expand\-tabs
|
|
||||||
Expand tabs to spaces in the output, to preserve the alignment of tabs
|
|
||||||
in the input files.
|
|
||||||
.TP
|
|
||||||
.B \-i
|
|
||||||
Ignore changes in case; consider upper- and lower-case to be the same.
|
|
||||||
.TP
|
|
||||||
.BI "\-I " regexp
|
|
||||||
Ignore changes that just insert or delete lines that match
|
|
||||||
.IR regexp .
|
|
||||||
.TP
|
|
||||||
.B \-\-ignore\-all\-space
|
|
||||||
Ignore white space when comparing lines.
|
|
||||||
.TP
|
|
||||||
.B \-\-ignore\-blank\-lines
|
|
||||||
Ignore changes that just insert or delete blank lines.
|
|
||||||
.TP
|
|
||||||
.B \-\-ignore\-case
|
|
||||||
Ignore changes in case; consider upper- and lower-case to be the same.
|
|
||||||
.TP
|
|
||||||
.BI \-\-ignore\-matching\-lines= regexp
|
|
||||||
Ignore changes that just insert or delete lines that match
|
|
||||||
.IR regexp .
|
|
||||||
.TP
|
|
||||||
.B \-\-ignore\-space\-change
|
|
||||||
Ignore changes in amount of white space.
|
|
||||||
.TP
|
|
||||||
.B \-l
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.B \-\-left\-column
|
|
||||||
Print only the left column of two common lines.
|
|
||||||
.TP
|
|
||||||
.B \-\-minimal
|
|
||||||
Change the algorithm to perhaps find a smaller set of changes. This
|
|
||||||
makes
|
|
||||||
.I sdiff
|
|
||||||
slower (sometimes much slower).
|
|
||||||
.TP
|
|
||||||
.BI "\-o " file
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.BI \-\-output= file
|
|
||||||
Put merged output into
|
|
||||||
.IR file .
|
|
||||||
This option is required for merging.
|
|
||||||
.TP
|
|
||||||
.B \-s
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.B \-\-suppress\-common\-lines
|
|
||||||
Do not print common lines.
|
|
||||||
.TP
|
|
||||||
.B \-\-speed\-large\-files
|
|
||||||
Use heuristics to speed handling of large files that have numerous
|
|
||||||
scattered small changes.
|
|
||||||
.TP
|
|
||||||
.B \-t
|
|
||||||
Expand tabs to spaces in the output, to preserve the alignment of tabs
|
|
||||||
in the input files.
|
|
||||||
.TP
|
|
||||||
.B \-\-text
|
|
||||||
Treat all files as text and compare them line-by-line, even if they
|
|
||||||
do not appear to be text.
|
|
||||||
.TP
|
|
||||||
.B \-v
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.B \-\-version
|
|
||||||
Output the version number of
|
|
||||||
.IR sdiff .
|
|
||||||
.TP
|
|
||||||
.BI "\-w " columns
|
|
||||||
.br
|
|
||||||
.ns
|
|
||||||
.TP
|
|
||||||
.BI \-\-width= columns
|
|
||||||
Use an output width of
|
|
||||||
.IR columns .
|
|
||||||
Note that for historical reasons, this option is
|
|
||||||
.B \-W
|
|
||||||
in
|
|
||||||
.IR diff ,
|
|
||||||
.B \-w
|
|
||||||
in
|
|
||||||
.IR sdiff .
|
|
||||||
.TP
|
|
||||||
.B \-W
|
|
||||||
Ignore horizontal white space when comparing lines.
|
|
||||||
Note that for historical reasons, this option is
|
|
||||||
.B \-w
|
|
||||||
in
|
|
||||||
.IR diff ,
|
|
||||||
.B \-W
|
|
||||||
in
|
|
||||||
.IR sdiff .
|
|
||||||
.SH SEE ALSO
|
|
||||||
cmp(1), comm(1), diff(1), diff3(1).
|
|
||||||
.SH DIAGNOSTICS
|
|
||||||
An exit status of 0 means no differences were found, 1 means some
|
|
||||||
differences were found, and 2 means trouble.
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
71f9c5ae19b60608f6c7f162da86a428 diffutils-2.8.1.tar.gz
|
SHA512 (diffutils-3.12.tar.xz) = 10b17cf1dcdfa9ca0e5db91d62c4a079ebe9fd7eafa3aaebd4eb7e6206e4d753f348496622aa281e1bd7f7fcde65ce4a886dcc4acbb59332ef980f224197b4e4
|
||||||
|
|
|
||||||
63
tests/cmp-s-returns-1-even-if-files-are-identical/Makefile
Normal file
63
tests/cmp-s-returns-1-even-if-files-are-identical/Makefile
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Makefile of /CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
|
||||||
|
# Description: Test for cmp -s returns 1 even if files are identical
|
||||||
|
# Author: Jeffrey Bastian <jbastian@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
export TEST=/CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
|
||||||
|
export TESTVERSION=1.0
|
||||||
|
|
||||||
|
BUILT_FILES=
|
||||||
|
|
||||||
|
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||||
|
|
||||||
|
.PHONY: all install download clean
|
||||||
|
|
||||||
|
run: $(FILES) build
|
||||||
|
./runtest.sh
|
||||||
|
|
||||||
|
build: $(BUILT_FILES)
|
||||||
|
chmod a+x runtest.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ $(BUILT_FILES)
|
||||||
|
|
||||||
|
|
||||||
|
include /usr/share/rhts/lib/rhts-make.include
|
||||||
|
|
||||||
|
$(METADATA): Makefile
|
||||||
|
@echo "Owner: Jeffrey Bastian <jbastian@redhat.com>" > $(METADATA)
|
||||||
|
@echo "Name: $(TEST)" >> $(METADATA)
|
||||||
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||||
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||||
|
@echo "Description: Test for cmp -s returns 1 even if files are identical" >> $(METADATA)
|
||||||
|
@echo "Type: Regression" >> $(METADATA)
|
||||||
|
@echo "TestTime: 5m" >> $(METADATA)
|
||||||
|
@echo "RunFor: diffutils" >> $(METADATA)
|
||||||
|
@echo "Requires: diffutils" >> $(METADATA)
|
||||||
|
@echo "Priority: Normal" >> $(METADATA)
|
||||||
|
@echo "License: GPLv2" >> $(METADATA)
|
||||||
|
@echo "Confidential: no" >> $(METADATA)
|
||||||
|
@echo "Destructive: no" >> $(METADATA)
|
||||||
|
|
||||||
|
rhts-lint $(METADATA)
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
PURPOSE of /CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
|
||||||
|
Description: Test for cmp -s returns 1 even if files are identical
|
||||||
|
Author: Jeffrey Bastian <jbastian@redhat.com>
|
||||||
|
Bug summary: cmp -s returns 1 even if files are identical
|
||||||
|
|
||||||
|
Description:
|
||||||
|
'cmp -s' can return 1 even if files are identical, for example, if comparing
|
||||||
|
a file from /proc with a copy of that file in /tmp, since all files in
|
||||||
|
/proc have a size of 0 bytes.
|
||||||
17
tests/cmp-s-returns-1-even-if-files-are-identical/main.fmf
Normal file
17
tests/cmp-s-returns-1-even-if-files-are-identical/main.fmf
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
summary: Test for cmp -s returns 1 even if files are identical
|
||||||
|
description: "Bug summary: cmp -s returns 1 even if files are identical\n\nDescription:\n\
|
||||||
|
'cmp -s' can return 1 even if files are identical, for example, if comparing\n\
|
||||||
|
a file from /proc with a copy of that file in /tmp, since all files in\n/proc
|
||||||
|
have a size of 0 bytes.\n"
|
||||||
|
contact: Jeffrey Bastian <jbastian@redhat.com>
|
||||||
|
component:
|
||||||
|
- diffutils
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- diffutils
|
||||||
|
duration: 5m
|
||||||
|
extra-summary:
|
||||||
|
/CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
|
||||||
|
extra-task:
|
||||||
|
/CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
|
||||||
50
tests/cmp-s-returns-1-even-if-files-are-identical/runtest.sh
Executable file
50
tests/cmp-s-returns-1-even-if-files-are-identical/runtest.sh
Executable file
|
|
@ -0,0 +1,50 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
|
||||||
|
# Description: Test for cmp -s returns 1 even if files are identical
|
||||||
|
# Author: Jeffrey Bastian <jbastian@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include rhts environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="diffutils"
|
||||||
|
#set -x
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlAssertExists $TmpDir
|
||||||
|
rlRun "cp /proc/version $TmpDir" 0 "Copy /proc/version to tmp directory"
|
||||||
|
rlRun "cmp -s /proc/version $TmpDir/version" 0 "Compare /proc/version to tmp copy"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "rm -fr $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalEnd
|
||||||
|
rlJournalPrintText
|
||||||
64
tests/diff-Z-hangs/Makefile
Normal file
64
tests/diff-Z-hangs/Makefile
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Makefile of /CoreOS/diffutils/Regression/diff-Z-hangs
|
||||||
|
# Description: Test for diffutils to check if comparing two files using diff -Z with mixed line endings doesn't hang
|
||||||
|
# Author: Filip Holec <fholec@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2014 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
export TEST=/CoreOS/diffutils/Regression/diff-Z-hangs
|
||||||
|
export TESTVERSION=1.0
|
||||||
|
|
||||||
|
BUILT_FILES=
|
||||||
|
|
||||||
|
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||||
|
|
||||||
|
.PHONY: all install download clean
|
||||||
|
|
||||||
|
run: $(FILES) build
|
||||||
|
./runtest.sh
|
||||||
|
|
||||||
|
build: $(BUILT_FILES)
|
||||||
|
test -x runtest.sh || chmod a+x runtest.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ $(BUILT_FILES)
|
||||||
|
|
||||||
|
|
||||||
|
include /usr/share/rhts/lib/rhts-make.include
|
||||||
|
|
||||||
|
$(METADATA): Makefile
|
||||||
|
@echo "Owner: Filip Holec <fholec@redhat.com>" > $(METADATA)
|
||||||
|
@echo "Name: $(TEST)" >> $(METADATA)
|
||||||
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||||
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||||
|
@echo "Description: Test for diffutils to check if comparing two files using diff -Z with mixed line endings doesn't hang" >> $(METADATA)
|
||||||
|
@echo "Type: Regression" >> $(METADATA)
|
||||||
|
@echo "TestTime: 5m" >> $(METADATA)
|
||||||
|
@echo "RunFor: diffutils" >> $(METADATA)
|
||||||
|
@echo "Requires: diffutils" >> $(METADATA)
|
||||||
|
@echo "Priority: Normal" >> $(METADATA)
|
||||||
|
@echo "License: GPLv2" >> $(METADATA)
|
||||||
|
@echo "Confidential: no" >> $(METADATA)
|
||||||
|
@echo "Destructive: no" >> $(METADATA)
|
||||||
|
@echo "Releases: RHEL7" >> $(METADATA)
|
||||||
|
|
||||||
|
rhts-lint $(METADATA)
|
||||||
4
tests/diff-Z-hangs/PURPOSE
Normal file
4
tests/diff-Z-hangs/PURPOSE
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
PURPOSE of /CoreOS/diffutils/Regression/diff-Z-hangs
|
||||||
|
Description: Test for diffutils to check if comparing two files using diff -Z with mixed line endings doesn't hang
|
||||||
|
Author: Filip Holec <fholec@redhat.com>
|
||||||
|
Bug summary: diff -Z hangs
|
||||||
13
tests/diff-Z-hangs/main.fmf
Normal file
13
tests/diff-Z-hangs/main.fmf
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
summary: Test for diffutils to check if comparing two files using diff -Z with
|
||||||
|
mixed line endings doesn't hang
|
||||||
|
description: "Bug summary: diff -Z hangs\n"
|
||||||
|
contact: Filip Holec <fholec@redhat.com>
|
||||||
|
component:
|
||||||
|
- diffutils
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- diffutils
|
||||||
|
duration: 5m
|
||||||
|
extra-summary: /CoreOS/diffutils/Regression/diff-Z-hangs
|
||||||
|
extra-task: /CoreOS/diffutils/Regression/diff-Z-hangs
|
||||||
55
tests/diff-Z-hangs/runtest.sh
Executable file
55
tests/diff-Z-hangs/runtest.sh
Executable file
|
|
@ -0,0 +1,55 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /CoreOS/diffutils/Regression/diff-Z-hangs
|
||||||
|
# Description: Test for diffutils to check if comparing two files using diff -Z with mixed line endings doesn't hang
|
||||||
|
# Author: Filip Holec <fholec@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2014 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh
|
||||||
|
|
||||||
|
PACKAGE="diffutils"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "diff -Z <(printf 'a\nb\n') <(printf 'a\nb\n'); echo $?" \
|
||||||
|
0 "First simple test"
|
||||||
|
rlRun "timeout 10s diff -Z <(printf 'a\r\nb\n') <(printf 'a\nb\r\n')" \
|
||||||
|
0 "Main test, should not timeout (124)"
|
||||||
|
rlRun "timeout 10s diff -Z <(echo 'a') <(echo -n 'a')" \
|
||||||
|
0 "Second test, should not timeout (124)"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
61
tests/diff-hang-long-files/Makefile
Normal file
61
tests/diff-hang-long-files/Makefile
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
# Makefile - diff-hang-long-files
|
||||||
|
# Author: Michal Fabry <mfabry@redhat.com>
|
||||||
|
# Location: /CoreOS/diffutils/Regression/diff-hang-long-files/Makefile
|
||||||
|
|
||||||
|
# Description: Diff appears to hang in long file
|
||||||
|
|
||||||
|
# Copyright (c) 2009 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||||
|
# is made available to anyone wishing to use, modify, copy, or
|
||||||
|
# redistribute it subject to the terms and conditions of the GNU General
|
||||||
|
# Public License v.2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
TOPLEVEL_NAMESPACE=/CoreOS
|
||||||
|
PACKAGE_NAME=diffutils
|
||||||
|
RELATIVE_PATH=Regression/diff-hang-long-files
|
||||||
|
|
||||||
|
export TEST=$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||||
|
export TESTVERSION=1.0
|
||||||
|
|
||||||
|
BUILT_FILES=
|
||||||
|
|
||||||
|
FILES=$(METADATA) runtest.sh Makefile
|
||||||
|
|
||||||
|
.PHONY: all install download clean
|
||||||
|
|
||||||
|
run: $(FILES) build
|
||||||
|
./runtest.sh
|
||||||
|
|
||||||
|
build: $(BUILT_FILES)
|
||||||
|
chmod a+x ./runtest.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ $(BUILT_FILES)
|
||||||
|
|
||||||
|
|
||||||
|
include /usr/share/rhts/lib/rhts-make.include
|
||||||
|
|
||||||
|
|
||||||
|
$(METADATA): Makefile
|
||||||
|
@touch $(METADATA)
|
||||||
|
@echo "Owner: Michal Fabry <mfabry@redhat.com>" > $(METADATA)
|
||||||
|
@echo "Name: $(TEST)" >> $(METADATA)
|
||||||
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||||
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||||
|
@echo "Description: Diff appears to hang in long file" >> $(METADATA)
|
||||||
|
@echo "Type: Regression" >> $(METADATA)
|
||||||
|
@echo "TestTime: 5m" >> $(METADATA)
|
||||||
|
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||||
|
@echo "Requires: $(PACKAGE_NAME) words time" >> $(METADATA)
|
||||||
|
@echo "License: GPLv2" >> $(METADATA)
|
||||||
|
|
||||||
|
rhts-lint $(METADATA)
|
||||||
10
tests/diff-hang-long-files/PURPOSE
Normal file
10
tests/diff-hang-long-files/PURPOSE
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
Test Name: diff-hang-long-files
|
||||||
|
Author: Michal Fabry <mfabry@redhat.com>
|
||||||
|
Location: /CoreOS/diffutils/Regression/diff-hang-long-files
|
||||||
|
|
||||||
|
Short Description: Diff appears to hang in long file
|
||||||
|
|
||||||
|
|
||||||
|
Long Description:
|
||||||
|
|
||||||
|
Running the "diff -bBw" command on a very large input file (eg 250 MB), in a multi-byte locale (ie UTF-8), took a very long time to complete, if at all. In a reported case, a diff ran for multiple days and did not complete. In certain situations, this could cause 100% CPU usage.
|
||||||
20
tests/diff-hang-long-files/main.fmf
Normal file
20
tests/diff-hang-long-files/main.fmf
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
summary: Diff appears to hang in long file
|
||||||
|
description: "Test Name: diff-hang-long-files\nAuthor: Michal Fabry <mfabry@redhat.com>\n\
|
||||||
|
Location: /CoreOS/diffutils/Regression/diff-hang-long-files\n\nShort Description:
|
||||||
|
Diff appears to hang in long file\n\n\nLong Description:\n\nRunning the \"diff
|
||||||
|
-bBw\" command on a very large input file (eg 250 MB), in a multi-byte locale
|
||||||
|
(ie UTF-8), took a very long time to complete, if at all. In a reported case,
|
||||||
|
a diff ran for multiple days and did not complete. In certain situations, this
|
||||||
|
could cause 100% CPU usage.\n"
|
||||||
|
contact: Michal Fabry <mfabry@redhat.com>
|
||||||
|
component:
|
||||||
|
- diffutils
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- diffutils
|
||||||
|
- words
|
||||||
|
- time
|
||||||
|
duration: 5m
|
||||||
|
extra-summary: /CoreOS/diffutils/Regression/diff-hang-long-files
|
||||||
|
extra-task: /CoreOS/diffutils/Regression/diff-hang-long-files
|
||||||
78
tests/diff-hang-long-files/runtest.sh
Executable file
78
tests/diff-hang-long-files/runtest.sh
Executable file
|
|
@ -0,0 +1,78 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Author: Michal Fabry <mfabry@redhat.com>
|
||||||
|
|
||||||
|
# Copyright (c) 2009 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||||
|
# is made available to anyone wishing to use, modify, copy, or
|
||||||
|
# redistribute it subject to the terms and conditions of the GNU General
|
||||||
|
# Public License v.2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# Setup - ABORT if some assert fails
|
||||||
|
# ===================================================================
|
||||||
|
rlPhaseStartSetup Setup
|
||||||
|
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
function count_lines() {
|
||||||
|
[ ! -r "$1" ] && return 1
|
||||||
|
wc -l "$1" | sed "s/^\s*\([0-9]\+\)\s\+.*$/\1/"
|
||||||
|
}
|
||||||
|
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# Start the test
|
||||||
|
# ===================================================================
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
# Create connection
|
||||||
|
rlPhaseStartTest "Create big file"
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
|
||||||
|
log=$( mktemp /tmp/log.XXXXXX )
|
||||||
|
|
||||||
|
rlRun "tr -d \"'\" <words | xargs echo >long-line" 0 "Create big file part 1"
|
||||||
|
rlRun "for a in \$(seq 30); do cat long-line; done >long-lines" 0 "Create big file part 2"
|
||||||
|
rlAssertExists 'long-lines'
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
# Test /usr/sbin/ss output
|
||||||
|
rlPhaseEnd; rlPhaseStartTest "Test diff"
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
|
||||||
|
log2=$( mktemp /tmp/log.XXXXXX )
|
||||||
|
now=$(date '+%s')
|
||||||
|
rlRun "diff -bBw long-lines <(sed -e 's/ / /' long-lines) >/dev/null"
|
||||||
|
rlAssertGreater "Less than 150 seconds" 150 `expr $now - $(date '+%s')`
|
||||||
|
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# Start the cleanup
|
||||||
|
# ===================================================================
|
||||||
|
rlPhaseStartCleanup Cleanup
|
||||||
|
|
||||||
|
rm -f $log $log2 long-line long-lines
|
||||||
|
rlAssert0 "Remove the log" $?
|
||||||
|
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
#rlCreateLogFromJournal | tee $OUTPUTFILE
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
479828
tests/diff-hang-long-files/words
Normal file
479828
tests/diff-hang-long-files/words
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,63 @@
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Makefile of /CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
|
||||||
|
# Description: Test for diffutils to ensure U3000 ideographic space is treated as space when used -b or -w options
|
||||||
|
# Author: Filip Holec <fholec@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
export TEST=/CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
|
||||||
|
export TESTVERSION=1.0
|
||||||
|
|
||||||
|
BUILT_FILES=
|
||||||
|
|
||||||
|
FILES=$(METADATA) runtest.sh Makefile PURPOSE a b
|
||||||
|
|
||||||
|
.PHONY: all install download clean
|
||||||
|
|
||||||
|
run: $(FILES) build
|
||||||
|
./runtest.sh
|
||||||
|
|
||||||
|
build: $(BUILT_FILES)
|
||||||
|
test -x runtest.sh || chmod a+x runtest.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ $(BUILT_FILES)
|
||||||
|
|
||||||
|
|
||||||
|
include /usr/share/rhts/lib/rhts-make.include
|
||||||
|
|
||||||
|
$(METADATA): Makefile
|
||||||
|
@echo "Owner: Filip Holec <fholec@redhat.com>" > $(METADATA)
|
||||||
|
@echo "Name: $(TEST)" >> $(METADATA)
|
||||||
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||||
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||||
|
@echo "Description: Test for diffutils to ensure U3000 ideographic space is treated as space when used -b or -w options" >> $(METADATA)
|
||||||
|
@echo "Type: Regression" >> $(METADATA)
|
||||||
|
@echo "TestTime: 5m" >> $(METADATA)
|
||||||
|
@echo "RunFor: diffutils" >> $(METADATA)
|
||||||
|
@echo "Requires: diffutils" >> $(METADATA)
|
||||||
|
@echo "Priority: Normal" >> $(METADATA)
|
||||||
|
@echo "License: GPLv2" >> $(METADATA)
|
||||||
|
@echo "Confidential: no" >> $(METADATA)
|
||||||
|
@echo "Destructive: no" >> $(METADATA)
|
||||||
|
|
||||||
|
rhts-lint $(METADATA)
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
PURPOSE of /CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
|
||||||
|
Description: Test for diffutils to ensure U3000 ideographic space is treated as space when used -b or -w options
|
||||||
|
Author: Filip Holec <fholec@redhat.com>
|
||||||
|
Bug summary: diff -w/-b doesn't treat U3000 (IDEOGRAPHIC SPACE) as space
|
||||||
|
|
||||||
|
Test for diffutils to ensure U3000 ideographic space is treated as space when used -b or -w options
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
a b
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
a b
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
summary: Test for diffutils to ensure U3000 ideographic space is treated as
|
||||||
|
space when used -b or -w options
|
||||||
|
description: "Bug summary: diff -w/-b doesn't treat U3000 (IDEOGRAPHIC SPACE) as space\n\
|
||||||
|
\nTest for diffutils to ensure U3000 ideographic space is treated as space when
|
||||||
|
used -b or -w options\n"
|
||||||
|
contact: Filip Holec <fholec@redhat.com>
|
||||||
|
component:
|
||||||
|
- diffutils
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- diffutils
|
||||||
|
duration: 5m
|
||||||
|
extra-summary:
|
||||||
|
/CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
|
||||||
|
extra-task:
|
||||||
|
/CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
|
||||||
57
tests/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space/runtest.sh
Executable file
57
tests/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space/runtest.sh
Executable file
|
|
@ -0,0 +1,57 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
|
||||||
|
# Description: Test for diffutils to ensure U3000 ideographic space is treated as space when used -b or -w options
|
||||||
|
# Author: Filip Holec <fholec@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh
|
||||||
|
|
||||||
|
PACKAGE="diffutils"
|
||||||
|
|
||||||
|
# This test requires a non-C locale. Lets make it predictable
|
||||||
|
export LC_ALL=en_US.utf8
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "cp a b $TmpDir" 0 "Copy files to $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "diff -w a b >out" 0 "diff with -w option"
|
||||||
|
rlRun "[ ! -s out ]" 0 "Output should be empty"
|
||||||
|
rlRun "diff -b a b >out" 0 "diff with -b option"
|
||||||
|
rlRun "[ ! -s out ]" 0 "Output should be empty"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
63
tests/sdiff-does-not-recognize-E-option/Makefile
Normal file
63
tests/sdiff-does-not-recognize-E-option/Makefile
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Makefile of /CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
|
||||||
|
# Description: Test for sdiff does not recognize -E option
|
||||||
|
# Author: Martin Kyral <mkyral@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
export TEST=/CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
|
||||||
|
export TESTVERSION=1.0
|
||||||
|
|
||||||
|
BUILT_FILES=
|
||||||
|
|
||||||
|
FILES=$(METADATA) runtest.sh Makefile PURPOSE file1 file2
|
||||||
|
|
||||||
|
.PHONY: all install download clean
|
||||||
|
|
||||||
|
run: $(FILES) build
|
||||||
|
./runtest.sh
|
||||||
|
|
||||||
|
build: $(BUILT_FILES)
|
||||||
|
test -x runtest.sh || chmod a+x runtest.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ $(BUILT_FILES)
|
||||||
|
|
||||||
|
|
||||||
|
include /usr/share/rhts/lib/rhts-make.include
|
||||||
|
|
||||||
|
$(METADATA): Makefile
|
||||||
|
@echo "Owner: Martin Kyral <mkyral@redhat.com>" > $(METADATA)
|
||||||
|
@echo "Name: $(TEST)" >> $(METADATA)
|
||||||
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||||
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||||
|
@echo "Description: Test for sdiff does not recognize -E option" >> $(METADATA)
|
||||||
|
@echo "Type: Regression" >> $(METADATA)
|
||||||
|
@echo "TestTime: 10m" >> $(METADATA)
|
||||||
|
@echo "RunFor: diffutils" >> $(METADATA)
|
||||||
|
@echo "Requires: diffutils" >> $(METADATA)
|
||||||
|
@echo "Priority: Normal" >> $(METADATA)
|
||||||
|
@echo "License: GPLv2" >> $(METADATA)
|
||||||
|
@echo "Confidential: yes" >> $(METADATA)
|
||||||
|
@echo "Destructive: no" >> $(METADATA)
|
||||||
|
|
||||||
|
rhts-lint $(METADATA)
|
||||||
6
tests/sdiff-does-not-recognize-E-option/PURPOSE
Normal file
6
tests/sdiff-does-not-recognize-E-option/PURPOSE
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
PURPOSE of /CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
|
||||||
|
Description: Test for sdiff does not recognize -E option
|
||||||
|
Author: Martin Kyral <mkyral@redhat.com>
|
||||||
|
Bug summary: sdiff does not recognize -E option
|
||||||
|
|
||||||
|
The test runs sdiff -E on two files differing just in use of tab/8 spaces. sdiff shall not fail and shall return that the files are identical.
|
||||||
2
tests/sdiff-does-not-recognize-E-option/file1
Normal file
2
tests/sdiff-does-not-recognize-E-option/file1
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
aaa
|
||||||
|
bbb
|
||||||
2
tests/sdiff-does-not-recognize-E-option/file2
Normal file
2
tests/sdiff-does-not-recognize-E-option/file2
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
aaa
|
||||||
|
bbb
|
||||||
14
tests/sdiff-does-not-recognize-E-option/main.fmf
Normal file
14
tests/sdiff-does-not-recognize-E-option/main.fmf
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
summary: Test for sdiff does not recognize -E option
|
||||||
|
description: "Bug summary: sdiff does not recognize -E option\n\nThe test runs sdiff
|
||||||
|
-E on two files differing just in use of tab/8 spaces. sdiff shall not fail and
|
||||||
|
shall return that the files are identical.\n"
|
||||||
|
contact: Martin Kyral <mkyral@redhat.com>
|
||||||
|
component:
|
||||||
|
- diffutils
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- diffutils
|
||||||
|
duration: 10m
|
||||||
|
extra-summary: /CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
|
||||||
|
extra-task: /CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
|
||||||
51
tests/sdiff-does-not-recognize-E-option/runtest.sh
Executable file
51
tests/sdiff-does-not-recognize-E-option/runtest.sh
Executable file
|
|
@ -0,0 +1,51 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
|
||||||
|
# Description: Test for sdiff does not recognize -E option
|
||||||
|
# Author: Martin Kyral <mkyral@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="diffutils"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "cp file1 file2 $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "sdiff -E file1 file2"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
85
tests/whitespace/Makefile
Normal file
85
tests/whitespace/Makefile
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||||
|
# is made available to anyone wishing to use, modify, copy, or
|
||||||
|
# redistribute it subject to the terms and conditions of the GNU General
|
||||||
|
# Public License v.2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# Author: bpeck@redhat.com
|
||||||
|
|
||||||
|
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
|
||||||
|
# Example Makefile for RHTS #
|
||||||
|
# This example is geared towards a test for a specific package #
|
||||||
|
# It does most of the work for you, but may require further coding #
|
||||||
|
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
|
||||||
|
|
||||||
|
# The toplevel namespace within which the test lives.
|
||||||
|
# FIXME: You will need to change this:
|
||||||
|
TOPLEVEL_NAMESPACE=CoreOS
|
||||||
|
|
||||||
|
# The name of the package under test:
|
||||||
|
# FIXME: you wil need to change this:
|
||||||
|
PACKAGE_NAME=diffutils
|
||||||
|
|
||||||
|
# The path of the test below the package:
|
||||||
|
# FIXME: you wil need to change this:
|
||||||
|
RELATIVE_PATH=whitespace
|
||||||
|
|
||||||
|
# Version of the Test. Used with make tag.
|
||||||
|
export TESTVERSION=1.1
|
||||||
|
|
||||||
|
# The combined namespace of the test.
|
||||||
|
export TEST=/$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||||
|
|
||||||
|
|
||||||
|
# A phony target is one that is not really the name of a file.
|
||||||
|
# It is just a name for some commands to be executed when you
|
||||||
|
# make an explicit request. There are two reasons to use a
|
||||||
|
# phony target: to avoid a conflict with a file of the same
|
||||||
|
# name, and to improve performance.
|
||||||
|
.PHONY: all install download clean
|
||||||
|
|
||||||
|
# executables to be built should be added here, they will be generated on the system under test.
|
||||||
|
BUILT_FILES=
|
||||||
|
|
||||||
|
# data files, .c files, scripts anything needed to either compile the test and/or run it.
|
||||||
|
FILES=$(METADATA) runtest.sh Makefile PURPOSE file1 file2
|
||||||
|
|
||||||
|
run: $(FILES) build
|
||||||
|
./runtest.sh
|
||||||
|
|
||||||
|
build: $(BUILT_FILES)
|
||||||
|
chmod a+x ./runtest.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ *.rpm $(BUILT_FILES)
|
||||||
|
|
||||||
|
# You may need to add other targets e.g. to build executables from source code
|
||||||
|
# Add them here:
|
||||||
|
|
||||||
|
|
||||||
|
# Include Common Makefile
|
||||||
|
include /usr/share/rhts/lib/rhts-make.include
|
||||||
|
|
||||||
|
# Generate the testinfo.desc here:
|
||||||
|
$(METADATA): Makefile
|
||||||
|
@touch $(METADATA)
|
||||||
|
# Change to the test owner's name
|
||||||
|
@echo "Owner: Bill Peck <bpeck@redhat.com>" > $(METADATA)
|
||||||
|
@echo "Name: $(TEST)" >> $(METADATA)
|
||||||
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||||
|
@echo "License: GPL V2" >> $(METADATA)
|
||||||
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||||
|
@echo "Description: diff -b should ignore whitespace ">> $(METADATA)
|
||||||
|
@echo "TestTime: 5m" >> $(METADATA)
|
||||||
|
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||||
|
@echo "Requires: $(PACKAGE_NAME)" >> $(METADATA)
|
||||||
|
|
||||||
|
# You may need other fields here; see the documentation
|
||||||
|
rhts-lint $(METADATA)
|
||||||
10
tests/whitespace/PURPOSE
Normal file
10
tests/whitespace/PURPOSE
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
Create 2 files, f1, f2 with contents "abc" and "abc " (without quotes),
|
||||||
|
i.e. the same line with a space on the end.
|
||||||
|
|
||||||
|
Diff ignoring whitespace:
|
||||||
|
|
||||||
|
diff -b f1 f2
|
||||||
|
|
||||||
|
should produce no diff output, but does on F8. Works fine on FC6.
|
||||||
|
|
||||||
|
version: diffutils-2.8.1-17.fc8
|
||||||
1
tests/whitespace/file1
Normal file
1
tests/whitespace/file1
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
abc
|
||||||
1
tests/whitespace/file2
Normal file
1
tests/whitespace/file2
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
abc
|
||||||
15
tests/whitespace/main.fmf
Normal file
15
tests/whitespace/main.fmf
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
summary: diff -b should ignore whitespace
|
||||||
|
description: "Create 2 files, f1, f2 with contents \"abc\" and \"abc \" (without quotes),\n\
|
||||||
|
i.e. the same line with a space on the end.\n\nDiff ignoring whitespace:\n\ndiff
|
||||||
|
-b f1 f2\n\nshould produce no diff output, but does on F8. Works fine on FC6.\n\
|
||||||
|
\nversion: diffutils-2.8.1-17.fc8\n"
|
||||||
|
contact: Bill Peck <bpeck@redhat.com>
|
||||||
|
component:
|
||||||
|
- diffutils
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- diffutils
|
||||||
|
duration: 5m
|
||||||
|
extra-summary: /CoreOS/diffutils/whitespace
|
||||||
|
extra-task: /CoreOS/diffutils/whitespace
|
||||||
36
tests/whitespace/runtest.sh
Executable file
36
tests/whitespace/runtest.sh
Executable file
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||||
|
# is made available to anyone wishing to use, modify, copy, or
|
||||||
|
# redistribute it subject to the terms and conditions of the GNU General
|
||||||
|
# Public License v.2.
|
||||||
|
#
|
||||||
|
# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# Author: Bill Peck
|
||||||
|
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="diffutils"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "diff -b file1 file2"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "rm -fr $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalEnd
|
||||||
|
rlJournalPrintText
|
||||||
371
upstream-key.gpg
Normal file
371
upstream-key.gpg
Normal file
|
|
@ -0,0 +1,371 @@
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: GnuPG v1.4.11 (GNU/Linux)
|
||||||
|
|
||||||
|
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
|
||||||
|
TsT5hoBVIBulDJ13iotYt5qIhAlhASJs
|
||||||
|
=Nb2k
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
Loading…
Add table
Add a link
Reference in a new issue