| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* Command lines containing "&" need /bin/sh.
* "*" and "?" need not be escaped inside brackets in regular expressions.
|
|
|
|
|
| |
Declare all global variables with qw() and stop passing them as
arguments to some functions.
|
|
|
|
|
| |
Move functions before they are called, so that we no longer need forward
declarations.
|
|
|
|
|
| |
Code indentation in this file is inconsistent, this makes editing it
difficult. Use tabulations everywhere.
|
|
|
|
|
|
| |
The su and sg commands can only work if running as root. The quilt
test cases do not use these commands and I certainly wouldn't
recommend running the test suite as root, so drop the feature.
|
|
|
|
|
|
|
|
| |
Perl has a standard module which can split shell command lines for
us, so use it. Function shellwords can deal with quoted parameters
too so we no longer need to pass commands to /bin/sh just because
they contain quoted parameters. This lowers the ratio of commands
passed to /bin/sh from 34% to 31%.
|
|
|
|
|
| |
Delay command line splitting until it's actually needed. This avoids
having to join it again to log it or to pass it to /bin/sh.
|
|
|
|
|
|
| |
Before this fix, "quilt diff -z" would fail on files with spaces in
their names, with the following error message:
Failed to copy files to temporary directory
|
| |
|
|
|
|
| |
The message was not updated when support for -pab was added.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow distributors to provide compat symlinks for cp and md5sum on
non-GNU systems. md5sum is used by quilt/scripts/inspect and is
provided by GNU coreutils, but may be installed as gmd5sum on some
systems (e.g. OpenBSD). quilt/scripts/backup-files invokes cp
with some non-portable GNU-specific command line arguments
(e.g. --parents --remove-destination --target-directory).
Original diff from Jérémie Courrèges-Anglas <jca@wxcvbn.org> on
OpenBSD ports mailing list.
Reported-by: Jérémie Courrèges-Anglas <jca@wxcvbn.org>
Signed-off-by: Kent R. Spillner <kspillner@acm.org>
|
| |
|
| |
|
|
|
|
|
| |
The debian package is maintained in
git://git.debian.org/git/collab-maint/quilt nowadays.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Constructs of the form:
if ! [ ... ]
then
...
else
...
fi
can be swapped to avoid the negation. It makes the code easier to read
and slightly faster to run.
|
|
|
|
|
|
|
| |
* Delete blank lines at end of files.
* Delete white space at end of lines.
* Delete spaces before tab.
* Replace 8 spaces by a tab where it makes sense.
|
| |
|
|
|
|
|
|
| |
This is trigered e.g. when you try to add a binary file to a patch.
This is actually creepy to think that we were not checking the
retcode of diff :)
|
|
|
|
|
|
| |
Use the same syntax for file testing as used in other test cases. It
is more readable and avoids having to add yet another condition for
$needs_shell.
|
|
|
|
|
|
|
| |
Explain why -E is no longer passed to patch by default, and why a
user may want to revert to the old behavior.
Based on a preliminary patch by Martin Quinson.
|
|
|
|
|
|
|
| |
Add a test case for "quilt refresh" on a patch leaving an empty file.
We were already testing that imported patches doing that were handled
properly, now we want to ensure that refreshing such patches preserves
the information.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Quilt can now import patches emptying a file, however the proper
header formatting is lost on refresh. Fix it.
The format is still not correct for patches creating a file. This is
because quilt creates an empty backup file for every non-existent file
being added to a patch. This is how quilt remembers that the file is
modified by the top-most patch. Ideally the list of files belonging to
the top-most patch should be stored separately in a metadata file.
That being said, it is not critical in practice because GNU patch
makes no difference between adding contents to a new file and adding
contents to an empty file.
|
| |
|
| |
|
|
|
|
|
|
| |
For now this only covers the push and fold commands on imported patches,
which we just fixed. Later we can add tests for the refresh command,
which is still not OK.
|
|
|
|
|
|
|
|
|
|
|
| |
GNU patch version 2.5 and newer deals just fine with empty files,
however our use of option -E breaks this feature. So stop using this
option. Anyway, the manual page says: "Normally this option is
unnecessary" and the test suite passes just fine without it.
If anyone is using legacy patch formats which do require the use of
option -E, they can add it to QUILT_PATCH_OPTS to revert to the
previous behavior.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the user's quilt configuration file (~/.quiltrc or
/etc/quilt.quiltrc) contains QUILT_PATCHES_PREFIX=yes (and the
default /etc/quilt.quiltrc does), bash completion chokes on patch
names. This is because quilt series, applied and unapplied return
relative patch names instead of the expected absolute patch names.
This can be solved by skipping configuration files when quilt is
called from the bash completion script.
This fixes bug #27111:
https://savannah.nongnu.org/bugs/index.php?27111
|
|
|
|
| |
uncommon options
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* Remove the implemented features from the to-do list.
* Document the command line interface.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Variable substitution on command lines was happening too early so
setting a variable only took effect with the second next line of the
test case.
Additionally, there was no check that the environment variable was
actually set. This resulted in perl warnings during the test suite if
a variable is ever used before having been set.
Fix both issues.
Also add a test case for this feature, to avoid a future breakage.
Some of the tester script features are tricky and easy to get wrong,
so test them independently of quilt in a dedicated test case.
|
|
|
|
|
|
|
| |
Rewrite the main parsing loop of the tester scripts, in a way which
is easier to understand and avoids redundant tests.
No functional change here.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Documentation update: add an EXIT STATUS section to the manual page.
Closes Debian bug #587001:
http://bugs.debian.org/587001
|
|
|
|
|
| |
Quilt pop at the bottom of the stack returns 2, as does quilt push at
the top of the stack.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is mandatory to differentiate "error" and "everything's done".
This really eases the scripting around quilt, for example in Debian's
patchsys-quilt.mk.
It used to works this way until quilt 0.33, and was broken accidentally
(in commit 188c7dac) for "quilt push".
Closes Debian bug #358792:
http://bugs.debian.org/358792
|
|
|
|
|
|
|
| |
- test/run: Record the status returned by every command, so that test
cases can check them.
- test/*.text: Test the status returned by all commands in 4 test
cases.
|
|
|
|
| |
Add a few words to the example section to make it clearer.
|
|
|
|
|
|
|
|
| |
Similar to EDITOR, document quilt's use of LESS when paging output.
QUILT_LESS_ARGS is unnecessary, so revert 497979e561e880fb0d11be82c78544e5718d531b.
Signed-off-by: Kent R. Spillner <kspillner@acm.org>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
POSIX-compliant implementations of wc right-justify each column of
output in 7 character wide columns. Tests that verify the output
of wc -l should take into account the number of digits in the line
count and add the appropriate padding. Therefore, in order for the
tests to pass with both POSIX-compliant and non-POSIX-compliant
implementations of wc tests should match wc output against patterns
with optional whitespace prefixes.
Signed-off-by: Kent R. Spillner <kspillner@acm.org>
|
|
|
|
|
|
|
|
|
| |
Add a QUILT_LESS_ARGS variable that can be used to configure what quilt will
set LESS to when LESS is undefined. Defaults to -FSRX so no functional change
in the default case, but allows users to drop the -F argument as needed (for
example, when using a multiline shell prompt) without explicitly setting LESS.
Signed-off-by: Kent R. Spillner <kspillner@acm.org>
|
| |
|