summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac4
-rw-r--r--lib/backup-files.c13
-rw-r--r--quilt.changes14
-rwxr-xr-xscripts/apatch.in7
-rwxr-xr-xscripts/rpatch.in2
-rw-r--r--test/conflicts.test2
-rw-r--r--test/failpop.test2
-rw-r--r--test/new-nosubdir.test1
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 ../..