[wget/f19] Document and fix --backups option
Tomas Hozza
thozza at fedoraproject.org
Mon Jul 15 07:15:10 UTC 2013
commit a4283de8f84a95352e2e3d66e5eae0fe80d3e041
Author: Tomas Hozza <thozza at redhat.com>
Date: Mon Jul 15 09:00:49 2013 +0200
Document and fix --backups option
Signed-off-by: Tomas Hozza <thozza at redhat.com>
wget-1.14-document-backups.patch | 60 +++++++++++++++
wget-1.14-fix-backups-to-work-as-documented.patch | 80 +++++++++++++++++++++
wget.spec | 7 ++-
3 files changed, 146 insertions(+), 1 deletions(-)
---
diff --git a/wget-1.14-document-backups.patch b/wget-1.14-document-backups.patch
new file mode 100644
index 0000000..eac0ad4
--- /dev/null
+++ b/wget-1.14-document-backups.patch
@@ -0,0 +1,60 @@
+From 44ba49b31f4ea515f8a6ef2642a34c0fd2024b90 Mon Sep 17 00:00:00 2001
+From: Giuseppe Scrivano <gscrivano at gnu.org>
+Date: Tue, 9 Jul 2013 00:50:30 +0200
+Subject: [PATCH] doc: document --backups
+
+---
+ doc/wget.texi | 15 ++++++++++++---
+ src/main.c | 3 +++
+ 2 files changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/doc/wget.texi b/doc/wget.texi
+index 5054382..7a1670e 100644
+--- a/doc/wget.texi
++++ b/doc/wget.texi
+@@ -630,6 +630,13 @@ Note that when @samp{-nc} is specified, files with the suffixes
+ @samp{.html} or @samp{.htm} will be loaded from the local disk and
+ parsed as if they had been retrieved from the Web.
+
++ at cindex backing up files
++ at item --backups=@var{backups}
++Before (over)writing a file, back up an existing file by adding a
++ at samp{.1} suffix (@samp{_1} on VMS) to the file name. Such backup
++files are rotated to @samp{.2}, @samp{.3}, and so on, up to
++ at var{backups} (and lost beyond that).
++
+ @cindex continue retrieval
+ @cindex incomplete downloads
+ @cindex resume download
+@@ -2882,9 +2889,11 @@ enables it).
+ Enable/disable saving pre-converted files with the suffix
+ @samp{.orig}---the same as @samp{-K} (which enables it).
+
+- at c @item backups = @var{number}
+- at c #### Document me!
+- at c
++ at item backups = @var{number}
++Use up to @var{number} backups for a file. Backups are rotated by
++adding an incremental counter that starts at @samp{1}. The default is
++ at samp{0}.
++
+ @item base = @var{string}
+ Consider relative @sc{url}s in input files (specified via the
+ @samp{input} command or the @samp{--input-file}/@samp{-i} option,
+diff --git a/src/main.c b/src/main.c
+index c895c4e..8ce0eb3 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -714,6 +714,9 @@ Recursive download:\n"),
+ N_("\
+ -k, --convert-links make links in downloaded HTML or CSS point to\n\
+ local files.\n"),
++ N_("\
++ --backups=N before writing file X, rotate up to N backup files.\n"),
++
+ #ifdef __VMS
+ N_("\
+ -K, --backup-converted before converting file X, back up as X_orig.\n"),
+--
+1.8.3.1
+
diff --git a/wget-1.14-fix-backups-to-work-as-documented.patch b/wget-1.14-fix-backups-to-work-as-documented.patch
new file mode 100644
index 0000000..799a7a1
--- /dev/null
+++ b/wget-1.14-fix-backups-to-work-as-documented.patch
@@ -0,0 +1,80 @@
+From c52bbad9e4bad1393a9d6ba37e600d388f5ab419 Mon Sep 17 00:00:00 2001
+From: Giuseppe Scrivano <gscrivano at gnu.org>
+Date: Wed, 10 Jul 2013 20:59:34 +0200
+Subject: [PATCH] Make --backups work as documented
+
+---
+ src/http.c | 6 ------
+ src/options.h | 2 +-
+ src/url.c | 3 ++-
+ src/url.h | 6 ++++++
+ 4 files changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/src/http.c b/src/http.c
+index 9f274dc..b0c782b 100644
+--- a/src/http.c
++++ b/src/http.c
+@@ -1641,12 +1641,6 @@ read_response_body (struct http_stat *hs, int sock, FILE *fp, wgint contlen,
+ } while (0)
+ #endif /* def __VMS [else] */
+
+-/* The flags that allow clobbering the file (opening with "wb").
+- Defined here to avoid repetition later. #### This will require
+- rework. */
+-#define ALLOW_CLOBBER (opt.noclobber || opt.always_rest || opt.timestamping \
+- || opt.dirstruct || opt.output_document)
+-
+ /* Retrieve a document through HTTP protocol. It recognizes status
+ code, and correctly handles redirections. It closes the network
+ socket. If it receives an error from the functions below it, it
+diff --git a/src/options.h b/src/options.h
+index ed38617..0a10c9b 100644
+--- a/src/options.h
++++ b/src/options.h
+@@ -166,7 +166,7 @@ struct options
+ bool timestamping; /* Whether to use time-stamping. */
+
+ bool backup_converted; /* Do we save pre-converted files as *.orig? */
+- bool backups; /* Are numeric backups made? */
++ int backups; /* Are numeric backups made? */
+
+ char *useragent; /* User-Agent string, which can be set
+ to something other than Wget. */
+diff --git a/src/url.c b/src/url.c
+index 5e2b9a3..bf9d697 100644
+--- a/src/url.c
++++ b/src/url.c
+@@ -1669,11 +1669,12 @@ url_file_name (const struct url *u, char *replaced_filename)
+ 2) Retrieval with regetting.
+ 3) Timestamping is used.
+ 4) Hierarchy is built.
++ 5) Backups are specified.
+
+ The exception is the case when file does exist and is a
+ directory (see `mkalldirs' for explanation). */
+
+- if ((opt.noclobber || opt.always_rest || opt.timestamping || opt.dirstruct)
++ if (ALLOW_CLOBBER
+ && !(file_exists_p (fname) && !file_non_directory_p (fname)))
+ {
+ unique = fname;
+diff --git a/src/url.h b/src/url.h
+index b7f4366..cd3782b 100644
+--- a/src/url.h
++++ b/src/url.h
+@@ -47,6 +47,12 @@ as that of the covered work. */
+ #define DEFAULT_FTP_PORT 21
+ #define DEFAULT_HTTPS_PORT 443
+
++/* The flags that allow clobbering the file (opening with "wb").
++ Defined here to avoid repetition later. #### This will require
++ rework. */
++#define ALLOW_CLOBBER (opt.noclobber || opt.always_rest || opt.timestamping \
++ || opt.dirstruct || opt.output_document || opt.backups > 0)
++
+ /* Specifies how, or whether, user auth information should be included
+ * in URLs regenerated from URL parse structures. */
+ enum url_auth_mode {
+--
+1.8.3.1
+
diff --git a/wget.spec b/wget.spec
index 0737640..b835820 100644
--- a/wget.spec
+++ b/wget.spec
@@ -16,6 +16,8 @@ Patch6: wget-1.14-fix-double-free-of-iri-orig_url.patch
Patch7: wget-1.14-Fix-deadcode-and-possible-NULL-use.patch
Patch8: wget-1.14-doc-missing-opts-and-fix-preserve-permissions.patch
Patch9: wget-1.14-set_sock_to_-1_if_no_persistent_conn.patch
+Patch10: wget-1.14-document-backups.patch
+Patch11: wget-1.14-fix-backups-to-work-as-documented.patch
Provides: webclient
Provides: bundled(gnulib)
@@ -44,6 +46,8 @@ support for Proxy servers, and configurability.
%patch7 -p1
%patch8 -p1
%patch9 -p1
+%patch10 -p1
+%patch11 -p1
%build
if pkg-config openssl ; then
@@ -80,11 +84,12 @@ rm -rf $RPM_BUILD_ROOT
%{_infodir}/*
%changelog
-* Fri Jul 12 2013 Tomas Hozza <thozza at redhat.com> - 1.14-8
+* Mon Jul 15 2013 Tomas Hozza <thozza at redhat.com> - 1.14-8
- Fix deadcode and possible use of NULL in vprintf (#913153)
- Add documentation for --regex-type and --preserve-permissions
- Fix --preserve-permissions to work as documented (and expected)
- Fix bug when authenticating using user:password at url syntax (#912358)
+- Document and fix --backups option
* Wed Jul 10 2013 Tomas Hozza <thozza at redhat.com> - 1.14-7
- Fix double free of iri->orig_url (#981778)
More information about the scm-commits
mailing list