Hello community, here is the log from the commit of package the_silver_searcher for openSUSE:Factory checked in at 2018-08-15 10:35:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/the_silver_searcher (Old) and /work/SRC/openSUSE:Factory/.the_silver_searcher.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "the_silver_searcher" Wed Aug 15 10:35:02 2018 rev:13 rq:628891 version:2.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/the_silver_searcher/the_silver_searcher.changes 2017-09-28 12:35:38.781352392 +0200 +++ /work/SRC/openSUSE:Factory/.the_silver_searcher.new/the_silver_searcher.changes 2018-08-15 10:35:42.819998450 +0200 @@ -1,0 +2,8 @@ +Mon Aug 13 09:10:41 UTC 2018 - astie...@suse.com + +- update to 2.2.0: + * Add support for Idris, APL, J, D, TLA+, Isabelle, Coq, jinja2, + PDB, Naccess, thrift, pug, terraform, devicetree, stata + * Updates support for Haskell + +------------------------------------------------------------------- Old: ---- the_silver_searcher-2.1.0.tar.gz the_silver_searcher-2.1.0.tar.gz.asc New: ---- the_silver_searcher-2.2.0.tar.gz the_silver_searcher-2.2.0.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ the_silver_searcher.spec ++++++ --- /var/tmp/diff_new_pack.o5JMKA/_old 2018-08-15 10:35:44.076000739 +0200 +++ /var/tmp/diff_new_pack.o5JMKA/_new 2018-08-15 10:35:44.076000739 +0200 @@ -1,7 +1,7 @@ # # spec file for package the_silver_searcher # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,19 +17,18 @@ Name: the_silver_searcher -Version: 2.1.0 +Version: 2.2.0 Release: 0 Summary: A code-searching tool similar to ack, but faster License: Apache-2.0 Group: Productivity/File utilities -Url: https://github.com/ggreer/the_silver_searcher +URL: https://github.com/ggreer/the_silver_searcher Source: http://geoff.greer.fm/ag/releases/%{name}-%{version}.tar.gz Source2: http://geoff.greer.fm/ag/releases/%{name}-%{version}.tar.gz.asc Source3: %{name}.keyring Source4: %{name}.changes BuildRequires: pkgconfig >= 0.9.0 Requires: bash-completion -BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} > 1110 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpcre) @@ -56,10 +55,10 @@ mv -v %{buildroot}%{_datadir}/%{name}/completions/ag.bashcomp.sh %{buildroot}/%{_sysconfdir}/bash_completion.d/%{name} %files -%defattr(-,root,root) -%doc LICENSE NOTICE README.md +%license LICENSE +%doc NOTICE README.md %{_bindir}/ag -%{_mandir}/man1/ag.1%{ext_man} +%{_mandir}/man1/ag.1%{?ext_man} %config %{_sysconfdir}/bash_completion.d/%{name} %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions ++++++ the_silver_searcher-2.1.0.tar.gz -> the_silver_searcher-2.2.0.tar.gz ++++++ ++++ 2821 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/the_silver_searcher-2.1.0/README.md new/the_silver_searcher-2.2.0/README.md --- old/the_silver_searcher-2.1.0/README.md 2017-08-25 07:45:20.000000000 +0200 +++ new/the_silver_searcher-2.2.0/README.md 2018-04-23 02:53:46.000000000 +0200 @@ -101,6 +101,10 @@ * Win32/64 Unofficial daily builds are [available](https://github.com/k-takata/the_silver_searcher-win32). + +* Chocolatey + + choco install ag * MSYS2 pacman -S mingw-w64-{i686,x86_64}-ag @@ -163,7 +167,7 @@ ### Vim -You can use Ag with [ack.vim][] by adding the following line to your `.vimrc`: +You can use Ag with [ack.vim](https://github.com/mileszs/ack.vim) by adding the following line to your `.vimrc`: let g:ackprg = 'ag --nogroup --nocolor --column' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/the_silver_searcher-2.1.0/configure.ac new/the_silver_searcher-2.2.0/configure.ac --- old/the_silver_searcher-2.1.0/configure.ac 2017-08-25 08:16:37.000000000 +0200 +++ new/the_silver_searcher-2.2.0/configure.ac 2018-08-07 08:39:48.000000000 +0200 @@ -1,6 +1,6 @@ AC_INIT( [the_silver_searcher], - [2.1.0], + [2.2.0], [https://github.com/ggreer/the_silver_searcher/issues], [the_silver_searcher], [https://github.com/ggreer/the_silver_searcher]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/the_silver_searcher-2.1.0/src/lang.c new/the_silver_searcher-2.2.0/src/lang.c --- old/the_silver_searcher-2.1.0/src/lang.c 2017-08-25 07:47:19.000000000 +0200 +++ new/the_silver_searcher-2.2.0/src/lang.c 2018-08-07 08:42:49.000000000 +0200 @@ -8,6 +8,7 @@ { "actionscript", { "as", "mxml" } }, { "ada", { "ada", "adb", "ads" } }, { "asciidoc", { "adoc", "ad", "asc", "asciidoc" } }, + { "apl", { "apl" } }, { "asm", { "asm", "s" } }, { "batch", { "bat", "cmd" } }, { "bitbake", { "bb", "bbappend", "bbclass", "inc" } }, @@ -17,13 +18,16 @@ { "chpl", { "chpl" } }, { "clojure", { "clj", "cljs", "cljc", "cljx" } }, { "coffee", { "coffee", "cjsx" } }, + { "coq", { "coq", "g", "v" } }, { "cpp", { "cpp", "cc", "C", "cxx", "m", "hpp", "hh", "h", "H", "hxx", "tpp" } }, { "crystal", { "cr", "ecr" } }, { "csharp", { "cs" } }, { "css", { "css" } }, { "cython", { "pyx", "pxd", "pxi" } }, { "delphi", { "pas", "int", "dfm", "nfm", "dof", "dpk", "dpr", "dproj", "groupproj", "bdsgroup", "bdsproj" } }, + { "dlang", { "d", "di" } }, { "dot", { "dot", "gv" } }, + { "dts", { "dts", "dtsi" } }, { "ebuild", { "ebuild", "eclass" } }, { "elisp", { "el" } }, { "elixir", { "ex", "eex", "exs" } }, @@ -38,14 +42,18 @@ { "groovy", { "groovy", "gtmpl", "gpp", "grunit", "gradle" } }, { "haml", { "haml" } }, { "handlebars", { "hbs" } }, - { "haskell", { "hs", "lhs" } }, + { "haskell", { "hs", "hsig", "lhs" } }, { "haxe", { "hx" } }, { "hh", { "h" } }, { "html", { "htm", "html", "shtml", "xhtml" } }, + { "idris", { "idr", "ipkg", "lidr" } }, { "ini", { "ini" } }, { "ipython", { "ipynb" } }, + { "isabelle", { "thy" } }, + { "j", { "ijs" } }, { "jade", { "jade" } }, { "java", { "java", "properties" } }, + { "jinja2", { "j2" } }, { "js", { "es6", "js", "jsx", "vue" } }, { "json", { "json" } }, { "jsp", { "jsp", "jspx", "jhtm", "jhtml", "jspf", "tag", "tagf" } }, @@ -65,6 +73,7 @@ { "mathematica", { "m", "wl" } }, { "md", { "markdown", "mdown", "mdwn", "mkdn", "mkd", "md" } }, { "mercury", { "m", "moo" } }, + { "naccess", { "asa", "rsa" } }, { "nim", { "nim" } }, { "nix", { "nix" } }, { "objc", { "m", "h" } }, @@ -73,12 +82,14 @@ { "octave", { "m" } }, { "org", { "org" } }, { "parrot", { "pir", "pasm", "pmc", "ops", "pod", "pg", "tg" } }, + { "pdb", { "pdb" } }, { "perl", { "pl", "pm", "pm6", "pod", "t" } }, { "php", { "php", "phpt", "php3", "php4", "php5", "phtml" } }, { "pike", { "pike", "pmod" } }, { "plist", { "plist" } }, { "plone", { "pt", "cpt", "metadata", "cpy", "py", "xml", "zcml" } }, { "proto", { "proto" } }, + { "pug", { "pug" } }, { "puppet", { "pp" } }, { "python", { "py" } }, { "qml", { "qml" } }, @@ -86,7 +97,7 @@ { "rake", { "Rakefile" } }, { "restructuredtext", { "rst" } }, { "rs", { "rs" } }, - { "r", { "R", "Rmd", "Rnw", "Rtex", "Rrst" } }, + { "r", { "r", "R", "Rmd", "Rnw", "Rtex", "Rrst" } }, { "rdoc", { "rdoc" } }, { "ruby", { "rb", "rhtml", "rjs", "rxml", "erb", "rake", "spec" } }, { "rust", { "rs" } }, @@ -98,10 +109,14 @@ { "smalltalk", { "st" } }, { "sml", { "sml", "fun", "mlb", "sig" } }, { "sql", { "sql", "ctl" } }, + { "stata", { "do", "ado" } }, { "stylus", { "styl" } }, { "swift", { "swift" } }, { "tcl", { "tcl", "itcl", "itk" } }, + { "terraform", { "tf", "tfvars" } }, { "tex", { "tex", "cls", "sty" } }, + { "thrift", { "thrift" } }, + { "tla", { "tla" } }, { "tt", { "tt", "tt2", "ttml" } }, { "toml", { "toml" } }, { "ts", { "ts", "tsx" } }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/the_silver_searcher-2.1.0/src/main.c new/the_silver_searcher-2.2.0/src/main.c --- old/the_silver_searcher-2.1.0/src/main.c 2017-06-27 05:33:25.000000000 +0200 +++ new/the_silver_searcher-2.2.0/src/main.c 2018-08-07 08:20:25.000000000 +0200 @@ -185,7 +185,7 @@ log_debug("searching path %s for %s", paths[i], opts.query); symhash = NULL; ignores *ig = init_ignore(root_ignores, "", 0); - struct stat s = {.st_dev = 0 }; + struct stat s = { .st_dev = 0 }; #ifndef _WIN32 /* The device is ignored if opts.one_dev is false, so it's fine * to leave it at the default 0 @@ -213,7 +213,7 @@ double time_diff = ((long)stats.time_end.tv_sec * 1000000 + stats.time_end.tv_usec) - ((long)stats.time_start.tv_sec * 1000000 + stats.time_start.tv_usec); time_diff /= 1000000; - printf("%ld matches\n%ld files contained matches\n%ld files searched\n%ld bytes searched\n%f seconds\n", + printf("%zu matches\n%zu files contained matches\n%zu files searched\n%zu bytes searched\n%f seconds\n", stats.total_matches, stats.total_file_matches, stats.total_files, stats.total_bytes, time_diff); pthread_mutex_destroy(&stats_mtx); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/the_silver_searcher-2.1.0/src/options.c new/the_silver_searcher-2.2.0/src/options.c --- old/the_silver_searcher-2.1.0/src/options.c 2017-06-07 05:28:28.000000000 +0200 +++ new/the_silver_searcher-2.2.0/src/options.c 2018-08-07 08:36:00.000000000 +0200 @@ -427,7 +427,7 @@ case 'g': needs_query = accepts_query = 0; opts.match_files = 1; - /* Fall through so regex is built */ + /* fall through */ case 'G': if (file_search_regex) { log_err("File search regex (-g or -G) already specified."); @@ -589,6 +589,7 @@ } log_err("option %s does not take a value", longopts[opt_index].name); + /* fall through */ default: usage(); exit(1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/the_silver_searcher-2.1.0/src/search.c new/the_silver_searcher-2.2.0/src/search.c --- old/the_silver_searcher-2.1.0/src/search.c 2017-06-28 07:10:58.000000000 +0200 +++ new/the_silver_searcher-2.2.0/src/search.c 2018-08-07 08:35:30.000000000 +0200 @@ -9,7 +9,7 @@ if (opts.search_stream) { binary = 0; - } else if (!opts.search_binary_files) { + } else if (!opts.search_binary_files && opts.mmap) { /* if not using mmap, binary files have already been skipped */ binary = is_binary((const void *)buf, buf_len); if (binary) { log_debug("File %s is binary. Skipping...", dir_full_path); @@ -347,9 +347,23 @@ #endif } else { buf = ag_malloc(f_len); - size_t bytes_read = read(fd, buf, f_len); - if ((off_t)bytes_read != f_len) { - die("expected to read %u bytes but read %u", f_len, bytes_read); + + ssize_t bytes_read = 0; + + if (!opts.search_binary_files) { + bytes_read += read(fd, buf, ag_min(f_len, 512)); + // Optimization: If skipping binary files, don't read the whole buffer before checking if binary or not. + if (is_binary(buf, f_len)) { + log_debug("File %s is binary. Skipping...", file_full_path); + goto cleanup; + } + } + + while (bytes_read < f_len) { + bytes_read += read(fd, buf + bytes_read, f_len); + } + if (bytes_read != f_len) { + die("File %s read(): expected to read %u bytes but read %u", file_full_path, f_len, bytes_read); } } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/the_silver_searcher-2.1.0/src/uthash.h new/the_silver_searcher-2.2.0/src/uthash.h --- old/the_silver_searcher-2.1.0/src/uthash.h 2017-01-11 08:41:55.000000000 +0100 +++ new/the_silver_searcher-2.2.0/src/uthash.h 2017-12-18 04:26:27.000000000 +0100 @@ -457,24 +457,34 @@ switch (_hj_k) { \ case 11: \ hashv += ((unsigned)_hj_key[10] << 24); \ + /* fall through */ \ case 10: \ hashv += ((unsigned)_hj_key[9] << 16); \ + /* fall through */ \ case 9: \ hashv += ((unsigned)_hj_key[8] << 8); \ + /* fall through */ \ case 8: \ _hj_j += ((unsigned)_hj_key[7] << 24); \ + /* fall through */ \ case 7: \ _hj_j += ((unsigned)_hj_key[6] << 16); \ + /* fall through */ \ case 6: \ _hj_j += ((unsigned)_hj_key[5] << 8); \ + /* fall through */ \ case 5: \ _hj_j += _hj_key[4]; \ + /* fall through */ \ case 4: \ _hj_i += ((unsigned)_hj_key[3] << 24); \ + /* fall through */ \ case 3: \ _hj_i += ((unsigned)_hj_key[2] << 16); \ + /* fall through */ \ case 2: \ _hj_i += ((unsigned)_hj_key[1] << 8); \ + /* fall through */ \ case 1: \ _hj_i += _hj_key[0]; \ } \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/the_silver_searcher-2.1.0/src/util.c new/the_silver_searcher-2.2.0/src/util.c --- old/the_silver_searcher-2.1.0/src/util.c 2017-06-04 09:58:06.000000000 +0200 +++ new/the_silver_searcher-2.2.0/src/util.c 2018-08-07 08:16:09.000000000 +0200 @@ -148,6 +148,13 @@ return a; } +size_t ag_min(size_t a, size_t b) { + if (b < a) { + return b; + } + return a; +} + void generate_hash(const char *find, const size_t f_len, uint8_t *h_table, const int case_sensitive) { int i; for (i = f_len - sizeof(uint16_t); i >= 0; i--) { @@ -617,7 +624,7 @@ ssize_t buf_getline(const char **line, const char *buf, const size_t buf_len, const size_t buf_offset) { const char *cur = buf + buf_offset; ssize_t i; - for (i = 0; cur[i] != '\n' && (buf_offset + i < buf_len); i++) { + for (i = 0; (buf_offset + i < buf_len) && cur[i] != '\n'; i++) { } *line = cur; return i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/the_silver_searcher-2.1.0/src/util.h new/the_silver_searcher-2.2.0/src/util.h --- old/the_silver_searcher-2.1.0/src/util.h 2017-06-04 09:58:06.000000000 +0200 +++ new/the_silver_searcher-2.2.0/src/util.h 2018-08-07 08:15:45.000000000 +0200 @@ -42,10 +42,10 @@ } match_t; typedef struct { - long total_bytes; - long total_files; - long total_matches; - long total_file_matches; + size_t total_bytes; + size_t total_files; + size_t total_matches; + size_t total_file_matches; struct timeval time_start; struct timeval time_end; } ag_stats; @@ -69,6 +69,7 @@ /* max is already defined on spec-violating compilers such as MinGW */ size_t ag_max(size_t a, size_t b); +size_t ag_min(size_t a, size_t b); const char *boyer_moore_strnstr(const char *s, const char *find, const size_t s_len, const size_t f_len, const size_t alpha_skip_lookup[], const size_t *find_skip_lookup, const int case_insensitive); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/the_silver_searcher-2.1.0/the_silver_searcher.spec new/the_silver_searcher-2.2.0/the_silver_searcher.spec --- old/the_silver_searcher-2.1.0/the_silver_searcher.spec 2017-08-25 08:18:09.000000000 +0200 +++ new/the_silver_searcher-2.2.0/the_silver_searcher.spec 2018-08-07 08:44:39.000000000 +0200 @@ -2,7 +2,7 @@ Name: the_silver_searcher -Version: 2.1.0 +Version: 2.2.0 Release: 1%{?dist} Summary: A code-searching tool similar to ack, but faster