| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
POSIXLY_CORRECT=1 breaks quilt because quilt relies on patch working
non-interactively which is not the case in POSIX mode.
Bug-Debian: http://bugs.debian.org/462578
Reported-by: Brian M. Carlson <sandals@crustytoothpaste.ath.cx>
Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Within the Debian source package, .pc/quilt_patches ensures that
QUILT_PATCHES is set to debian/patches but when we build the
documentation we want the real default directory used by quilt, aka
"patches".
We achieve this by tricking quilt into using a non-existing
.pc directory so that we get the real default value.
Bug-Debian: http://bugs.debian.org/585438
Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
Apparently bash versions older than 3.2 are still in use. Reinstate the
configure check for the quoting bug in bash 3.1 which broke quilt.
|
| |
| |
| |
| |
| |
| | |
Instead of failing when a proper email address cannot be extracted from a
Signed-off-by, Acked-by, Suggested-by, Reviewed-by, Requested-by, Reported-by,
Tested-by, To, or Cc line, give a warning and skip that line.
|
| | |
|
| |
| |
| |
| |
| | |
It makes no sense to pass the recipient addresses to edmail when removing Bcc
lines.
|
| |
| |
| |
| |
| |
| |
| | |
In particular, empty strings will not work as email addresses.
Also, use sed's "I" flag for case-insensitive searching; "i" will sometimes
be mistaken for the "insert" operator.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Improve error checking by using the "pipefail" option, available since bash 3.
Since bash 3.1 is known to be broken already, require bash 3.2 directly.
Report the patch name as well when "quilt mail" finds a problem with a patch.
|
| | |
|
| |
| |
| |
| | |
This fixes bug #12428.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This fixes bug #25579.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a continuation of Yasushi SHOJI's initial work of fixing
support for file names with spaces. This time I fixed support in the
grep command. This is particularly important because the grep command
operates on all files in the work tree, even if they aren't touched
by any patch, so the chances that one of them has a space in its name
is greater. As before, no guarantee is made that all options are
covered, but this should be a good starting point.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
In silent mode, loops which do nothing but print messages turn into
no-ops. Skip them completely to save some time.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Keep /dev/null opened as we will need it repeatedly. Avoiding
repeated calls to open brings a small performance boost.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| | |
Drop support for backup removal (option -x). Quilt doesn't use it.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| | |
Drop support for -L on restore, quilt doesn't use it.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The two callers of restore_fast already know if they are operating on
an empty or non-empty backup-file. Move the code back to the calling
sites, to avoid this redundant test.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Misc cleanups:
* Add my copyright and simplify the reference to the initial version.
* Drop the program description, as it is redundant with the usage
function.
* Clarify the usage message, to make it clear what each option is
doing, and which ones are compatible with each other.
* Let the script complain if no action is given, as this has to be a
user or developer error.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When copying many files to a snapshot directory, try a mass copy
first, as it is much faster. It is however not portable and may thus
fail. If it fails, fallback to per-file processing, which always
works.
This change results in a huge performance boost on systems where
the cp command supports all the required options (which includes
all systems using GNU coreutils.)
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Create a dedicated function for mass-copying files. At the moment it
isn't bringing any gain, but this will get improved next.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We are abusing backup-files's "backup" function for quilt snapshot.
What we need is semantically different, and it works almost by
accident. We don't want linked copies of the files, we want real
copies, and the fact that "quilt snapshot" may touch the working
files is a little frightening IMHO.
So, implement a separate "copy" function which does what we need. Not
only it does the right thing, but it will also be somewhat faster
than "backup", as we can do straight copies of the files without
checking for their link count first.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The mass link/copy will create the required directories by itself if
it succeeds. As files being removed don't require the creation of a
directory, this means we can move the creation of the directories
to the case where non-empty files have to be processed individually.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When restoring all files from a backup directory, try a mass link (or
copy) first, as it is much faster. It is however not portable and may
thus fail. If it fails, fallback to per-file processing, which always
works.
This change results in a huge performance boost on systems where
the cp command supports all the required options (which includes
all systems using GNU coreutils.)
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Create two separate lists for empty and non-empty files. This will
allow dedicated handling of each set of files.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remember the results of the find command, to avoid having to run it
again later. We use a temporary file rather than a local variable,
because you can't store binary zeroes in a bash string, and because
the temporary file approach performs better on large file sets.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The "check for hard links" use case is almost always a no-op. Check
if any work is needed at all first, and only if this is the case,
walk the list of files and unlink the faulty files. This approach
results in a huge performance gain in the most common case, and a
very small performance loss in the uncommon case.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the code to restore all files from a backup directory to a
separate function. This only duplicates a small amount of code, and
makes the code clearer. This will also allow further optimizations of
the specific use case of "quilt pop".
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Raphael Hertzog <hertzog@debian.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|