diff options
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | lib/backup-files.c | 13 | ||||
-rw-r--r-- | quilt.changes | 14 | ||||
-rwxr-xr-x | scripts/apatch.in | 7 | ||||
-rwxr-xr-x | scripts/rpatch.in | 2 | ||||
-rw-r--r-- | test/conflicts.test | 2 | ||||
-rw-r--r-- | test/failpop.test | 2 | ||||
-rw-r--r-- | test/new-nosubdir.test | 1 |
8 files changed, 34 insertions, 11 deletions
diff --git a/configure.ac b/configure.ac index f905c43..91e1b8e 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,8 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([quilt],[0.36],[quilt-dev@nongnu.org]) +AC_INIT([quilt],[0.37],[quilt-dev@nongnu.org]) AC_CONFIG_AUX_DIR(config) AC_PREREQ(2.53) -AC_REVISION ($Revision: 1.31 $) +AC_REVISION ($Revision: 1.32 $) PACKAGE_RELEASE=1 AC_SUBST(PACKAGE_RELEASE) diff --git a/lib/backup-files.c b/lib/backup-files.c index fcbd2ff..03628d4 100644 --- a/lib/backup-files.c +++ b/lib/backup-files.c @@ -29,6 +29,7 @@ #include <sys/types.h> #include <sys/stat.h> +#include <utime.h> #include <fcntl.h> #include <unistd.h> #include <stdio.h> @@ -44,7 +45,7 @@ enum { what_noop, what_backup, what_restore, what_remove }; const char *opt_prefix="", *opt_suffix="", *opt_file; int opt_silent, opt_what=what_noop, opt_ignore_missing; -int opt_nolinks, opt_walk_directory; +int opt_nolinks, opt_touch; #define LINE_LENGTH 1024 @@ -242,6 +243,8 @@ process_file(const char *file) printf("Copying %s\n", file); if (link_or_copy(file, &st, backup)) return 1; + if (opt_touch) + utime(backup, NULL); if (opt_nolinks) { if (ensure_nolinks(file)) return 1; @@ -272,6 +275,8 @@ process_file(const char *file) unlink(file); if (link_or_copy(backup, &st, file)) return 1; + if (opt_touch) + utime(file, NULL); if (opt_nolinks) { if (ensure_nolinks(file)) return 1; @@ -335,7 +340,7 @@ main(int argc, char *argv[]) progname = argv[0]; - while ((opt = getopt(argc, argv, "brxB:z:f:shFL")) != -1) { + while ((opt = getopt(argc, argv, "brxB:z:f:shFLt")) != -1) { switch(opt) { case 'b': opt_what = what_backup; @@ -373,6 +378,10 @@ main(int argc, char *argv[]) opt_nolinks = 1; break; + case 't': + opt_touch = 1; + break; + case 'h': default: usage(); diff --git a/quilt.changes b/quilt.changes index cfd4789..c10efea 100644 --- a/quilt.changes +++ b/quilt.changes @@ -1,4 +1,16 @@ ------------------------------------------------------------------- +Sun Oct 17 22:19:09 CEST 2004 - agruen@suse.de + +- When applying a patch with -q and without -f no (individual) + reject files are created, and the "patching file" comments + are missing as well. In that case, we don't know wich files the + "-- saving rejects to file /tmp/foo" comments belong to, and we + can't fic them up. Remove them, instead. +- Pop command: Touch files after they are restored so that tools + like make don't get confused. +- Bump to version 0.37. + +------------------------------------------------------------------- Wed Sep 22 14:24:45 CEST 2004 - agruen@suse.de - scripts/patchfns.in: set the dotglob option so that dot files @@ -9,7 +21,7 @@ Wed Sep 22 14:24:45 CEST 2004 - agruen@suse.de patch failed, the *.rej files were not removed properly. Change the code so that they won't be created in the working tree in the first place this case. -- test/run script: Oops, the previouos commit was not the latest +- test/run script: Oops, the previous commit was not the latest version. - Fix the version check in bash_completion for bash 3. - Bump version to 0.36. diff --git a/scripts/apatch.in b/scripts/apatch.in index 11f3739..7e58c50 100755 --- a/scripts/apatch.in +++ b/scripts/apatch.in @@ -97,8 +97,11 @@ apatch() echo "$output" \ | @AWK@ ' /^patching file / { filename = substr($0, 15) } - { gsub(/-- saving rejects to file .*/, - "-- rejects in file " filename) } + { if ('${#silent}' != 0) + gsub(/ -- saving rejects to file .*/, "") + else + gsub(/ -- saving rejects to file .*/, " -- rejects in file " filename) + } { print } ' elif [ -n "$output" ] diff --git a/scripts/rpatch.in b/scripts/rpatch.in index 7d179d3..b33652a 100755 --- a/scripts/rpatch.in +++ b/scripts/rpatch.in @@ -122,7 +122,7 @@ rpatch() then printf $"Removing patch %s\n" "$(print_patch $patch)" rm -f "$QUILT_PC/$patch/.timestamp" - @LIB@/backup-files $silent -r -B $QUILT_PC/$patch/ - + @LIB@/backup-files $silent -r -t -B $QUILT_PC/$patch/ - status=$? remove_from_db $patch rm -f $QUILT_PC/$patch~refresh diff --git a/test/conflicts.test b/test/conflicts.test index fe250e8..99aed92 100644 --- a/test/conflicts.test +++ b/test/conflicts.test @@ -60,7 +60,7 @@ anymore, then the patch is fixed. $ sed -e "s/^\\([123567]\\)\$/\\1-/" one.orig > one.txt $ quilt push -q > Applying patch %{P}a.diff - > 1 out of 2 hunks FAILED -- rejects in file one.txt + > 1 out of 2 hunks FAILED > Patch %{P}a.diff does not apply (enforce with -f) $ quilt push -qf diff --git a/test/failpop.test b/test/failpop.test index 9cd3ed0..9c6df53 100644 --- a/test/failpop.test +++ b/test/failpop.test @@ -21,7 +21,7 @@ $ sed -e "s/ /_/g" patches/test.diff > patches/test.new $ mv patches/test.new patches/test.diff $ quilt pop - > Patch %{P}test.diff does not remove cleanly (enforce with -f) + > Patch %{P}test.diff does not remove cleanly (refresh it or enforce with -f) $ cd .. $ rm -rf d diff --git a/test/new-nosubdir.test b/test/new-nosubdir.test index 176cfcf..97d8e98 100644 --- a/test/new-nosubdir.test +++ b/test/new-nosubdir.test @@ -4,7 +4,6 @@ $ mkdir patches sub $ cd sub $ quilt new here.diff - > Warning: directory ../patches exists; ignoring > Patch %{_P}here.diff is now on top $ cd ../.. |