commit quilt for openSUSE:Factory
Restoring a
No patches applied
Hello community, here is the log from the commit of package quilt for openSUSE:Factory checked in at 2014-10-11 19:25:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/quilt (Old) and /work/SRC/openSUSE:Factory/.quilt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "quilt" Changes: -------- --- /work/SRC/openSUSE:Factory/quilt/quilt.changes 2014-08-13 08:49:05.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.quilt.new/quilt.changes 2014-10-11 19:25:56.000000000 +0200 @@ -1,0 +2,10 @@ +Wed Oct 1 14:10:22 CEST 2014 - jdelvare@suse.de + +- setup-fix-tar-with-long-options.patch: Update to new upstream + version. This fixes handling of corner cases. +- quilt-format-options-pass-through.patch, + pop-add-auto-refresh.patch, push-add-auto-refresh.patch: + Implement auto-refreshing when applying or unapplying patches, as + suggested by Tomas Cech and Takashi Iwai. + +------------------------------------------------------------------- New: ---- pop-add-auto-refresh.patch push-add-auto-refresh.patch quilt-format-options-pass-through.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ quilt.spec ++++++ --- /var/tmp/diff_new_pack.PQyfmf/_old 2014-10-11 19:25:56.000000000 +0200 +++ /var/tmp/diff_new_pack.PQyfmf/_new 2014-10-11 19:25:56.000000000 +0200 @@ -46,6 +46,9 @@ Patch5: setup-skip-version-check.patch Patch6: setup-check-for-rpmbuild.patch Patch7: setup-fix-tar-with-long-options.patch +Patch8: quilt-format-options-pass-through.patch +Patch9: pop-add-auto-refresh.patch +Patch10: push-add-auto-refresh.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch Recommends: procmail @@ -72,6 +75,9 @@ %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 %build # --with-rpmbuild=/usr/lib/rpm/rpmb: ++++++ pop-add-auto-refresh.patch ++++++ From: Jean Delvare <jdelvare@suse.de> Subject: pop: Add --refresh option Upstream: Submitted (2014-10-01) Add an option to automatically refresh each patch before it gets unapplied. --- quilt/pop.in | 11 +++++++++-- test/auto-refresh.test | 27 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) --- a/quilt/pop.in +++ b/quilt/pop.in @@ -19,7 +19,7 @@ fi usage() { - printf $"Usage: quilt pop [-afRqv] [num|patch]\n" + printf $"Usage: quilt pop [-afRqv] [--refresh] [num|patch]\n" if [ x$1 = x-h ] then printf $" @@ -41,6 +41,9 @@ completion can be used. -q Quiet operation. -v Verbose operation. + +--refresh + Automatically refresh every patch before it gets unapplied. " exit 0 else @@ -163,7 +166,7 @@ remove_patch() return $status } -options=`getopt -o fRqvah -- "$@"` +options=`getopt -o fRqvah --long refresh -- "$@"` if [ $? -ne 0 ] then @@ -194,6 +197,9 @@ do shift ;; -h) usage -h ;; + --refresh) + opt_refresh=1 + shift ;; --) shift break ;; @@ -239,6 +245,7 @@ fi for patch in $patches do + [ -z "$opt_refresh" ] || quilt_command refresh $QUILT_REFRESH_ARGS if ! remove_patch "$patch" then exit 1 --- /dev/null +++ b/test/auto-refresh.test @@ -0,0 +1,27 @@ +$ mkdir patches + +$ echo a > a +$ echo b > b + +$ quilt new a.patch +> Patch patches/a.patch is now on top +$ quilt add a +> File a added to patch patches/a.patch +$ echo A > a + +$ quilt new b.patch +> Patch patches/b.patch is now on top +$ quilt add b +> File b added to patch patches/b.patch +$ echo B > b + +$ quilt pop -a --refresh +> Refreshed patch patches/b.patch +> Removing patch patches/b.patch +> Restoring b +> +> Refreshed patch patches/a.patch +> Removing patch patches/a.patch +> Restoring a +> +> No patches applied ++++++ push-add-auto-refresh.patch ++++++ From: Jean Delvare <jdelvare@suse.de> Subject: push: Add --refresh option Upstream: Submitted (2014-10-01) Add an option to automatically refresh each patch after is was successfully applied. --- quilt/push.in | 11 +++++++++-- test/auto-refresh.test | 22 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) --- a/quilt/push.in +++ b/quilt/push.in @@ -21,7 +21,7 @@ setup_colors usage() { - printf $"Usage: quilt push [-afqv] [--merge[=merge|diff3]] [--leave-rejects] [--color[=always|auto|never]] [num|patch]\n" + printf $"Usage: quilt push [-afqv] [--merge[=merge|diff3]] [--leave-rejects] [--color[=always|auto|never]] [--refresh] [num|patch]\n" if [ x$1 = x-h ] then printf $" @@ -53,6 +53,9 @@ be used. --color[=always|auto|never] Use syntax coloring (auto activates it only if the output is a tty). + +--refresh + Automatically refresh every patch after it was successfully applied. " exit 0 else @@ -294,7 +297,7 @@ check_duplicate_patches() return 1 } -options=`getopt -o fqvam::h --long fuzz:,merge::,leave-rejects,color:: -- "$@"` +options=`getopt -o fqvam::h --long fuzz:,merge::,leave-rejects,color::,refresh -- "$@"` if [ $? -ne 0 ] then @@ -352,6 +355,9 @@ do usage ;; esac shift 2 ;; + --refresh) + opt_refresh=1 + shift ;; --) shift break ;; @@ -412,6 +418,7 @@ do then exit 1 fi + [ -z "$opt_refresh" ] || quilt_command refresh $QUILT_REFRESH_ARGS [ -n "$opt_quiet" ] || echo done \ | cleanup_patch_output \ --- a/test/auto-refresh.test +++ b/test/auto-refresh.test @@ -25,3 +25,25 @@ $ quilt pop -a --refresh + +$ quilt push -a --refresh +> Applying patch patches/a.patch +> patching file a +> Patch patches/a.patch is unchanged +> +> Applying patch patches/b.patch +> patching file b +> Patch patches/b.patch is unchanged +> +> Now at patch patches/b.patch + +$ quilt pop -a --refresh +> Patch patches/b.patch is unchanged +> Removing patch patches/b.patch +> Restoring b +> +> Patch patches/a.patch is unchanged +> Removing patch patches/a.patch +> Restoring a +> +> No patches applied ++++++ quilt-format-options-pass-through.patch ++++++ From: Jean Delvare <jdelvare@suse.de> Subject: Allow patch format options to pass through Upstream: Submitted (2014-10-01) In order to make "quilt_command refresh" work properly, we must ensure that format options are passed through. --- quilt/scripts/patchfns.in | 5 +++++ 1 file changed, 5 insertions(+) --- a/quilt/scripts/patchfns.in +++ b/quilt/scripts/patchfns.in @@ -976,6 +976,11 @@ quilt_command() local command=$1 shift + # Refreshing here must produce the same output as "quilt refresh" on + # the command line + export QUILT_NO_DIFF_INDEX + export QUILT_NO_DIFF_TIMESTAMPS + QUILT_COMMAND="" bash $BASH_OPTS -c "${SUBDIR:+cd $SUBDIR;} . $QUILT_DIR/$command" "quilt $command" "$@" } ++++++ setup-fix-tar-with-long-options.patch ++++++ --- /var/tmp/diff_new_pack.PQyfmf/_old 2014-10-11 19:25:56.000000000 +0200 +++ /var/tmp/diff_new_pack.PQyfmf/_new 2014-10-11 19:25:56.000000000 +0200 @@ -3,62 +3,85 @@ Upstream: Submitted The command line interface to tar is complex and sometimes confusing, -but we should still do our best to figure where the file name is on -that command line. +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. These -can be addressed later when reported. +there are still a few corner cases we may not handle properly. Let's +just hope we never hit them. Reported by Petr Tesarik. --- - quilt/scripts/inspect.in | 34 ++++++++++++++++++++++++++-------- - 1 file changed, 26 insertions(+), 8 deletions(-) +Changes since v1: +* Fix an endless loop when trying to parse options "x --file file". +* On "-xC software -f file", the previous code would extract "-f" as + the file name, instead of "file". + + quilt/scripts/inspect.in | 45 +++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 45 insertions(+) --- a/quilt/scripts/inspect.in +++ b/quilt/scripts/inspect.in -@@ -257,14 +257,32 @@ cat <<-'EOF' > $tmpdir/bin/wrapper - +@@ -258,13 +258,58 @@ cat <<-'EOF' > $tmpdir/bin/wrapper tar_input_file() { -- case "$1" in -- *C*f*) -- echo "$3" -- ;; -- *f*) -- echo "$2" -- ;; -- esac -+ while [ $# -gt 0 ]; do -+ case "$1" in -+ --file) -+ echo "$2" -+ return -+ ;; -+ --file=*) -+ echo "${1#--file=}" -+ return -+ ;; -+ --*) -+ shift -+ ;; -+ *C*f*) -+ echo "$3" -+ return -+ ;; -+ *f*) -+ echo "$2" -+ return -+ ;; -+ -*) + case "$1" in ++ # Modern option format ++ -*) ++ while [ $# -gt 0 ]; do ++ case "$1" in ++ # Extract the file name (long option) ++ --file) ++ echo "$2" ++ return ++ ;; ++ --file=*) ++ echo "${1#--file=}" ++ return ++ ;; ++ # Skip other long options ++ --*) ++ shift ++ ;; ++ # Extract the file name (short option) ++ -*f) ++ echo "$2" ++ return ++ ;; ++ -f*) ++ echo "${1#-f}" ++ return ++ ;; ++ # Skip other short options and parameters ++ *) ++ shift ++ ;; ++ esac ++ done ++ ;; ++ # Legacy option format (must always come first) + *C*f*) + echo "$3" ++ return + ;; + *f*) + echo "$2" ++ return ++ ;; ++ ?*) ++ # Eat legacy options and try again ++ until [ $# -eq 0 -o "${1:0:1}" = "-" ]; do + shift -+ ;; -+ esac -+ done ++ done ++ tar_input_file "$@" ++ return + ;; + esac ++ return 1 } unzip_input_file() -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de