| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the parameter passed to gen_tempfile is based on the working
directory, we need to quote it because it could contain spaces or
other special characters. Also quote the string returned by this
function for the same reason.
Affected commands:
* quilt diff -z
* quilt fold
* quilt refresh -z
* quilt revert
Also test these code paths in the test suite to avoid regressions.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
In practice there is no situation where patchfns would be sourced
more than once, so remove the check for this situation, that was
present in every quilt command file.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes a bug in quilt-editable: if QUILT_PATCHES_PREFIX is
set, quilt-editable will always return nil, even if the file being
edited is part of the topmost patch.
If QUILT_PATCHES_PREFIX is set, then 'quilt top' prints the patch name
as a relative path to the patch. Since in quilt-editable we're running
'quilt top' from the top level directory, the printed patch path is in
the form $QUILT_PATCHES/patch-name.
Later on, we're looking for a cached version of the file that we're
editing in .pc/. The patch directories are stored directly under .pc/,
rather than .pc/$QUILT_PATCHES/, so we must remove the $QUILT_PATCHES/
prefix from the patch path.
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
| |
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When creating the .pc/ directory, quilt writes the value of
QUILT_PATCHES to .pc/.quilt_patches. On all subsequent invocations,
quilt uses the contents of .pc/.quilt_patches as the value of
QUILT_PATCHES, rather than the value set in quiltrc.
All the callers in quilt.el really expect the per-project setting from
.pc/.quilt_patches, so return the value set therein if present.
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
quilt loads /etc/quilt.quiltrc if ~/.quiltrc doesn't exist. Do the
same in quilt.el.
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
| |
quilt-patches-directory is a copy-paste of
quilt-pc-directory. Refactor the common code into a separate
function.
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
| |
This is a copy-and-paste error from function quilt-patches-directory
in commit f7b69c58d21903baacb290840e7bed9282e357e2.
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Fixes: f7b69c58d219 ("lib/emacs: read QUILT_PC from config file")
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
| |
Test all commands, including annotate and patches, in the no-series
test case, and check the error code returned too.
Remove no-series checks from all other test cases, as testing the
same code path twice is a waste of time.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If no series file is found, let all quilt commands which need it
complain about it immediately. This aligns the behavior of the "pop",
"series" and "snapshot" commands with how all other commands behave.
The "import", "new", "setup" and "upgrade" commands are not affected
by this change, as they are legitimately called without a series
file.
A side effect of this change is that the "pop", "push", "top" and
"next" commands will now return with error code 1 instead of 2 when
called outside of a quilt-managed tree.
Inspired by Martin Quinson. This fixes Debian bug #369908:
https://bugs.debian.org/369908
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
| |
Document the list of latex packages that must be installed in order
to build the PDF documentation.
Suggested by Ondřej Lysoněk.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
quilt loads /etc/quilt.quiltrc if ~/.quiltrc doesn't exist. Document
it.
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to have cross-references in the PDF documentation, we need
a two-pass process, where the first pass prepares the references
while the second pass generates the actual PDF.
Do that explicitly from now on, so that the cross-references are OK
even when building the documentation for the first time.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Tested-by: Ondřej Lysoněk <olysonek@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
In Latex, a double dash produces an "en dash". If a literal double
dash is needed, '-{}-' can be used.
Based on a similar fix to the English version of the document by
Ondřej Lysoněk.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
In Latex, a double dash produces an "en dash". If a literal double
dash is needed, '-{}-' can be used.
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
| |
"Serie" is not a word. Change it to "series".
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
| |
* If there is no top patch, then there can't be patches before the
top patch.
* Use applied_before as it is faster than patches_before.
The performance gain was measured to be between 1% and 3% on
half-applied large patch series.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
| |
|
|
|
|
|
|
| |
A pretty simple test case to avoid regressions in corner cases.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fast mode of processing spec files has been implemented over 4
years ago. Not only it is faster, but it also handles corner cases
in spec files better in general. Make it the new default.
Option --slow is still available to revert to the old implementation
if needed. However in the long run I hope that we can get rid of it
completely.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Author: Urs Thuermann <urs@isnogud.escape.de>
Date: Tue Feb 11 06:43:05 2020 +0100
Call pager with original LANG environment variable
The first few lines in quilt/scripts/patchfns set the LANG environment
variable to POSIX saving the previous value in ORIGINAL_LANG. This is
used to restore the original locale when calling a user-specified diff
command but not for the pager. Without this patch the pager is called
with LANG=POSIX causing non-ASCII characters to be printed wrong
unless LC_CTYPE is also set in the environment.
This patch restores LANG for the pager to its original value.
|
|
|
|
|
|
|
| |
Author: Urs Thuermann <urs@isnogud.escape.de>
Date: Tue Feb 11 06:42:02 2020 +0100
Simplify calling user-specified diff with original LANG environment
|
|
|
|
|
|
|
|
|
|
| |
Explain how patch options like the strip level can be recoded in the
series file.
Suggested by Cristian Rigamonti in bug #56886:
https://savannah.nongnu.org/bugs/index.php?56886
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is mainly intended to get the setup.test working even if the
debian package contains a .pc directory. Without this patch, the
debian packaging stuff will get the testsuite using debian/patches
instead of patches (because it's the way it goes in our .pc). The
test breaks with that setting.
The patch changes the setup command to not take the settings of any
.pc directory found, and reset QUILT_PC QUILT_PATCHES and QUILT_SERIES
to their default values.
This fixes Debian bug #573689:
http://bugs.debian.org/573689
|
|
|
|
|
|
|
|
|
| |
It was handled in autoconf.ac, but not Makefile.in.
[JD: Simplified and updated description accordingly.]
Signed-off-by: Mihai Moldovan <ionic@ionic.de>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
| |
|
|
|
|
| |
Also update one string for the setup command (one sentence removed).
|
|
|
|
|
|
|
| |
If some users are already changing the value of QUILT_PC and it
works, we may as well document it.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
| |
Use a variable (QUILT_PC) instead of hard-coding ".pc" as the name of
the directory where quilt stores the state of the working tree
throughout the test suite. We still set that variable to ".pc" to
make it easier to investigate failed test cases, but at least this
allows us to promptly test that QUILT_PC can actually be set to any
other value and quilt still works.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By default, we continue running tests even after a failure, to make
diagnostics easier. If a chdir command fails, there is a chance that
subsequent chdir commands could accidentally move outside the
temporary directory where the test is being run, and then we start
messing up with the host's files.
In general, the consequence is to leave garbage files and directories
behind. However, some of the files can have side effects (for example
a "series" file or a "patches" directory could confuse quilt later),
and in theory this could also lead to the corruption or deletion of
existing files, which is pretty bad.
So add a safety check after every chdir command that we are still
inside the test case's working directory. If not, stop the test
immediately.
Note: this is not about being 100% safe and bullet-proof. The only
way to achieve this would be to use chroot or even containers. We
still need to trust the test cases to not do anything nasty on
purpose. This is only protecting against good test cases going wild on
failure.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
| |
Remove the requirement to unpack the source tree manually when using
the fast mode of quilt setup and the parameter is a series file.
Instead, let --fast behave exactly like --slow, so that both modes
can be used interchangeably.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
| |
Read QUILT_PC from config instead of using hardcoded one.
Do it as we do with QUILT_PATCHES var.
|
|
|
|
|
|
|
| |
As we now have the need to check for the presence of a trailing
newline twice, move the code to a function to avoid redundancy.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When editing the series file with certain editors, it is possible that
no trailing newline character is present on the last line. In such
case, adding a new patch at the end of the series would corrupt the
series file. Prevent that by ensuring that a newline character is
always present.
This fixes the second issue reported in bug #54295:
https://savannah.nongnu.org/bugs/?54295
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
| |
Add support for lzip-compressed archives (*.tar.lz) and patches.
This closes bug #54570:
https://savannah.nongnu.org/bugs/?54570
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compatibility getopt script allows only digit parameters to be
embedded in short options. Util-linux's getopt implementation does
not have such a restriction and allows any parameter to be embedded
in short options. As a consequence, using the compatibility getopt
script would choke for example on "-pab", which is a legal option
of the "quilt refresh" command.
Remove the limitation on digits so that the compatibility getopt
script allows what util-linux allows. This fixes the second half
of bug #54772:
https://savannah.nongnu.org/bugs/index.php?54772
As a side note, this feature of the compatibility script was broken
anyway, as it would output the digits in reverse order.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
getopt can be passed 2 '--' separators. The first one tells that
getopt options are over and target program options start. The second
one tells that the target program's options are over and following
arguments should be treated as non-options even if they look like
options.
This second separator was not handled, causing the compatibility
getopt script to treat the following arguments as options, eventually
failing one way or another.
Properly detect and handle the second separator. This fixes the first
half of bug #54772:
https://savannah.nongnu.org/bugs/index.php?54772
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
| |
When a patch doesn't exist, complain about that instead of complaining
that no subject header can be extracted.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Content-Disposition headers quilt has been adding since 2015 are
causing problems with Thunderbird and Gmail, which display patches as
attachments instead of text if this header is present and includes a
filename. This breaks email-based patch reviewing and isn't likely to
get fixed on the email client side, so stop adding those headers.
Recipients of patches via email already need a mechanism to construct
filenames for messages coming from anything but quilt, so this change is
unlikely to cause major problems for existing users.
|
|
|
|
|
|
|
|
|
|
|
| |
Improve overall consistency even if mail headers are case-insensitive.
(The mail threading broken by commit 1d659beb "quilt/mail: Remove
procmail dependency" was already fixed by commit 360b85e1 "mail: Fix
patch set threading".)
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Passing --unified to patch by default prevents using other patch
formats. Out of curiosity, I checked if it helped with performance
but was not able to measure any improvement. So stop passing
--unified by default.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
| |
Most people don't know about the guards helper which can be used
to generate series files. Mentioning it in the quilt manual page
should help raise the awareness.
|
|
|
|
|
|
|
| |
If the user hits Ctrl+C while a test is running, don't leave our
working directory behind.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
| |
Being a little more verbose when mkdir or chdir fails, can't hurt.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One user reported the following issue as bug #51977:
Lisp error: (wrong-type-argument stringp nil)
file-name-nondirectory(nil)
(let ((p (file-name-nondirectory (quilt-top-patch)))) (if (not p) "none" (let ((p2 (file-name-sans-extension p))) (if (< (length p2) 10) p2 (concat (substring p2 0 8) "..")))))
quilt-short-patchname()
(concat " Q:" (quilt-short-patchname))
(setq quilt-mode-line (concat " Q:" (quilt-short-patchname)))
quilt-update-modeline()
This change should fix it.
https://savannah.nongnu.org/bugs/?51977
|
|
|
|
|
| |
Increase the code path coverage of test case space-in-work-dir by
running one command from a subdirectory.
|
|
|
|
| |
Fixes change into a basedir with spaces in the name.
|
| |
|
|
|
|
|
| |
Fixes: 402f78e4b693 ("configure: md5sum is optional")
Fixes: f0b63c5b7533 ("setup: Add basic support for p7zip (.7z) archives")
|