summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Check for series file consistencyJean Delvare2014-10-272-3/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Quilt allows manual changes to the series file to some degree. For example, adding comments or reordering patches in the unapplied section of the series file is OK. However, changing the order of applied patches breaks a number of assumptions and can cause quilt to produce unexpected or confusing results. For example, starting from this: + patches/01.patch = patches/02.patch patches/03.patch patches/04.patch and moving the last patch at the beginning of the series file, "quilt series -v" will print: + patches/04.patch + patches/01.patch = patches/02.patch patches/03.patch That is, it will claim that 04.patch is applied, while it it not. Likewise, 04.patch would be listed by neither "quilt applied" nor "quilt unapplied". While addressing all such cases would certainly be possible, that would require a significant amount of work, and would come with performance penalties. It would also be difficult to be certain that all issues have been found and addressed. So it seems more reasonable to simply spot such manual changes to the series file and ask the user to pop all patches to start from a clean state as needed.
* inspect: Comment updateJean Delvare2014-10-251-1/+1
|
* Optimize function is_numericJean Delvare2014-10-241-1/+1
| | | | | The same test can be implemented using only shell code, saving the cost of piping to an external command.
* Test push and pop with numeric argumentsJean Delvare2014-10-151-0/+23
|
* inspect: Skip version checkJean Delvare2014-10-131-0/+3
| | | | | | | Commit a626fcf8b95f2ff51701a00d65043b9f65207514 (setup: Skip version check) is insufficient for spec file-based setup commands. inspect itself also sources patchfns, so it must also skip the version check explicitly.
* inspect: Handle long options passed to tarJean Delvare2014-10-131-0/+45
| | | | | | | | | | | | | | | | The command line interface to tar is complex and sometimes confusing, but we should still do our best to figure out where the file name is on that command line. Add support for the --file FILE and --file=FILE options. Other long options must be explicitly skipped, as well as short options not containing the letter "f". With this we should be good to go in most real-world cases, but there are still a few corner cases we may not handle properly. Let's just hope we never hit them. Reported by Petr Tesarik.
* files: Add support for unapplied patchesJean Delvare2014-07-232-2/+10
| | | | | | We already have a function to figure out which files are touched by unapplied patches. The only thing missing to let the user call "quilt files" on unapplied patches was two small spots of glue.
* filenames_in_patch: Print each file only onceJean Delvare2014-07-231-2/+3
| | | | | Filter out duplicates in filenames_in_patch so that callers don't have to deal with them.
* Optimize function filenames_in_patch againJean Delvare2014-07-161-2/+2
| | | | | Another minor optimization in filenames_in_patch: reorder the field testing to only test $3 as needed.
* Test context patchesJean Delvare2014-07-141-1/+43
| | | | | Now that the patches command works with context patches, we can test that.
* patches: Use filenames_in_patchJean Delvare2014-07-142-26/+7
| | | | | Function filenames_in_patch in patchfns does roughly the same as function touched_by_patch, so fix the former and use it.
* Optimize function filenames_in_patchJean Delvare2014-06-241-2/+2
| | | | | | Minor optimizations: * Drop unneeded quotes * Drop unneeded pattern capturing
* Helper function checking for external toolJean Delvare2014-06-174-25/+19
| | | | | | | | | Introduce a helper function checking for availability of a given external tool. A standard error message is displayed if the required tool is not available. Use this helper function in graph, mail and setup, instead of duplicating the code.
* mail: Use array_joinJean Delvare2014-06-111-1/+1
| | | | | Use the array_join helper function, it is more readable than bash magic.
* Fix NEWS file formatJean Delvare2014-06-091-3/+3
|
* Informative message when using graph without graphvizMartin Quinson2014-06-092-1/+16
| | | | | | | | | | | | | | | | | | Previously, trying to use the graph subcommand without graphviz being installed resulted in a cryptic error message: Can't exec "tred": No such file or directory at /usr/lib/perl/5.14/IO/File.pm line 66, <STDIN> line 1. graphviz is already in the Suggests field of the debian package, and we cannot raise this dependency severity given the central role of quilt in the debian infrastructure. This informative error message is much more sensible. Also, merge the error message with the one from quilt mail when formail is not installed to ease the life of translators. Fixes Debian bug #659944: Bug-Debian: http://bugs.debian.org/659944
* setup: Check for rpmbuild availabilityJean Delvare2014-06-091-0/+8
| | | | | Before running inspect on a spec file, verify that rpmbuild is available. Print a user-friendly error message if not.
* setup: Skip version checkJean Delvare2014-06-092-0/+10
| | | | | | | The version check is irrelevant when running "quilt setup", as it is creating a brand new working tree anyway. Reported by Petr Tesarik.
* partially revert commit fc06a60fKent R. Spillner2014-06-043-94/+0
| | | | | | | | Commit 48ff26d6 already added a QUILT_COMPAT_PROG_PATH line for cp to configure.ac, and the corresponding CP variable in Makefile.in. I don't know how I missed this originally; sorry for the churn! Signed-off-by: Kent R. Spillner <kspillner@acm.org>
* faildiff.test: loosen error string constraintKent R. Spillner2014-06-031-1/+1
| | | | | | | | diff might be called by a different name if the configure script was invoked with the --with-diff argument. Make the permissions test in faildiff.test match other names as well. Signed-off-by: Kent R. Spillner <kspillner@acm.org>
* Makefile.in: fix patch-wrapper checksAndreas Gruenbacher2014-06-032-3/+11
| | | | | | | | | | | | 293c4ddb added checks to Makefile.in to disable the patch-wrapper test when the configure script is not invoked with the --with-patch-wrapper argument. Those checks assumed that PATCH_WRAPPER will always be empty unless --with-patch-wrapper was used. However, PATCH_WRAPPER will be set to "no" when the configure script is invoked with the --without-patch-wrapper argument. Reported-by: Kent R. Spillner <kspillner@acm.org> Signed-off-by: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
* Set version to 0.63v0.63Martin Quinson2014-05-253-11/+14
|
* Set version to 0.62v0.62Martin Quinson2014-05-073-11/+11
|
* reupdate the translation files (no manual change)Martin Quinson2014-05-074-329/+410
|
* translations need love tooMartin Quinson2014-05-071-0/+4
|
* update the french translation, back to 100%Martin Quinson2014-05-071-96/+111
|
* tentative documentation of the upcoming releaseMartin Quinson2014-05-051-0/+15
|
* improve the documentation about the layout of a working directoryMartin Quinson2014-05-041-9/+24
|
* test: Extend mail.test to check for more than 2 duplicate subject linesJean Delvare2014-04-251-0/+11
|
* test: Make patch-wrapper.test saferJean Delvare2014-04-251-0/+7
| | | | | Create directory "patches" so that quilt commands get the right root even if patch-wrapper fails.
* Delete quilt.changesJean Delvare2014-04-172-4073/+0
| | | | | | | | | | | | | | File quilt.changes is essentially redundant with git log. It is close to useless to packagers and users as it contains too much details while at the same time some important changes can be missing when we forget to include them in the file. A new file, NEWS, was created to list the user-visible change summary for each version. This is much more useful for the target audience. NEWS is now used instead of quilt.changes to generate the %changelog section of the rpm spec file. Thus we can delete quilt.changes, as well as changes2changelog.
* Update the release checklistJean Delvare2014-04-171-3/+3
| | | | | Update doc/RELEASING to mention the NEWS file instead of the quilt.changes file.
* Generate rpm's %changelog from NEWSJean Delvare2014-04-171-4/+5
| | | | | NEWS is much more appropriate than quilt.changes to feed the rpm spec file's %changelog section.
* Add a NEWS fileJean Delvare2014-04-171-0/+106
| | | | | | | | Add a NEWS file containing a summary of the most important user-visible changes in each version of quilt. The goal is to replace quilt.changes, which was partly incomplete and partly redundant with the git log, by something useful for packagers and users.
* Re-enable patch-wrapper testJean Delvare2014-04-161-0/+3
| | | | | | | The patch-wrapper test was unconditionally disabled by commit 97200435 ("Only run test/patch-wrapper.test if the --with-patch-wrapper config option is used.") Re-enable this test when the --with-patch-wrapper config option is actually used.
* patches: Fix heuristic for unapplied patches with timestampsJean Delvare2014-04-092-1/+47
| | | | | | | | | | The heuristic to find file names in unapplied patches fails miserably on all patches with timestamps. We have to consider everything past the last tab as the timestamp and strip it. The timestamp itself will contain spaces so we can't split on that. This fixes a regression introduced by commit 4df47975. It's hard to believe this has been broken for over 4 years and nobody ever noticed.
* quilt.spec: Configure with the right docdirJean Delvare2014-04-061-2/+5
| | | | | We need to pass --docdir to the configure script so that the documentation files are installed where we expect them.
* Use file_in_patchJean Delvare2014-04-062-2/+2
| | | | Use file_in_patch instead of reimplementing it.
* patches: Simplify scan_appliedJean Delvare2014-04-041-5/+2
| | | | | I have no idea why I introduced this "match" variable in the first place, it's not needed.
* Let print_patch print a newline characterJean Delvare2014-03-125-5/+5
| | | | | | | | | | | | Function print_patch currently doesn't print a newline character at the end of the patch name. Because of this, callers which need the newline character much wrap print_patch with an echo. This hurts performance and isn't too elegant either. So let print_patch print a trailing newline character. If the caller doesn't need it, it will typically be stripped by bash anyway (tailing whitespace is stripped on variable expansion.) And if the caller does need it, it avoids the extra call to echo.
* diff: Workaround bash bugJean Delvare2014-03-043-4/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | Old versions of bash (at least version 3.2.51) don't properly handle prefix stripping together with quoting when evaluating an array. So strip the prefix before adding each file to opt_files. It's faster anyway. Same thing when diffing against a snapshot, strip the snapshot directory prefix from file names before evaluating the quoted files array. This fixes a regression introduced in: commit b0baeeb6b61132af92fd75df5f912554d295dee1 Author: Jean Delvare <jdelvare@suse.de> Date: Fri Mar 25 18:48:49 2011 +0100 diff, refresh: Accept file names with spaces (Only affecting the versions of bash which have the aforementioned bug.) This also fixes a bug when called from a subdirectory and a file passed as an argument starts with "./". Extend the test suite to test both cases, so that such bugs can't sneak in in the future.
* test: Improve the coverage of unusual patch namesJean Delvare2014-03-021-0/+36
| | | | | Test the top and previous of patches with unusual names. Also test a few more unusual characters.
* Boost the speed of the series, applied and unapplied commandsJean Delvare2014-03-024-17/+15
| | | | | | | | | | | | | | | | The current implementation of the series, applied and unapplied commands performs rather poorly, especially on large patch sets. To make things worse, bash completion makes use of these commands, so it becomes next to unusable on large patch sets. Instead of looping over each patch, use the power of printf to print everything in one go. Performance gains on a 15k patch series are breathtaking: series: 189.4 s -> 0.6 s series -v: 92.9 s -> 0.6 s applied: 3.5 s -> 0.1 s unapplied: 3.9 s -> 0.1 s
* push: Check for duplicate patch in seriesJean Delvare2014-03-022-0/+61
| | | | | | | | | | In the case of a generated or manually tweaked series file, it can happen that the same patch shows up twice in the series file. Check for this before pushing any patch, otherwise we would corrupt quilt's internal database. This fixes bug #20628: https://savannah.nongnu.org/bugs/?20628
* test: Drop legacy comment in two test casesJean Delvare2014-02-282-4/+0
| | | | These instructions no longer works.
* test: Drop stray slashesJean Delvare2014-02-282-2/+2
| | | | %{P} already has a trailing slash.
* Use consistent brace placementJean Delvare2014-02-289-32/+64
| | | | | Use the same brace placement for all bash functions through the whole tree.
* Complete the documentation of option --colorJean Delvare2014-02-273-3/+3
| | | | | Commands "patches" and "series" lacked option --color in their syntax summary. Command "diff" had it but without its options.
* test/setup: Fix for GNU patch version <= 2.5.9Jean Delvare2014-02-261-3/+5
| | | | | | Recent versions of GNU diff will quote file names which include a space, but GNU patch version 2.5.9 and older do not support that. So strip the quotes to let the test succeed.
* test: Improve the coverage of the patches commandJean Delvare2014-02-242-0/+30
| | | | | | | Add tests for the patches command in two test cases. In particular we want to test that the patches command works OK when patch filenames contain spaces or other unusual characters, and that file names are properly guessed in patches which create or delete files.