[SCM] The rsync repository. - branch master updated
Rsync CVS commit messages
rsync-cvs at lists.samba.org
Thu Jun 18 18:27:49 UTC 2020
The branch, master has been updated
via b5e539fc Use documentation to extract 2 more .h lists
from 88c18ef6 Make the g++ check more lenient.
https://git.samba.org/?p=rsync.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit b5e539fc5aa52b94608dbb976981930c03213a78
Author: Wayne Davison <wayne at opencoder.net>
Date: Thu Jun 18 10:49:34 2020 -0700
Use documentation to extract 2 more .h lists
- Change default_cvsignore char[] into a define.
- Make the DEFAULT_DONT_COMPRESS and DEFAULT_CVSIGNORE defines get set
based on their info in rsync.1.md.
- Add a few more don't-compress suffixes from Simon Matter.
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 2 ++
Makefile.in | 7 ++++++-
define-from-md.awk | 41 +++++++++++++++++++++++++++++++++++++++++
exclude.c | 13 ++-----------
help-from-md.awk | 8 ++++----
loadparm.c | 6 +-----
rsync.1.md | 32 ++++++++++++++++++++++++++++++++
7 files changed, 88 insertions(+), 21 deletions(-)
create mode 100755 define-from-md.awk
Changeset truncated at 500 lines:
diff --git a/.gitignore b/.gitignore
index 00613f45..70061765 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,8 @@ aclocal.m4
/rsync*.5
/rsync*.html
/help-rsync*.h
+/default-cvsignore.h
+/default-dont-compress.h
/.md2man-works
/autom4te*.cache
/confdefs.h
diff --git a/Makefile.in b/Makefile.in
index d2329cef..91d9d4a9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -100,11 +100,16 @@ rsync$(EXEEXT): $(OBJS)
$(OBJS): $(HEADERS)
$(CHECK_OBJS): $(HEADERS)
options.o: latest-year.h help-rsync.h help-rsyncd.h
+exclude.o: default-cvsignore.h
+loadparm.o: default-dont-compress.h
flist.o: rounding.h
+default-cvsignore.h default-dont-compress.h: rsync.1.md define-from-md.awk
+ awk -f $(srcdir)/define-from-md.awk -v hfile=$@ $(srcdir)/rsync.1.md
+
help-rsync.h help-rsyncd.h: rsync.1.md help-from-md.awk
- awk -f $(srcdir)/help-from-md.awk -v helpfile=$@ $(srcdir)/rsync.1.md
+ awk -f $(srcdir)/help-from-md.awk -v hfile=$@ $(srcdir)/rsync.1.md
rounding.h: rounding.c rsync.h proto.h
@for r in 0 1 3; do \
diff --git a/define-from-md.awk b/define-from-md.awk
new file mode 100755
index 00000000..9f7f2bf3
--- /dev/null
+++ b/define-from-md.awk
@@ -0,0 +1,41 @@
+#!/usr/bin/awk -f
+
+# The caller must pass args: -v hfile=NAME rsync.1.md
+
+BEGIN {
+ heading = "/* DO NOT EDIT THIS FILE! It is auto-generated from a list of values in " ARGV[1] "! */"
+ if (hfile ~ /compress/) {
+ define = "#define DEFAULT_DONT_COMPRESS"
+ prefix = "*."
+ } else {
+ define = "#define DEFAULT_CVSIGNORE"
+ prefix = ""
+ }
+ value_list = ""
+}
+
+/^ > [^ ]+$/ {
+ gsub(/`/, "")
+ if (value_list != "") value_list = value_list " "
+ value_list = value_list prefix $2
+ next
+}
+
+value_list ~ /\.gz / && hfile ~ /compress/ {
+ exit
+}
+
+value_list ~ /SCCS / && hfile ~ /cvsignore/ {
+ exit
+}
+
+value_list = ""
+
+END {
+ if (value_list != "")
+ print heading "\n\n" define " \"" value_list "\"" > hfile
+ else {
+ print "Failed to find a value list in " ARGV[1] " for " hfile
+ exit 1
+ }
+}
diff --git a/exclude.c b/exclude.c
index d3122b57..df56e802 100644
--- a/exclude.c
+++ b/exclude.c
@@ -21,6 +21,7 @@
*/
#include "rsync.h"
+#include "default-cvsignore.h"
extern int am_server;
extern int am_sender;
@@ -1051,16 +1052,6 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
return rule;
}
-static char default_cvsignore[] =
- /* These default ignored items come from the CVS manual. */
- "RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS"
- " .make.state .nse_depinfo *~ #* .#* ,* _$* *$"
- " *.old *.bak *.BAK *.orig *.rej .del-*"
- " *.a *.olb *.o *.obj *.so *.exe"
- " *.Z *.elc *.ln core"
- /* The rest we added to suit ourself. */
- " .svn/ .git/ .hg/ .bzr/";
-
static void get_cvs_excludes(uint32 rflags)
{
static int initialized = 0;
@@ -1070,7 +1061,7 @@ static void get_cvs_excludes(uint32 rflags)
return;
initialized = 1;
- parse_filter_str(&cvs_filter_list, default_cvsignore,
+ parse_filter_str(&cvs_filter_list, DEFAULT_CVSIGNORE,
rule_template(rflags | (protocol_version >= 30 ? FILTRULE_PERISHABLE : 0)),
0);
diff --git a/help-from-md.awk b/help-from-md.awk
index ca358c89..19007974 100755
--- a/help-from-md.awk
+++ b/help-from-md.awk
@@ -1,10 +1,10 @@
#!/usr/bin/awk -f
-# The caller must set -v helpfile=help-NAME.h and pass arg NAME.NUM.md
+# The caller must pass args: -v hfile=help-NAME.h NAME.NUM.md
BEGIN {
heading = "/* DO NOT EDIT THIS FILE! It is auto-generated from the option list in " ARGV[1] "! */"
- findcomment = helpfile
+ findcomment = hfile
sub("\\.", "\\.", findcomment)
findcomment = "\\[comment\\].*" findcomment
backtick_cnt = 0
@@ -32,9 +32,9 @@ $0 ~ findcomment {
END {
if (foundcomment && backtick_cnt > 1)
- print heading "\n" prints > helpfile
+ print heading "\n" prints > hfile
else {
- print "Failed to find " helpfile " section in " ARGV[1]
+ print "Failed to find " hfile " section in " ARGV[1]
exit 1
}
}
diff --git a/loadparm.c b/loadparm.c
index 58c898e8..dfc0b077 100644
--- a/loadparm.c
+++ b/loadparm.c
@@ -42,6 +42,7 @@
#include "rsync.h"
#include "itypes.h"
+#include "default-dont-compress.h"
extern item_list dparam_list;
@@ -52,11 +53,6 @@ extern item_list dparam_list;
#define LOG_DAEMON 0
#endif
-#define DEFAULT_DONT_COMPRESS "*.gz *.zip *.z *.rpm *.deb *.iso *.bz2" \
- " *.t[gb]z *.7z *.mp[34] *.mov *.avi *.ogg *.jpg *.jpeg *.png" \
- " *.lzo *.rzip *.lzma *.rar *.ace *.gpg *.xz *.txz *.lz *.tlz" \
- " *.ogv *.web[mp] *.squashfs"
-
/* the following are used by loadparm for option lists */
typedef enum {
P_BOOL, P_BOOLREV, P_CHAR, P_INTEGER,
diff --git a/rsync.1.md b/rsync.1.md
index 01277e4d..d09578ca 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -1852,6 +1852,8 @@ your home directory (remove the '=' for that).
The exclude list is initialized to exclude the following items (these
initial items are marked as perishable -- see the FILTER RULES section):
+[comment]: # (This list gets used for the default-cvsignore.h file.)
+
> `RCS`
> `SCCS`
> `CVS`
@@ -2335,38 +2337,68 @@ your home directory (remove the '=' for that).
The default file suffixes in the skip-compress list in this version of
rsync are:
+[comment]: # (This list gets used for the default-dont-compress.h file.)
+
> 7z
> ace
+ > apk
> avi
> bz2
> deb
+ > flac
> gpg
> gz
> iso
+ > jar
> jpeg
> jpg
> lz
+ > lz4
> lzma
> lzo
+ > mkv
> mov
> mp3
> mp4
+ > odb
+ > odf
+ > odg
+ > odi
+ > odm
+ > odp
+ > ods
+ > odt
> ogg
> ogv
+ > opus
+ > otg
+ > oth
+ > otp
+ > ots
+ > ott
+ > oxt
> png
> rar
> rpm
+ > rz
> rzip
> squashfs
+ > sxc
+ > sxd
+ > sxg
+ > sxm
+ > sxw
> tbz
> tgz
> tlz
> txz
+ > tzo
> webm
> webp
> xz
> z
> zip
+ > zst
This list will be replaced by your `--skip-compress` list in all but one
situation: a copy from a daemon rsync will add your skipped suffixes to its
--
The rsync repository.
More information about the rsync-cvs
mailing list