| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
In if/else constructs, always start with the positive case, to avoid
a negation.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
| |
Optimize the noop operation. The only use case in quilt is to ensure
that files have a link count of 1, so we can check that OPT_NOLINKS
is set once and for all, instead of checking again with every file.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
| |
Don't use the ${VAR} construct when we don't have to, it's slightly
slower than simple variable names. Likewise, don't use quotes when
we don't have to.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When restoring all files, batch the first steps (directory creation
and target file removal) and last steps (optional touch and backup
file removal). This makes the typical restore case (quilt pop) much,
much faster.
Note: a similar optimization would be possible for the removal
function (-x), but quilt doesn't use this function at the moment.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
| |
Use quilt's internal implementation of dirname. This is more
efficient than calling an external binary, and avoids a dependency.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
| |
Make the various file list selection methods mutually exclusive.
This is the actual usage scheme by quilt, and handling them
separately makes the code both clearer and more efficient.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
| |
No need to copy all file names to a dedicated array, we can use $@
directly instead.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Optimize backup:
* Due to the way quilt uses backup-files, the backup file will never
exist, so there is no point checking for this.
* Don't attempt to create directories which already exist.
* Use > instead of touch to create new files, it's faster.
* Stop supporting option -t on backup, it's undocumented and quilt
doesn't use it.
* Drop unneeded quotes around constant.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Optimize restore:
* Don't call mkdir if we know the directory already exists.
* Don't try to optimize the -L case, quilt doesn't use it anyway and
the current optimization is broken.
* Move common code at the end of the function.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
| |
The different actions don't have much code in common, so it would be
more efficient to let different functions handle them.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
| |
Let find report errors by itself.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
| |
Enforce the fact that the prefix must be a directory. This is what
quilt does, and enforcing it allows some code clean-ups.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Calling dirname and basename is costly, and here we really don't have
to. We can simply use a different temporary file name.
Additionally, if stat succeeds, it will always return a valid number,
so we can relax the tests.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
| |
Expand functions copy_file and link_or_copy_file at calling
locations, the code is so simple that it hardly deserves dedicated
functions.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
| |
The program name $0 is a global variable, there is no point in
passing it to functions as a parameter.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
| |
Don't test for the presence of files to process. Nothing wrong will
happen if we don't have any file to process, and backup-files is for
quilt's internal use only, so there is no need to be paranoid.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
| |
Quilt doesn't make use of the suffix (-z) option of backup-files, so
there is no point in implementing it
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
| |
Finally get rid of the old C implementation of backup-files, together
with all the related checks in configure and variables in Makefile.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
| |
Use rmdir -p instead of open-coding it. The more complex code was
maybe needed to properly handle symbolic links, but we know that
there won't be symbolic links in the backup directory, so the extra
complexity isn't needed.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
| |
Avoid using uncommon cp options which hurt portability. I fail to see
why we would need them anyway, as we are never working with symbolic
links by construction (quilt doesn't support them.)
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
| |
The stat command on BSD takes different parameters from the GNU one.
Let configure find out which variant is available, and use the right
parameters.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
Make backup-files a shell script instead of a binary, so we can make
quilt arch: all [Steve Langasek, thanks so much]
(Closes: Debian #363659)
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
| |
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Based on a preliminary patch by Yasushi SHOJI.
None of quilt code uses parse-patch anymore. The last one, it seems,
was contrib/import.diff, which was removed at 2f9728a9. So, just
remove it.
|
|
|
|
|
|
|
| |
file permissions
Access control lists will add a "+", and SELinux will add a "."; we don't care
in the test suite.
|
|
|
|
|
| |
In addition to Signed-off-by and Acked-by, also CC people in Suggested-by,
Reviewed-by, Requested-by, Reported-by, and Tested-by headers.
|
|
|
|
|
|
|
| |
There is no guarantee that the wrapper script can be executed.
For example users can mount their temporary directories with noexec
for security reasons. Instead of failing with no explanation,
complain when this situation is detected.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When using bash TAB completion in "quilt push <TAB>", if no patch is
applied, it shows the standard error of the command "quilt applied"
("No patches applied"), used in the source file bash_completion to get
the list of applied patches.
This is similar to commit 6af132b5061f6773f9591ebde625c92a395ebc91,
but for the push script that were forgotten previously.
|
|
|
|
| |
This avoids generating it twice, once for README and once for quilt.1.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 5f17e6f29c22282a4bf2819ac7ee08c942e6e103.
We rely on bash for the rest of quilt, so it is no real issue to rely
on it for the makefile. If we try to remove it, we have to deal with
the portability another way. For example, BSD and Mac OSX versions of
sed are not able to deal with \n by themselves...
The correct fix will be to force the SHELL to be bash in the makefile.
|
| |
|
|
|
|
|
|
|
|
| |
Rational: If QUILT_PATCHES and QUILT_PC are set to the same directory,
the awk script in filenames_in_patch (in scripts/patchfns) will break
with a '<patchname> is a directory' error.
Patch provided by anonymous in #30956 on savannah
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The echo command of dash interprets \f as a special characer and
thus generates a bad manual page. bash's echo leaves them unchanged
(it needs -e to replace those special characters). Using printf
instead is a portable solution that work with both shells.
.
The code also uses a bashism ($'') but it's not really needed with
GNU sed at least (it understands \t and \n) so drop it and avoid some
painful double escaping.
.
This patch was written by Raphael Hertzog for the Debian package, and
updated by Martin Quinson so that it applies on lastest upstream
sources.
Author: Raphael Hertzog <hertzog@debian.org>
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/quilt/+bug/402237
Bug-Debian: http://bugs.debian.org/563517
|
| |
|
|
|
|
|
| |
That way, it can be easily changed from the command line, which
was not the case before.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TMPDIR is set to /tmp by default on some systems [1], in this case
letting it take over /var/tmp voids the point of using /var/tmp for
data size reasons in the first place [2]. I'd rather hardcode
/var/tmp. But in case someone really wants to control this, we can
check if VARTMPDIR is set and use that if it is set.
[1] I tried to track down how it was happening and I am far from
certain that this is on purpose. I've seen it happen only on local
graphical login, not on text console login nor remote login. This
suggests a leak from some piece of the graphical desktop stack. And
I've seen it on both KDE and Gnome, but not Xfce. Go figure.
[2] This is the reason given in commit
d4074d26276b9a2d452563dbf57ed497afa7b710 for using /var/tmp.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Make sure to remove trailing whitespace (including the newline) when extracting
recipient addresses from headers.
|
| |
|
| |
|