You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2018/09/30 18:26:49 UTC
svn commit: r1842404 [1/11] - in /subversion/branches/better-pristines: ./
build/ build/ac-macros/ build/generator/ build/generator/templates/
contrib/client-side/svn_load_dirs/ doc/user/ notes/logo/ notes/shelving/
subversion/bindings/javahl/ subversi...
Author: brane
Date: Sun Sep 30 18:26:47 2018
New Revision: 1842404
URL: http://svn.apache.org/viewvc?rev=1842404&view=rev
Log:
On the better-pristines branch: Sync with trunk up to r1842402.
Added:
subversion/branches/better-pristines/notes/logo/subversion_logo.svg
- copied unchanged from r1842402, subversion/trunk/notes/logo/subversion_logo.svg
subversion/branches/better-pristines/notes/shelving/
- copied from r1842402, subversion/trunk/notes/shelving/
subversion/branches/better-pristines/subversion/libsvn_repos/dump_editor.c
- copied unchanged from r1842402, subversion/trunk/subversion/libsvn_repos/dump_editor.c
subversion/branches/better-pristines/subversion/tests/afl/afl-svndiff-testcase/
- copied from r1842402, subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/
subversion/branches/better-pristines/subversion/tests/afl/afl-svndiff.c
- copied unchanged from r1842402, subversion/trunk/subversion/tests/afl/afl-svndiff.c
subversion/branches/better-pristines/subversion/tests/afl/afl-x509-testcase/test2
- copied unchanged from r1842402, subversion/trunk/subversion/tests/afl/afl-x509-testcase/test2
subversion/branches/better-pristines/subversion/tests/afl/afl-x509-testcase/test3
- copied unchanged from r1842402, subversion/trunk/subversion/tests/afl/afl-x509-testcase/test3
subversion/branches/better-pristines/tools/dist/changes-to-html.py
- copied unchanged from r1842402, subversion/trunk/tools/dist/changes-to-html.py
Modified:
subversion/branches/better-pristines/ (props changed)
subversion/branches/better-pristines/CHANGES
subversion/branches/better-pristines/COMMITTERS
subversion/branches/better-pristines/Makefile.in
subversion/branches/better-pristines/build.conf
subversion/branches/better-pristines/build/ac-macros/java.m4
subversion/branches/better-pristines/build/ac-macros/libsecret.m4
subversion/branches/better-pristines/build/ac-macros/swig.m4
subversion/branches/better-pristines/build/generator/extractor.py
subversion/branches/better-pristines/build/generator/gen_base.py
subversion/branches/better-pristines/build/generator/gen_make.py
subversion/branches/better-pristines/build/generator/gen_win.py
subversion/branches/better-pristines/build/generator/gen_win_dependencies.py
subversion/branches/better-pristines/build/generator/templates/build-outputs.mk.ezt
subversion/branches/better-pristines/build/run_tests.py
subversion/branches/better-pristines/configure.ac
subversion/branches/better-pristines/contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in
subversion/branches/better-pristines/doc/user/svn-best-practices.html
subversion/branches/better-pristines/subversion/bindings/javahl/README
subversion/branches/better-pristines/subversion/bindings/javahl/native/JNIUtil.cpp
subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItemStateFlags.java
subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java
subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java
subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java
subversion/branches/better-pristines/subversion/bindings/swig/ruby/svn/util.rb
subversion/branches/better-pristines/subversion/bindings/swig/ruby/test/test_util.rb
subversion/branches/better-pristines/subversion/include/private/svn_client_private.h
subversion/branches/better-pristines/subversion/include/private/svn_diff_tree.h
subversion/branches/better-pristines/subversion/include/private/svn_repos_private.h
subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h
subversion/branches/better-pristines/subversion/include/svn_client.h
subversion/branches/better-pristines/subversion/include/svn_repos.h
subversion/branches/better-pristines/subversion/include/svn_time.h
subversion/branches/better-pristines/subversion/include/svn_version.h
subversion/branches/better-pristines/subversion/include/svn_wc.h
subversion/branches/better-pristines/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
subversion/branches/better-pristines/subversion/libsvn_client/client.h
subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c
subversion/branches/better-pristines/subversion/libsvn_client/diff.c (contents, props changed)
subversion/branches/better-pristines/subversion/libsvn_client/diff_local.c
subversion/branches/better-pristines/subversion/libsvn_client/diff_summarize.c
subversion/branches/better-pristines/subversion/libsvn_client/layout.c
subversion/branches/better-pristines/subversion/libsvn_client/list.c
subversion/branches/better-pristines/subversion/libsvn_client/merge.c
subversion/branches/better-pristines/subversion/libsvn_client/repos_diff.c
subversion/branches/better-pristines/subversion/libsvn_client/shelf.c
subversion/branches/better-pristines/subversion/libsvn_client/status.c
subversion/branches/better-pristines/subversion/libsvn_client/update.c
subversion/branches/better-pristines/subversion/libsvn_diff/diff_tree.c
subversion/branches/better-pristines/subversion/libsvn_fs_fs/recovery.c
subversion/branches/better-pristines/subversion/libsvn_fs_x/ (props changed)
subversion/branches/better-pristines/subversion/libsvn_fs_x/tree.c
subversion/branches/better-pristines/subversion/libsvn_ra_serf/util.c
subversion/branches/better-pristines/subversion/libsvn_repos/authz_parse.c
subversion/branches/better-pristines/subversion/libsvn_repos/dump.c
subversion/branches/better-pristines/subversion/libsvn_repos/list.c
subversion/branches/better-pristines/subversion/libsvn_subr/config_file.c
subversion/branches/better-pristines/subversion/libsvn_subr/io.c
subversion/branches/better-pristines/subversion/libsvn_subr/ssl_client_cert_pw_providers.c
subversion/branches/better-pristines/subversion/libsvn_subr/sysinfo.c
subversion/branches/better-pristines/subversion/libsvn_wc/README
subversion/branches/better-pristines/subversion/libsvn_wc/conflicts.c
subversion/branches/better-pristines/subversion/libsvn_wc/deprecated.c
subversion/branches/better-pristines/subversion/libsvn_wc/diff_local.c
subversion/branches/better-pristines/subversion/libsvn_wc/node.c
subversion/branches/better-pristines/subversion/libsvn_wc/wc-queries.sql
subversion/branches/better-pristines/subversion/libsvn_wc/wc.h
subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.c
subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.h
subversion/branches/better-pristines/subversion/libsvn_wc/wc_db_wcroot.c
subversion/branches/better-pristines/subversion/libsvn_wc/wcroot_anchor.c
subversion/branches/better-pristines/subversion/mod_dav_svn/reports/file-revs.c
subversion/branches/better-pristines/subversion/mod_dav_svn/repos.c
subversion/branches/better-pristines/subversion/po/de.po
subversion/branches/better-pristines/subversion/po/sv.po
subversion/branches/better-pristines/subversion/svn/cl.h
subversion/branches/better-pristines/subversion/svn/conflict-callbacks.c
subversion/branches/better-pristines/subversion/svn/diff-cmd.c
subversion/branches/better-pristines/subversion/svn/info-cmd.c
subversion/branches/better-pristines/subversion/svn/shelf-cmd.c
subversion/branches/better-pristines/subversion/svn/svn.c
subversion/branches/better-pristines/subversion/svnadmin/svnadmin.c
subversion/branches/better-pristines/subversion/svnrdump/dump_editor.c
subversion/branches/better-pristines/subversion/tests/cmdline/basic_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/blame_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/commit_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/diff_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/entries_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/export_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/externals_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/getopt_tests_data/svn--help_stdout
subversion/branches/better-pristines/subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout
subversion/branches/better-pristines/subversion/tests/cmdline/getopt_tests_data/svn_help_stdout
subversion/branches/better-pristines/subversion/tests/cmdline/lock_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/log_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/move_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/patch_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/prop_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/revert_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/shelf_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/special_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/stat_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/svnadmin_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/svnfsfs_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/svnmover_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/svnmucc_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/svnrdump_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/svnsync_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/svntest/main.py
subversion/branches/better-pristines/subversion/tests/cmdline/svntest/sandbox.py
subversion/branches/better-pristines/subversion/tests/cmdline/svntest/tree.py
subversion/branches/better-pristines/subversion/tests/cmdline/svntest/verify.py
subversion/branches/better-pristines/subversion/tests/cmdline/svntest/wc.py
subversion/branches/better-pristines/subversion/tests/cmdline/trans_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/tree_conflict_tests.py
subversion/branches/better-pristines/subversion/tests/cmdline/upgrade_tests.py
subversion/branches/better-pristines/subversion/tests/libsvn_client/conflicts-test.c
subversion/branches/better-pristines/subversion/tests/libsvn_repos/authz-test.c
subversion/branches/better-pristines/subversion/tests/libsvn_repos/repos-test.c
subversion/branches/better-pristines/subversion/tests/libsvn_wc/wc-queries-test.c
subversion/branches/better-pristines/tools/client-side/bash_completion
subversion/branches/better-pristines/tools/dev/unix-build/Makefile.svn
subversion/branches/better-pristines/tools/dist/backport_tests.py
subversion/branches/better-pristines/tools/dist/release.py
subversion/branches/better-pristines/tools/dist/security/parser.py
subversion/branches/better-pristines/tools/dist/templates/download.ezt
subversion/branches/better-pristines/tools/dist/templates/rc-news.ezt
subversion/branches/better-pristines/tools/dist/templates/rc-release-ann.ezt
subversion/branches/better-pristines/tools/dist/templates/stable-news.ezt
subversion/branches/better-pristines/tools/dist/templates/stable-release-ann.ezt
subversion/branches/better-pristines/tools/server-side/svnpubsub/svnwcsub.py
Propchange: subversion/branches/better-pristines/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Sep 30 18:26:47 2018
@@ -1,4 +1,5 @@
/subversion/branches/1.10-cache-improvements:1669168-1694487
+/subversion/branches/1.11.x:1841316,1841548
/subversion/branches/1.5.x-r30215:870312
/subversion/branches/1.7.x-fs-verify:1146708,1161180
/subversion/branches/1.9-cache-improvements:1678948-1679863
@@ -54,6 +55,7 @@
/subversion/branches/issue-3975:1152931-1160746
/subversion/branches/issue-4116-dev:1424719-1425040
/subversion/branches/issue-4194-dev:1410507-1414880
+/subversion/branches/java10-compat:1840620-1841179
/subversion/branches/javahl-ra:991978-1494640
/subversion/branches/kwallet:870785-871314
/subversion/branches/log-addressing:1509279-1546844
@@ -99,4 +101,4 @@
/subversion/branches/verify-at-commit:1462039-1462408
/subversion/branches/verify-keep-going:1439280-1546110
/subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1807118-1829346
+/subversion/trunk:1807118-1842402
Modified: subversion/branches/better-pristines/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/CHANGES?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/CHANGES (original)
+++ subversion/branches/better-pristines/CHANGES Sun Sep 30 18:26:47 2018
@@ -1,7 +1,91 @@
+# To view a revision listed as (rXXXXXXX), visit:
+# https://svn.apache.org/rXXXXXXX
+#
+# To view an issue listed as (issue #XXXX), visit:
+# https://issues.apache.org/jira/browse/SVN-XXXX
+
+Version 1.12.0
+(?? ??? 20XX, from /branches/1.12.x)
+https://svn.apache.org/repos/asf/subversion/tags/1.12.0
+
Version 1.11.0
-(?? ??? 20XX, from /branches/1.11.x)
+(24 Oct 2018, from /branches/1.11.x)
http://svn.apache.org/repos/asf/subversion/tags/1.11.0
+ User-visible changes:
+ - Major new features:
+ * Shelving is no longer based on patch files (experimental) (issue #3625)
+ * Checkpointing (experimental) (issue #3626)
+ * Viewspec output command (experimental) (issue #4753)
+
+ - Minor new features and improvements:
+ * Improvements to tree conflict resolution (issue #4694 #4766 ...)
+ * 'patch' can now read non-pretty-printed svn:mergeinfo diffs (r1822151)
+ * Better error when http:// URL is not a Subversion repository (r1825302)
+ * Add 'schedule' and 'depth' items to 'svn info --show-item' (r1827032)
+ * Allow the client cert password to be saved (r1836762)
+
+ - Client-side bugfixes:
+ * Fix a crash in a repo:WC summary diff of a local copy (r1835218)
+ * Fix double diff headers (r1836746)
+ * Tree conflict resolver: avoid endless scan in some cases (r1839662)
+
+ - Server-side bugfixes:
+ * svnadmin dump shouldn't canonicalize svn:date (issue #4767)
+ * 'svnadmin verify --keep-going --quiet' shows an error summary (r1837790)
+ * Let 'svnadmin recover' prune the rep-cache even if disabled (r1838813)
+
+ - Client-side and server-side bugfixes:
+ * Fix pattern-matching of top level path in listing with search (r1830599)
+ * Allow commands like 'svn ci --file X' to work when X is a FIFO (r1836306)
+
+ - Other tool improvements and bugfixes:
+ * tools/client-side/bash_completion: Add '--password-from-stdin' (r1820045)
+
+ Developer-visible changes:
+ - General:
+ * new tool: tools/dist/edit-N-log-messages (r1819207)
+ * tools/dev/unix-build/Makefile.svn: various fixes
+ * Expose the diff option 'pretty_print_mergeinfo' in APIs (r1822014)
+ * In 'revert' APIs, choose whether to delete schedule-add nodes (r1822534)
+
+ - Bindings:
+ * Fix Python binding fs.FileDiff behaviour with python-future (r1823802)
+ * Fix Python unit test, fs.SubversionFSTestCase, on Windows (r1824410)
+ * Bump minimum JDK version required for JavaHL to 1.8 (r1831895)
+ * Enable building against Java 10 (r1841180 et al)
+ * Fix a potential crash in JavaHL (issue #4764)
+
+
+Version 1.10.2
+(20 Jul 2018, from /branches/1.10.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.10.2
+
+ User-visible changes:
+ - Client-side bugfixes:
+ * Correctly claim to offer Gnome Keyring support with libsecret (r1831142)
+ * Fix segfault using Gnome Keyring with libsecret (r1835782)
+ * Fix JavaHL local refs capacity warning when unparsing externals (r1831143)
+ * Since on Windows Subversion does not handle symlinks, never check for reparse points (r1835701)
+ * Prune externals after 'update --set-depth=exclude' (r1835702)
+ * Fix issue #4740, "conflict resolver searches too far back ..." (r1835703)
+ - Server-side bugfixes:
+ * Fix regression issue #4741: authz group refers to multiple groups (r1831220)
+
+ Developer-visible changes:
+ - General:
+ * Regression test and FSFS checksum test, part of issue #4722 (r1828043)
+ * Explicit error on configure --without-lz4 or --without-utf8proc (r1831604)
+ * configure.ac: Fix regression relating to path to 'rdoc' (r1833486)
+ * Ensure consistent use of $PYTHON during build and test (r1833487)
+ * Fix libsvn_auth_gnome_keyring.pc when built using libsecret (r1835781)
+ - Bindings:
+ * Fix regression in use of pre-generated Swig bindings in release builds (r1833488)
+
+
+Version 1.10.1
+(Not released; see changes for 1.10.2.)
+
Version 1.10.0
(13 Apr 2018, from /branches/1.10.x)
@@ -291,6 +375,41 @@ the 1.9 release: https://subversion.apa
* Ruby: Detect versions up to 2.4 (r1806570)
+Version 1.9.9
+(20 Jul 2018, from /branches/1.9.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.9.9
+
+ User-visible changes:
+ - Client-side bugfixes:
+ * Fix SEGV for 'svn export -rN WC' with relative externals (r1803755)
+ * Fix issue #4677: 'svn up' after a directory replaced a file (r1814248)
+ * Fix segfault when no home directory is available (r1819199)
+ * Performance: Make 'svn info' fast on old repository revisions (r1827690)
+ * Fix RA-serf problem with proxy username and password (r1833571)
+
+ - Server-side bugfixes:
+ * svnadmin: Fix false errors on some valid LOCK_PATH arguments (r1803754)
+ * Fix crash when exiting 'svnserve --config-file' (r1824405)
+ * Fix issue #4722: false "filesystem is corrupt" error on commit (r1827688)
+ * Reword confusing "nested" wording in an httpd.conf warning (r1835700)
+
+ - Bindings bugfixes:
+ * swig-py: svn.core.Stream supports raw binary file-like objects (r1820620)
+ * swig-rb: Don't crash if svn_md5_digest_to_cstring returns NULL (r1823805)
+
+ Developer-visible changes:
+ - General:
+ * Fix CVE-2017-9800: Malicious server can execute arbitrary command on client (r1804698)
+ * Fix test failure if compile- and run-time HTTPD versions differ (r1820523)
+
+ - API changes:
+ (none)
+
+
+Version 1.9.8
+(Not released; see changes for 1.9.9.)
+
+
Version 1.9.7
(10 Aug 2017, from /branches/1.9.x)
http://svn.apache.org/repos/asf/subversion/tags/1.9.7
Modified: subversion/branches/better-pristines/COMMITTERS
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/COMMITTERS?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/COMMITTERS [UTF-8] (original)
+++ subversion/branches/better-pristines/COMMITTERS [UTF-8] Sun Sep 30 18:26:47 2018
@@ -87,6 +87,7 @@ Partial committers who have asked to be
rassilon Bill Tutt <bi...@tutts.org> (Win32, COM, issue-1003-dev br.)
pll Paul lussier <p....@comcast.net> (releases)
rdonch Роман Донченко <dp...@corrigendum.ru> (Swig-Python b.)
+ karolszk Karol Szkudlarek <ka...@mikronika.com.pl> (po: pl)
Commit access for specific areas:
@@ -179,7 +180,6 @@ Commit access for specific areas:
oyvindmo Øyvind Møll <sv...@moll.no> (po: nb)
sunny256 Øyvind A. Holm <su...@sunbase.org> (po: nb)
jzgoda Jaroslaw Zgoda <jz...@o2.pl> (po: pl)
- karolszk Karol Szkudlarek <ka...@mikronika.com.pl> (po: pl)
plasma Wei-Hon Chen <pl...@ms9.hinet.net> (po: zh_TW)
jihuang June-Yen Huang <ji...@iis.sinica.edu.tw> (po: zh_TW) [EMAIL
IS BOUNCING]
Modified: subversion/branches/better-pristines/Makefile.in
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/Makefile.in?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/Makefile.in (original)
+++ subversion/branches/better-pristines/Makefile.in Sun Sep 30 18:26:47 2018
@@ -218,7 +218,6 @@ COMPILE_SWIG_RB = $(LIBTOOL) $(LTFLAGS)
# special compilation for files destined for javahl (i.e. C++)
COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(JAVAHL_INCLUDES) -o $@ -c
COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
-COMPILE_JAVAHL_JAVAH = $(JAVAH)
COMPILE_JAVAHL_COMPAT_JAVAC = $(JAVAC) $(JAVAC_COMPAT_FLAGS)
# On Mac OS X, export an env variable so that the tests can run without
@@ -393,7 +392,6 @@ JAVAC = @JAVAC@
JAVADOC = @JAVADOC@
JAVAC_FLAGS = @JAVAC_FLAGS@
JAVAC_COMPAT_FLAGS = @JAVAC_COMPAT_FLAGS@
-JAVAH = @JAVAH@
JAR = @JAR@
JAVA_CLASSPATH=$(abs_srcdir)/subversion/bindings/javahl/src:@JAVA_CLASSPATH@
@@ -494,8 +492,8 @@ revision-install:
install-static: @INSTALL_STATIC_RULES@
# JavaHL target aliases
-javahl: mkdir-init javahl-java javahl-javah javahl-callback-javah javahl-remote-javah javahl-types-javah javahl-util-javah javahl-lib @JAVAHL_TESTS_TARGET@ javahl-compat
-install-javahl: javahl install-javahl-java install-javahl-javah install-javahl-lib
+javahl: mkdir-init javahl-java javahl-callback-java javahl-remote-java javahl-types-java javahl-util-java javahl-lib @JAVAHL_TESTS_TARGET@ javahl-compat
+install-javahl: javahl install-javahl-java install-javahl-lib
javahl-compat: javahl-compat-java @JAVAHL_COMPAT_TESTS_TARGET@
clean-javahl:
Modified: subversion/branches/better-pristines/build.conf
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build.conf?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build.conf (original)
+++ subversion/branches/better-pristines/build.conf Sun Sep 30 18:26:47 2018
@@ -608,16 +608,14 @@ msvc-export = ../bindings/swig/ruby/libs
[javahl-java]
type = java
path = subversion/bindings/javahl/src/org/apache/subversion/javahl
- subversion/bindings/javahl/src/org/apache/subversion/javahl/callback
- subversion/bindings/javahl/src/org/apache/subversion/javahl/remote
- subversion/bindings/javahl/src/org/apache/subversion/javahl/types
- subversion/bindings/javahl/src/org/apache/subversion/javahl/util
-src-root = subversion/bindings/javahl/src
sources = *.java
+native = CommitItemStateFlags.java NativeResources.java SVNClient.java
+ SVNRepos.java
install = javahl-java
link-cmd = $(COMPILE_JAVAHL_JAVAC)
classes = subversion/bindings/javahl/classes
-package-roots = org
+headers = subversion/bindings/javahl/include
+package = org.apache.subversion.javahl
[javahl-compat-java]
type = java
@@ -626,10 +624,12 @@ sources = *.java
install = javahl-java
link-cmd = $(COMPILE_JAVAHL_COMPAT_JAVAC)
classes = subversion/bindings/javahl/classes
-add-deps = $(javahl_java_DEPS)
+add-deps = $(javahl_callback_java_DEPS) $(javahl_remote_java_DEPS)
+ $(javahl_types_java_DEPS) $(javahl_util_java_DEPS)
+ $(javahl_java_DEPS)
### Replace JAR call in INSTALL_EXTRA_JAVAHL_JAVA macro Makefile.in.
#jar = svn-javahl.jar
-package-roots = org
+package = org.tigris.subversion.javahl
[javahl-tests]
type = java
@@ -638,10 +638,12 @@ sources = *.java
install = javahl-java
link-cmd = $(COMPILE_JAVAHL_JAVAC)
classes = subversion/bindings/javahl/classes
-package-roots = org
+package = org.apache.subversion.javahl
### Java targets don't do up-to-date checks yet.
#add-deps = javahl-java
-add-deps = $(javahl_java_DEPS)
+add-deps = $(javahl_callback_java_DEPS) $(javahl_remote_java_DEPS)
+ $(javahl_types_java_DEPS) $(javahl_util_java_DEPS)
+ $(javahl_java_DEPS)
[javahl-compat-tests]
type = java
@@ -650,65 +652,59 @@ sources = *.java
install = javahl-java
link-cmd = $(COMPILE_JAVAHL_COMPAT_JAVAC)
classes = subversion/bindings/javahl/classes
-package-roots = org
+package = org.tigris.subversion.javahl
### Java targets don't do up-to-date checks yet.
#add-deps = javahl-compat-java
add-deps = $(javahl_compat_java_DEPS)
-[javahl-callback-javah]
-type = javah
+[javahl-callback-java]
+type = java
path = subversion/bindings/javahl/src/org/apache/subversion/javahl/callback
classes = subversion/bindings/javahl/classes
headers = subversion/bindings/javahl/include
package = org.apache.subversion.javahl.callback
sources = *.java
-add-deps = $(javahl_java_DEPS)
-install = javahl-javah
-link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
+native = UserPasswordCallback.java
+install = javahl-java
+link-cmd = $(COMPILE_JAVAHL_JAVAC)
-[javahl-remote-javah]
-type = javah
+[javahl-remote-java]
+type = java
path = subversion/bindings/javahl/src/org/apache/subversion/javahl/remote
classes = subversion/bindings/javahl/classes
headers = subversion/bindings/javahl/include
package = org.apache.subversion.javahl.remote
sources = *.java
-add-deps = $(javahl_java_DEPS)
-install = javahl-javah
-link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
+native = CommitEditor.java RemoteFactory.java RemoteSession.java
+ StateReporter.java
+install = javahl-java
+link-cmd = $(COMPILE_JAVAHL_JAVAC)
-[javahl-types-javah]
-type = javah
+[javahl-types-java]
+type = java
path = subversion/bindings/javahl/src/org/apache/subversion/javahl/types
classes = subversion/bindings/javahl/classes
headers = subversion/bindings/javahl/include
package = org.apache.subversion.javahl.types
sources = *.java
-add-deps = $(javahl_java_DEPS)
-install = javahl-javah
-link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
+native = NativeInputStream.java NativeOutputStream.java Revision.java
+ RevisionRangeList.java RuntimeVersion.java VersionExtended.java
+ Version.java
+install = javahl-java
+link-cmd = $(COMPILE_JAVAHL_JAVAC)
-[javahl-util-javah]
-type = javah
+[javahl-util-java]
+type = java
path = subversion/bindings/javahl/src/org/apache/subversion/javahl/util
classes = subversion/bindings/javahl/classes
headers = subversion/bindings/javahl/include
package = org.apache.subversion.javahl.util
sources = *.java
-add-deps = $(javahl_java_DEPS)
-install = javahl-javah
-link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
-
-[javahl-javah]
-type = javah
-path = subversion/bindings/javahl/src/org/apache/subversion/javahl
-classes = subversion/bindings/javahl/classes
-headers = subversion/bindings/javahl/include
-package = org.apache.subversion.javahl
-sources = *.java
-add-deps = $(javahl_java_DEPS)
-install = javahl-javah
-link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
+native = ConfigImpl.java ConfigLib.java DiffLib.java PropLib.java
+ RequestChannel.java ResponseChannel.java SubstLib.java
+ TunnelChannel.java
+install = javahl-java
+link-cmd = $(COMPILE_JAVAHL_JAVAC)
[libsvnjavahl]
description = Subversion Java HighLevel binding
@@ -717,9 +713,9 @@ path = subversion/bindings/javahl/native
libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff
libsvn_subr libsvn_fs aprutil apriconv apr java-sdk
sources = *.cpp jniwrapper/*.cpp
-add-deps = $(javahl_java_DEPS) $(javahl_callback_javah_DEPS)
- $(javahl_remote_javah_DEPS) $(javahl_types_javah_DEPS)
- $(javahl_util_javah_DEPS) $(javahl_javah_DEPS)
+add-deps = $(javahl_java_DEPS) $(javahl_callback_java_DEPS)
+ $(javahl_remote_java_DEPS) $(javahl_types_java_DEPS)
+ $(javahl_util_java_DEPS) $(javahl_java_DEPS)
install = javahl-lib
# need special build rule to include -I$(JDK)/include/jni.h
compile-cmd = $(COMPILE_JAVAHL_CXX)
@@ -1463,7 +1459,8 @@ external-lib = $(SVN_DB_LIBS)
[gnome-keyring]
type = lib
external-lib = $(SVN_GNOME_KEYRING_LIBS)
-pkg-config = gnome-keyring-1
+pkg-config = @SVN_GNOME_KEYRING_PCLIBS@
+pkg-config-private = yes
[kwallet]
type = lib
@@ -1587,7 +1584,7 @@ libs = __ALL__
conflict-data-test db-test pristine-store-test entries-compat-test
op-depth-test dirent_uri-test wc-queries-test wc-test
auth-test
- parse-diff-test x509-test xml-test afl-x509 compress-test
+ parse-diff-test x509-test xml-test afl-x509 afl-svndiff compress-test
svndiff-stream-test
[__MORE__]
@@ -1629,7 +1626,7 @@ lang = ruby
[__JAVAHL__]
type = project
path = build/win32
-libs = javahl-java javahl-javah libsvnjavahl
+libs = javahl-java libsvnjavahl
[__JAVAHL_TESTS__]
type = project
@@ -1748,3 +1745,12 @@ sources = afl-x509.c
install = test
libs = libsvn_subr apr
testing = skip
+
+[afl-svndiff]
+description = AFL fuzzer for svndiff to txdelta parser
+type = exe
+path = subversion/tests/afl
+sources = afl-svndiff.c
+install = test
+libs = libsvn_delta libsvn_subr apr
+testing = skip
Modified: subversion/branches/better-pristines/build/ac-macros/java.m4
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/ac-macros/java.m4?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/ac-macros/java.m4 (original)
+++ subversion/branches/better-pristines/build/ac-macros/java.m4 Sun Sep 30 18:26:47 2018
@@ -166,7 +166,7 @@ AC_DEFUN(SVN_FIND_JDK,
# The release for "-source" could actually be greater than that
# of "-target", if we want to cross-compile for lesser JVMs.
if test -z "$JAVAC_FLAGS"; then
- JAVAC_FLAGS="-target $JAVA_OLDEST_WORKING_VER -source 1.6"
+ JAVAC_FLAGS="-target $JAVA_OLDEST_WORKING_VER -source 1.8"
if test "$enable_debugging" = "yes"; then
JAVAC_FLAGS="-g -Xlint -Xlint:unchecked -Xlint:serial -Xlint:path $JAVAC_FLAGS"
if test -z "$JAVAC_COMPAT_FLAGS"; then
Modified: subversion/branches/better-pristines/build/ac-macros/libsecret.m4
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/ac-macros/libsecret.m4?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/ac-macros/libsecret.m4 (original)
+++ subversion/branches/better-pristines/build/ac-macros/libsecret.m4 Sun Sep 30 18:26:47 2018
@@ -54,6 +54,7 @@ AC_DEFUN(SVN_LIB_SECRET,
[Is libsecret support enabled?])
SVN_GNOME_KEYRING_INCLUDES="`$PKG_CONFIG --cflags libsecret-1`"
SVN_GNOME_KEYRING_LIBS="`$PKG_CONFIG --libs libsecret-1`"
+ SVN_GNOME_KEYRING_PCLIBS="libsecret-1"
found_gnome_keyring="yes"
else
if test "$with_gnome_keyring" = "yes"; then
@@ -90,4 +91,5 @@ AC_DEFUN(SVN_LIB_SECRET,
fi
AC_SUBST(SVN_GNOME_KEYRING_INCLUDES)
AC_SUBST(SVN_GNOME_KEYRING_LIBS)
+ AC_SUBST(SVN_GNOME_KEYRING_PCLIBS)
])
Modified: subversion/branches/better-pristines/build/ac-macros/swig.m4
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/ac-macros/swig.m4?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/ac-macros/swig.m4 (original)
+++ subversion/branches/better-pristines/build/ac-macros/swig.m4 Sun Sep 30 18:26:47 2018
@@ -183,6 +183,11 @@ AC_DEFUN(SVN_FIND_SWIG,
SWIG_RB_COMPILE="none"
SWIG_RB_LINK="none"
if test "$RUBY" != "none"; then
+ if test x"$SWIG_VERSION" = x"3""00""008"; then
+ # Use a local variable to escape the '#' sign.
+ ruby_swig_issue_602='https://subversion.apache.org/docs/release-notes/1.11#ruby-swig-issue-602'
+ AC_MSG_WARN([Ruby bindings are known not to support swig 3.0.8; see $ruby_swig_issue_602])
+ fi
rbconfig="$RUBY -rrbconfig -e "
for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \
Modified: subversion/branches/better-pristines/build/generator/extractor.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/generator/extractor.py?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/generator/extractor.py (original)
+++ subversion/branches/better-pristines/build/generator/extractor.py Sun Sep 30 18:26:47 2018
@@ -69,4 +69,6 @@ if __name__ == '__main__':
if os.path.basename(fname) == 'svn_ctype.h':
print('svn_ctype_table = svn_ctype_table_internal CONSTANT')
elif os.path.basename(fname) == 'svn_wc_private.h':
+ # svn_wc__internal_walk_children() is now internal to libsvn_wc
+ # but entries-dump.c still calls it
print('svn_wc__internal_walk_children')
Modified: subversion/branches/better-pristines/build/generator/gen_base.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/generator/gen_base.py?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/generator/gen_base.py (original)
+++ subversion/branches/better-pristines/build/generator/gen_base.py Sun Sep 30 18:26:47 2018
@@ -900,115 +900,67 @@ class TargetJava(TargetLinked):
def __init__(self, name, options, gen_obj):
TargetLinked.__init__(self, name, options, gen_obj)
self.link_cmd = options.get('link-cmd')
- self.packages = options.get('package-roots', '').split()
+ self.package = options.get('package')
self.jar = options.get('jar')
self.deps = [ ]
-
-class TargetJavaHeaders(TargetJava):
- def __init__(self, name, options, gen_obj):
- TargetJava.__init__(self, name, options, gen_obj)
self.objext = '.class'
- self.javah_objext = '.h'
self.headers = options.get('headers')
self.classes = options.get('classes')
- self.package = options.get('package')
- self.output_dir = self.headers
+ self.native = options.get('native', '')
+ self.output_dir = self.classes
+ self.headers_dir = self.headers
def add_dependencies(self):
sources = _collect_paths(self.sources, self.path)
+ native = _collect_paths(self.native, self.path)
+
+ class_pkg_list = self.package.split('.')
+ sourcepath = build_path_split(self.path)[:-len(class_pkg_list)]
+ sourcepath = build_path_join(*sourcepath)
for src, reldir in sources:
if src[-5:] != '.java':
raise GenError('ERROR: unknown file extension on ' + src)
+ sfile = SourceFile(src, reldir)
+ sfile.sourcepath = sourcepath
+
class_name = build_path_basename(src[:-5])
- class_header = build_path_join(self.headers, class_name + '.h')
- class_header_win = build_path_join(self.headers,
- self.package.replace(".", "_")
- + "_" + class_name + '.h')
- class_pkg_list = self.package.split('.')
class_pkg = build_path_join(*class_pkg_list)
class_file = ObjectFile(build_path_join(self.classes, class_pkg,
class_name + self.objext),
- self.when)
+ self.compile_cmd, self.when)
class_file.source_generated = 1
class_file.class_name = class_name
- hfile = HeaderFile(class_header, self.package + '.' + class_name,
- self.compile_cmd)
- hfile.filename_win = class_header_win
- hfile.source_generated = 1
- self.gen_obj.graph.add(DT_OBJECT, hfile, class_file)
- self.deps.append(hfile)
- # target (a linked item) depends upon object
- self.gen_obj.graph.add(DT_LINK, self.name, hfile)
+ self.gen_obj.graph.add(DT_OBJECT, class_file, sfile)
+ self.gen_obj.graph.add(DT_LINK, self.name, class_file)
+ self.deps.append(class_file)
+
+ if (src, reldir) in native:
+ class_header = build_path_join(self.headers, class_name + '.h')
+ class_header_win = build_path_join(self.headers,
+ self.package.replace(".", "_")
+ + "_" + class_name + '.h')
+ hfile = HeaderFile(class_header, self.package + '.' + class_name,
+ self.compile_cmd)
+ hfile.filename_win = class_header_win
+ hfile.source_generated = 1
+ self.gen_obj.graph.add(DT_OBJECT, hfile, sfile)
+ self.deps.append(hfile)
+ # target (a linked item) depends upon object
+ self.gen_obj.graph.add(DT_LINK, self.name, hfile)
- # collect all the paths where stuff might get built
- ### we should collect this from the dependency nodes rather than
- ### the sources. "what dir are you going to put yourself into?"
- self.gen_obj.target_dirs.append(self.path)
- self.gen_obj.target_dirs.append(self.classes)
- self.gen_obj.target_dirs.append(self.headers)
- for pattern in self.sources.split():
- dirname = build_path_dirname(pattern)
- if dirname:
- self.gen_obj.target_dirs.append(build_path_join(self.path, dirname))
-
- self.gen_obj.graph.add(DT_INSTALL, self.name, self)
-
-class TargetJavaClasses(TargetJava):
- def __init__(self, name, options, gen_obj):
- TargetJava.__init__(self, name, options, gen_obj)
- self.objext = '.class'
- self.lang = 'java'
- self.classes = options.get('classes')
- self.output_dir = self.classes
-
- def add_dependencies(self):
- sources = []
- for p in self.path.split():
- sources.extend(_collect_paths(self.sources, p))
-
- for src, reldir in sources:
- if src[-5:] == '.java':
- objname = src[:-5] + self.objext
-
- # As .class files are likely not generated into the same
- # directory as the source files, the object path may need
- # adjustment. To this effect, take "target_ob.classes" into
- # account.
- dirs = build_path_split(objname)
- sourcedirs = dirs[:-1] # Last element is the .class file name.
- while sourcedirs:
- if sourcedirs.pop() in self.packages:
- sourcepath = build_path_join(*sourcedirs)
- objname = build_path_join(self.classes, *dirs[len(sourcedirs):])
- break
- else:
- raise GenError('Unable to find Java package root in path "%s"' % objname)
- else:
- raise GenError('ERROR: unknown file extension on "' + src + '"')
-
- ofile = ObjectFile(objname, self.compile_cmd, self.when)
- sfile = SourceFile(src, reldir)
- sfile.sourcepath = sourcepath
-
- # object depends upon source
- self.gen_obj.graph.add(DT_OBJECT, ofile, sfile)
-
- # target (a linked item) depends upon object
- self.gen_obj.graph.add(DT_LINK, self.name, ofile)
-
- # Add the class file to the dependency tree for this target
- self.deps.append(ofile)
# collect all the paths where stuff might get built
### we should collect this from the dependency nodes rather than
### the sources. "what dir are you going to put yourself into?"
- self.gen_obj.target_dirs.extend(self.path.split())
+ self.gen_obj.target_dirs.append(self.path)
self.gen_obj.target_dirs.append(self.classes)
+ if self.headers:
+ self.gen_obj.target_dirs.append(self.headers)
for pattern in self.sources.split():
dirname = build_path_dirname(pattern)
if dirname:
@@ -1057,8 +1009,7 @@ _build_types = {
'apache-mod': TargetApacheMod,
'shared-only-lib': TargetSharedOnlyLib,
'shared-only-cxx-lib': TargetSharedOnlyCxxLib,
- 'javah' : TargetJavaHeaders,
- 'java' : TargetJavaClasses,
+ 'java' : TargetJava,
'i18n' : TargetI18N,
'sql-header' : TargetSQLHeader,
}
Modified: subversion/branches/better-pristines/build/generator/gen_make.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/generator/gen_make.py?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/generator/gen_make.py (original)
+++ subversion/branches/better-pristines/build/generator/gen_make.py Sun Sep 30 18:26:47 2018
@@ -309,6 +309,8 @@ class Generator(gen_base.GeneratorBase):
ezt_target.link_cmd = target_ob.link_cmd
if hasattr(target_ob, 'output_dir'):
ezt_target.output_dir = target_ob.output_dir
+ if hasattr(target_ob, 'headers_dir'):
+ ezt_target.headers_dir = target_ob.headers_dir
# Add additional install dependencies if necessary
if target_ob.add_install_deps:
@@ -507,7 +509,7 @@ class Generator(gen_base.GeneratorBase):
standalone.write('top_srcdir = .\n')
standalone.write('top_builddir = .\n')
standalone.write('SWIG = swig\n')
- standalone.write('PYTHON = python\n')
+ standalone.write('PYTHON = ' + sys.executable + '\n')
standalone.write('\n')
standalone.write(open("build-outputs.mk","r").read())
standalone.close()
Modified: subversion/branches/better-pristines/build/generator/gen_win.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/generator/gen_win.py?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/generator/gen_win.py (original)
+++ subversion/branches/better-pristines/build/generator/gen_win.py Sun Sep 30 18:26:47 2018
@@ -217,7 +217,6 @@ class WinGeneratorBase(gen_win_dependenc
if 'java_sdk' not in self._libraries:
install_targets = [x for x in install_targets
if not (isinstance(x, gen_base.TargetJava)
- or isinstance(x, gen_base.TargetJavaHeaders)
or x.name == '__JAVAHL__'
or x.name == '__JAVAHL_TESTS__'
or x.name == 'libsvnjavahl')]
@@ -332,11 +331,9 @@ class WinGeneratorBase(gen_win_dependenc
sources = [ ]
javac_exe = "javac"
- javah_exe = "javah"
jar_exe = "jar"
if self.jdk_path:
javac_exe = os.path.join(self.jdk_path, "bin", javac_exe)
- javah_exe = os.path.join(self.jdk_path, "bin", javah_exe)
jar_exe = os.path.join(self.jdk_path, "bin", jar_exe)
if not isinstance(target, gen_base.TargetProject):
@@ -345,25 +342,13 @@ class WinGeneratorBase(gen_win_dependenc
ctarget = None
cdesc = None
cignore = None
- if isinstance(target, gen_base.TargetJavaHeaders):
- classes = self.path(target.classes)
- if self.junit_path is not None:
- classes = "%s;%s" % (classes, self.junit_path)
-
- headers = self.path(target.headers)
- classname = target.package + "." + source.class_name
-
- cbuild = "%s -verbose -force -classpath %s -d %s %s" \
- % (self.quote(javah_exe), self.quote(classes),
- self.quote(headers), classname)
-
- ctarget = self.path(object.filename_win)
- cdesc = "Generating %s" % (object.filename_win)
-
- elif isinstance(target, gen_base.TargetJavaClasses):
+ if isinstance(target, gen_base.TargetJava):
classes = targetdir = self.path(target.classes)
if self.junit_path is not None:
classes = "%s;%s" % (classes, self.junit_path)
+ headers = ''
+ if target.headers is not None:
+ headers = '-h %s' % self.quote(self.path(target.headers))
sourcepath = self.path(source.sourcepath)
@@ -373,17 +358,21 @@ class WinGeneratorBase(gen_win_dependenc
per_project_flags += "-Xlint:-deprecation -Xlint:-dep-ann" \
" -Xlint:-rawtypes"
- cbuild = ("%s -g -Xlint -Xlint:-options " +
- per_project_flags +
- " -target 1.5 -source 1.5 -classpath "
+ cbuild = ("%s -g -Xlint -Xlint:-options %s %s "
+ " -target 1.8 -source 1.8 -classpath "
" %s -d %s "
" -sourcepath %s $(InputPath)") \
- % tuple(map(self.quote, (javac_exe, classes,
- targetdir, sourcepath)))
+ % (self.quote(javac_exe), per_project_flags, headers,
+ self.quote(classes), self.quote(targetdir),
+ self.quote(sourcepath))
- ctarget = self.path(object.filename)
- cdesc = "Compiling %s" % (source)
+ if isinstance(object, gen_base.HeaderFile):
+ ctarget = self.path(object.filename_win)
+ cdesc = "Generating %s" % (object.filename_win)
+ else:
+ ctarget = self.path(object.filename)
+ cdesc = "Compiling %s" % (source)
rsrc = self.path(str(source))
if quote_path and '-' in rsrc:
@@ -403,7 +392,7 @@ class WinGeneratorBase(gen_win_dependenc
custom_desc=cdesc, ignored = cignore,
extension=os.path.splitext(rsrc)[1]))
- if isinstance(target, gen_base.TargetJavaClasses) and target.jar:
+ if isinstance(target, gen_base.TargetJava) and target.jar:
classdir = self.path(target.classes)
jarfile = msvc_path_join(classdir, target.jar)
cbuild = "%s cf %s -C %s %s" \
@@ -507,9 +496,7 @@ class WinGeneratorBase(gen_win_dependenc
return name[0] + '.pdb'
def get_output_dir(self, target):
- if isinstance(target, gen_base.TargetJavaHeaders):
- return msvc_path("../" + target.headers)
- elif isinstance(target, gen_base.TargetJavaClasses):
+ if isinstance(target, gen_base.TargetJava):
return msvc_path("../" + target.classes)
else:
return msvc_path(target.path)
Modified: subversion/branches/better-pristines/build/generator/gen_win_dependencies.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/generator/gen_win_dependencies.py?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/generator/gen_win_dependencies.py (original)
+++ subversion/branches/better-pristines/build/generator/gen_win_dependencies.py Sun Sep 30 18:26:47 2018
@@ -1067,11 +1067,15 @@ class GenDependenciesBase(gen_base.Gener
return
try:
- outfp = subprocess.Popen([os.path.join(jdk_path, 'bin', 'javah.exe'),
- '-version'], stdout=subprocess.PIPE).stdout
+ # Apparently a 1.8 javac writes its version output to stderr, while
+ # a 1.10 javac writes it to stdout. To catch them all, we redirect
+ # stderr to stdout.
+ outfp = subprocess.Popen([os.path.join(jdk_path, 'bin', 'javac.exe'),
+ '-version'], stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT).stdout
line = outfp.read()
if line:
- vermatch = re.search(r'"(([0-9]+(\.[0-9]+)+)(_[._0-9]+)?)"', line, re.M)
+ vermatch = re.search(r'(([0-9]+(\.[0-9]+)+)(_[._0-9]+)?)', line, re.M)
else:
vermatch = None
Modified: subversion/branches/better-pristines/build/generator/templates/build-outputs.mk.ezt
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/generator/templates/build-outputs.mk.ezt?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/generator/templates/build-outputs.mk.ezt (original)
+++ subversion/branches/better-pristines/build/generator/templates/build-outputs.mk.ezt Sun Sep 30 18:26:47 2018
@@ -102,13 +102,9 @@ install-[target.install]: [target.instal
[target.varname]_OBJECTS = [for target.objects][if-index target.objects first][else] [end][target.objects][end]
[target.varname]_DEPS = $([target.varname]_HEADERS) $([target.varname]_OBJECTS)[for target.add_deps] [target.add_deps][end][for target.deps][if-index target.deps first][else] [end][target.deps][end]
[target.name]: $([target.varname]_DEPS)
-[if-any target.headers][target.varname]_CLASS_FILENAMES =[for target.header_class_filenames] [target.header_class_filenames][end]
-[target.varname]_CLASSES =[for target.header_classes] [target.header_classes][end]
-$([target.varname]_HEADERS): $([target.varname]_CLASS_FILENAMES)
- [target.link_cmd] -d [target.output_dir] -classpath [target.classes]:$([target.varname]_CLASSPATH) $([target.varname]_CLASSES)
-[end][if-any target.sources][target.varname]_SRC =[for target.sources] [target.sources][end]
-$([target.varname]_OBJECTS): $([target.varname]_SRC)
- [target.link_cmd] -d [target.output_dir] -classpath [target.classes]:$([target.varname]_CLASSPATH) $([target.varname]_SRC)
+[if-any target.sources][target.varname]_SRC =[for target.sources] [target.sources][end]
+$([target.varname]_HEADERS) $([target.varname]_OBJECTS): $([target.varname]_SRC)
+ [target.link_cmd][if-any target.headers] -h [target.headers_dir][end] -d [target.output_dir] -classpath [target.classes]:$([target.varname]_CLASSPATH) $([target.varname]_SRC)
[if-any target.jar]
$(JAR) cf [target.jar_path] -C [target.classes][for target.packages] [target.packages][end][end][end]
[else][is target.type "i18n"][target.varname]_DEPS =[for target.add_deps] [target.add_deps][end][for target.objects] [target.objects][end][for target.deps] [target.deps][end]
Modified: subversion/branches/better-pristines/build/run_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/run_tests.py?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/run_tests.py (original)
+++ subversion/branches/better-pristines/build/run_tests.py Sun Sep 30 18:26:47 2018
@@ -327,7 +327,7 @@ class TestHarness:
def _command_line(self, harness):
if self.is_python:
cmdline = list(harness.py_test_cmdline)
- cmdline.insert(0, 'python')
+ cmdline.insert(0, sys.executable)
cmdline.insert(1, self.progabs)
# Run the test apps in "child process" mode,
# i.e. w/o cleaning up global directories etc.
@@ -375,7 +375,7 @@ class TestHarness:
def _count_py_tests(self, progabs, progdir, progbase):
'Run a c test, escaping parameters as required.'
- cmdline = [ 'python', progabs, '--list' ]
+ cmdline = [ sys.executable, progabs, '--list' ]
prog = subprocess.Popen(cmdline, stdout=subprocess.PIPE, cwd=progdir)
lines = prog.stdout.readlines()
@@ -448,6 +448,7 @@ class TestHarness:
job_queue = queue.Queue()
total_count = 0
scrambled = list(jobs)
+ # TODO: What's this line doing, and what's the magic number?
scrambled.sort(key=lambda x: ("1" if x.test_count() < 30 else "0") + str(x.number))
for job in scrambled:
total_count += job.test_count()
Modified: subversion/branches/better-pristines/configure.ac
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/configure.ac?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/configure.ac (original)
+++ subversion/branches/better-pristines/configure.ac Sun Sep 30 18:26:47 2018
@@ -593,6 +593,7 @@ if test "$with_old_gnome_keyring" != "no
[Is GNOME Keyring support enabled?])
CPPFLAGS="$old_CPPFLAGS"
SVN_GNOME_KEYRING_LIBS="`$PKG_CONFIG --libs glib-2.0 gnome-keyring-1`"
+ SVN_GNOME_KEYRING_PCLIBS="glib-2.0 gnome-keyring-1"
else
AC_MSG_RESULT([no])
if test "$with_old_gnome_keyring" = "yes"; then
@@ -1305,7 +1306,7 @@ fi
AC_PATH_PROGS(PYTHON, "$PYTHON", none)
# The minimum version for the JVM runtime for our Java bytecode.
-JAVA_OLDEST_WORKING_VER='1.6'
+JAVA_OLDEST_WORKING_VER='1.8'
# SVN_CHECK_JDK sets $JAVA_CLASSPATH
SVN_CHECK_JDK($JAVA_OLDEST_WORKING_VER)
Modified: subversion/branches/better-pristines/contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in (original)
+++ subversion/branches/better-pristines/contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in Sun Sep 30 18:26:47 2018
@@ -1205,10 +1205,11 @@ while (defined (my $load_dir = &get_next
read_from_process($svn,
'propset',
- $property_name,
'--file',
$tmpfile,
- $add_file);
+ '--',
+ $property_name,
+ $add_file . "@");
}
}
}
Modified: subversion/branches/better-pristines/doc/user/svn-best-practices.html
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/doc/user/svn-best-practices.html?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/doc/user/svn-best-practices.html (original)
+++ subversion/branches/better-pristines/doc/user/svn-best-practices.html Sun Sep 30 18:26:47 2018
@@ -240,7 +240,7 @@ while somebody else is in the process of
<li>Users commit their day-to-day work on <tt>/trunk</tt>.</li>
<li>Rule #1: <tt>/trunk</tt> must compile and pass regression tests at
-all times. Committers who violate this rule are publically
+all times. Committers who violate this rule are publicly
humiliated.</li>
<li>Rule #2: a single commit (changeset) must not be so large
Modified: subversion/branches/better-pristines/subversion/bindings/javahl/README
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/javahl/README?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/javahl/README (original)
+++ subversion/branches/better-pristines/subversion/bindings/javahl/README Sun Sep 30 18:26:47 2018
@@ -5,7 +5,7 @@ JavaHL provides a (mostly native, using
a high level Java API for Subversion, which was originally targeted for
implementors of GUI clients and IDE plug-ins for Subversion. JavaHL
currently provides a minimal-but-complete set of APIs which expose the
-core Subversion C API to Java. It requires a JRE 1.6+ (runtime).
+core Subversion C API to Java. It requires a JRE 1.8+ (runtime).
It is currently quite mature, and can be considered for production use.
@@ -14,7 +14,7 @@ Build system
------------
JavaHL should compile and run under Linux, Win32, and Mac OS X with
-JDK 1.6+ and a C++ compiler with a complete implementation of
+JDK 1.8+ and a C++ compiler with a complete implementation of
C++98 (for example, GCC 3.2 and older cannot compile JavaHL 1.9+).
Its build will produce both a native library (libsvnjavahl-1.so on Unix
Modified: subversion/branches/better-pristines/subversion/bindings/javahl/native/JNIUtil.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/javahl/native/JNIUtil.cpp?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/javahl/native/JNIUtil.cpp (original)
+++ subversion/branches/better-pristines/subversion/bindings/javahl/native/JNIUtil.cpp Sun Sep 30 18:26:47 2018
@@ -578,16 +578,17 @@ jthrowable JNIUtil::wrappedCreateClientE
if (JNIUtil::isJavaExceptionThrown())
return NULL;
- const char *source = NULL;
+ std::string source;
#ifdef SVN_DEBUG
#ifndef SVN_ERR__TRACING
if (err->file)
{
- std::ostringstream buf;
- buf << err->file;
+ source = err->file;
if (err->line > 0)
- buf << ':' << err->line;
- source = buf.str().c_str();
+ {
+ source += ':';
+ source += err->line;
+ }
}
#endif
#endif
@@ -615,7 +616,7 @@ jthrowable JNIUtil::wrappedCreateClientE
JNICriticalSection cs(*g_logMutex);
g_logStream << "Subversion JavaHL exception thrown, message:<";
g_logStream << msg << ">";
- if (source)
+ if (!source.empty())
g_logStream << " source:<" << source << ">";
if (err->apr_err != -1)
g_logStream << " apr-err:<" << err->apr_err << ">";
@@ -624,7 +625,7 @@ jthrowable JNIUtil::wrappedCreateClientE
if (isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- jstring jsource = makeJString(source);
+ jstring jsource = (source.empty() ? NULL : makeJString(source.c_str()));
if (isJavaExceptionThrown())
POP_AND_RETURN_NULL;
Modified: subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItemStateFlags.java
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItemStateFlags.java?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItemStateFlags.java (original)
+++ subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItemStateFlags.java Sun Sep 30 18:26:47 2018
@@ -23,6 +23,8 @@
package org.apache.subversion.javahl;
+import java.lang.annotation.*;
+
/**
* The constants in this interface describe the changes to an item to
* be committed.
@@ -32,36 +34,43 @@ public interface CommitItemStateFlags
/**
* the item has been added
*/
+ @Native
public static final int Add=1;
/**
* the item has been deleted
*/
+ @Native
public static final int Delete=2;
/**
* the item has text modifications
*/
+ @Native
public static final int TextMods=4;
/**
* the item has property modifications
*/
+ @Native
public static final int PropMods=8;
/**
* the item has been copied
*/
+ @Native
public static final int IsCopy=16;
/**
* the item has a lock token
*/
+ @Native
public static final int LockToken = 32;
/**
* the item was moved to this location
* @since 1.8
*/
+ @Native
public static int MovedHere = 64;
}
Modified: subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java (original)
+++ subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java Sun Sep 30 18:26:47 2018
@@ -142,7 +142,7 @@ public class NativeResources
private static final void init()
{
final int SVN_VER_MAJOR = 1;
- final int SVN_VER_MINOR = 11;
+ final int SVN_VER_MINOR = 12;
initNativeLibrary();
version = new Version();
if (!version.isAtLeast(SVN_VER_MAJOR, SVN_VER_MINOR, 0))
Modified: subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java (original)
+++ subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java Sun Sep 30 18:26:47 2018
@@ -23,6 +23,8 @@
package org.apache.subversion.javahl.callback;
+import java.lang.annotation.*;
+
/**
* <p>The interface for requesting authentication credentials from the
* user. Should the javahl bindings need the matching information,
@@ -40,16 +42,19 @@ public interface UserPasswordCallback
/**
* Reject the connection to the server.
*/
+ @Native
public static final int Reject = 0;
/**
* Accept the connection to the server <i>once</i>.
*/
+ @Native
public static final int AcceptTemporary = 1;
/**
* Accept the connection to the server <i>forever</i>.
*/
+ @Native
public static final int AcceptPermanently = 2;
/**
Modified: subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java (original)
+++ subversion/branches/better-pristines/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java Sun Sep 30 18:26:47 2018
@@ -23,6 +23,7 @@
package org.apache.subversion.javahl.types;
+import java.lang.annotation.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
@@ -179,6 +180,7 @@ public class Revision implements java.io
/**
* Marker revision number for no real revision
*/
+ @Native
public static final int SVN_INVALID_REVNUM = -1;
/**
Modified: subversion/branches/better-pristines/subversion/bindings/swig/ruby/svn/util.rb
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/swig/ruby/svn/util.rb?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/swig/ruby/svn/util.rb (original)
+++ subversion/branches/better-pristines/subversion/bindings/swig/ruby/svn/util.rb Sun Sep 30 18:26:47 2018
@@ -36,8 +36,13 @@ module Svn
module Util #:nodoc:
module_function
def to_ruby_class_name(name)
+ # Convert to CamelCase with 'X' for a leading/double/trailing underscore.
name.to_s.split("_").collect do |x|
- "#{x[0,1].upcase}#{x[1..-1].downcase}"
+ if x.empty?
+ "X"
+ else
+ x.capitalize
+ end
end.join("")
end
@@ -70,6 +75,8 @@ module Svn
target_name = $POSTMATCH
when /^SWIG_SVN_/
target_name = $POSTMATCH
+ when /^Svn_(?:#{target_mod.name.split("::").last.downcase}_)?_(.+)_t$/
+ # ignore private types
when /^Svn_(?:#{target_mod.name.split("::").last.downcase}_)?(.+)_t$/
target_name = to_ruby_class_name($1)
when /^Svn_(?:#{target_mod.name.split("::").last.downcase}_)?/
Modified: subversion/branches/better-pristines/subversion/bindings/swig/ruby/test/test_util.rb
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/swig/ruby/test/test_util.rb?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/swig/ruby/test/test_util.rb (original)
+++ subversion/branches/better-pristines/subversion/bindings/swig/ruby/test/test_util.rb Sun Sep 30 18:26:47 2018
@@ -33,5 +33,6 @@ class SvnUtilTest < Test::Unit::TestCase
assert_equal("Abc", Svn::Util.to_ruby_class_name("abc"))
assert_equal("AbcDef", Svn::Util.to_ruby_class_name("abc_def"))
assert_equal("AbcDef", Svn::Util.to_ruby_class_name("ABC_DEF"))
+ assert_equal("XFoo", Svn::Util.to_ruby_class_name("_foo"))
end
end
Modified: subversion/branches/better-pristines/subversion/include/private/svn_client_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/private/svn_client_private.h?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/private/svn_client_private.h (original)
+++ subversion/branches/better-pristines/subversion/include/private/svn_client_private.h Sun Sep 30 18:26:47 2018
@@ -341,6 +341,77 @@ svn_client__mergeinfo_log(svn_boolean_t
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
+/** Return a diff processor that will print a Subversion-style
+ * (not git-style) diff.
+ *
+ * @a anchor is optional (may be null), and is the 'anchor' path to prefix
+ * to the diff-processor paths before displaying.
+ *
+ * @a orig_path_1 and @a orig_path_2 are the two main root paths to be
+ * diffed; each may be a URL, a local WC path or a local unversioned path.
+ *
+ * Other arguments are as for svn_client_diff7() etc.
+ */
+svn_error_t *
+svn_client__get_diff_writer_svn(
+ svn_diff_tree_processor_t **diff_processor,
+ const char *anchor,
+ const char *orig_path_1,
+ const char *orig_path_2,
+ const apr_array_header_t *options,
+ const char *relative_to_dir,
+ svn_boolean_t no_diff_added,
+ svn_boolean_t no_diff_deleted,
+ svn_boolean_t show_copies_as_adds,
+ svn_boolean_t ignore_content_type,
+ svn_boolean_t ignore_properties,
+ svn_boolean_t properties_only,
+ svn_boolean_t pretty_print_mergeinfo,
+ const char *header_encoding,
+ svn_stream_t *outstream,
+ svn_stream_t *errstream,
+ svn_client_ctx_t *ctx,
+ apr_pool_t *pool);
+
+/** Output the subtree of @a shelf_version rooted at @a shelf_relpath
+ * as a diff to @a diff_processor.
+ *
+ * ### depth and ignore_ancestry are currently ignored.
+ *
+ * @warning EXPERIMENTAL.
+ */
+SVN_EXPERIMENTAL
+svn_error_t *
+svn_client__shelf_diff(svn_client__shelf_version_t *shelf_version,
+ const char *shelf_relpath,
+ svn_depth_t depth,
+ svn_boolean_t ignore_ancestry,
+ const svn_diff_tree_processor_t *diff_processor,
+ apr_pool_t *scratch_pool);
+
+/*** Editor for diff summary ***/
+
+/* Set *DIFF_PROCESSOR to a diff processor that will report a diff summary
+ to SUMMARIZE_FUNC.
+
+ P_ROOT_RELPATH will return a pointer to a string that must be set,
+ before the processor is called, to a prefix that will be found on
+ every DIFF_PROCESSOR relpath, that will be removed before passing
+ the path to SUMMARIZE_FUNC.
+
+ ORIGINAL_TARGET is not used.
+
+ SUMMARIZE_FUNC is called with SUMMARIZE_BATON as parameter by the
+ created callbacks for each changed item.
+*/
+svn_error_t *
+svn_client__get_diff_summarize_callbacks(
+ svn_diff_tree_processor_t **diff_processor,
+ svn_client_diff_summarize_func_t summarize_func,
+ void *summarize_baton,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Modified: subversion/branches/better-pristines/subversion/include/private/svn_diff_tree.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/private/svn_diff_tree.h?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/private/svn_diff_tree.h (original)
+++ subversion/branches/better-pristines/subversion/include/private/svn_diff_tree.h Sun Sep 30 18:26:47 2018
@@ -321,7 +321,6 @@ svn_diff__tree_processor_create(void *ba
*/ /* Used by libsvn clients repository diff */
const svn_diff_tree_processor_t *
svn_diff__tree_processor_reverse_create(const svn_diff_tree_processor_t * processor,
- const char *prefix_relpath,
apr_pool_t *result_pool);
/**
Modified: subversion/branches/better-pristines/subversion/include/private/svn_repos_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/private/svn_repos_private.h?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/private/svn_repos_private.h (original)
+++ subversion/branches/better-pristines/subversion/include/private/svn_repos_private.h Sun Sep 30 18:26:47 2018
@@ -31,6 +31,7 @@
#include "svn_types.h"
#include "svn_repos.h"
+#include "svn_delta.h"
#include "svn_editor.h"
#include "svn_config.h"
@@ -349,6 +350,27 @@ svn_repos__dump_node_record(svn_stream_t
svn_boolean_t content_length_always,
apr_pool_t *scratch_pool);
+/**
+ * Get a dump editor @a editor along with a @a edit_baton allocated in
+ * @a pool. The editor will write output to @a stream.
+ *
+ * @a update_anchor_relpath is the repository relative path of the
+ * anchor of the update-style drive which will happen on @a *editor;
+ * if a replay-style drive will instead be used, it should be passed
+ * as @c NULL.
+ *
+ * In contrast to the dump editor used inside svn_repos_dump_fs4(), this
+ * one supports only deltas mode.
+ *
+ * ### TODO: Unify with the dump editor inside svn_repos_dump_fs4().
+ */
+svn_error_t *
+svn_repos__get_dump_editor(const svn_delta_editor_t **editor,
+ void **edit_baton,
+ svn_stream_t *stream,
+ const char *update_anchor_relpath,
+ apr_pool_t *pool);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Modified: subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h?rev=1842404&r1=1842403&r2=1842404&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h Sun Sep 30 18:26:47 2018
@@ -353,6 +353,8 @@ svn_wc__get_wcroot(const char **wcroot_a
* the directory exists.
*
* @a local_abspath is any path in the WC, and is used to find the WC root.
+ *
+ * @warning EXPERIMENTAL.
*/
SVN_EXPERIMENTAL
svn_error_t *
@@ -615,6 +617,24 @@ svn_wc__node_get_base(svn_node_kind_t *k
apr_pool_t *scratch_pool);
+/* Return an array of const char * elements, which represent local absolute
+ * paths for nodes, within the working copy indicated by WRI_ABSPATH, which
+ * have a basename matching BASENAME and have node kind KIND.
+ * If no such nodes exist, return an empty array.
+ *
+ * This function returns only paths to nodes which are present in the highest
+ * layer of the WC. In other words, paths to deleted and/or excluded nodes are
+ * never returned.
+ */
+svn_error_t *
+svn_wc__find_working_nodes_with_basename(apr_array_header_t **abspaths,
+ const char *wri_abspath,
+ const char *basename,
+ svn_node_kind_t kind,
+ svn_wc_context_t *wc_ctx,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
/* Get the working revision of @a local_abspath using @a wc_ctx. If @a
* local_abspath is not in the working copy, return @c
* SVN_ERR_WC_PATH_NOT_FOUND.
@@ -2044,31 +2064,19 @@ svn_wc__acquire_write_lock_for_resolve(c
/* The implemementation of svn_wc_diff6(), but reporting to a diff processor
*
- * New mode: when ROOT_RELPATH is not NULL:
+ * New mode, when ANCHOR_AT_GIVEN_PATHS is true:
*
- * If LOCAL_ABSPATH is the WC root, set *ROOT_RELPATH to "" and send
- * diff processor relpaths relative to LOCAL_ABSPATH; otherwise set
- * *ROOT_RELPATH to the last component of LOCAL_ABSPATH and send diff
- * processor relpaths relative to the parent of LOCAL_ABSPATH.
- * (*ROOT_RELPATH will be either "" or a single path component.)
+ * Anchor the DIFF_PROCESSOR at LOCAL_ABSPATH.
*
- * Backward compatibility mode for svn_wc_diff6(): when ROOT_RELPATH is NULL:
+ * Backward compatibility mode for svn_wc_diff6(),
+ * when ANCHOR_AT_GIVEN_PATHS is false:
*
* Send diff processor relpaths relative to LOCAL_ABSPATH if it is a
* directory; otherwise, relative to the parent of LOCAL_ABSPATH.
* This matches the "anchor and target" semantics of svn_wc_diff6().
- *
- * If ROOT_IS_DIR is not NULL:
- *
- * Set *ROOT_IS_DIR to TRUE if the working version of LOCAL_ABSPATH is
- * a directory, else to FALSE.
- *
- * Assignments to *ROOT_RELPATH and *ROOT_IS_DIR are made before the first
- * call to DIFF_PROCESSOR.
*/
svn_error_t *
-svn_wc__diff7(const char **root_relpath,
- svn_boolean_t *root_is_dir,
+svn_wc__diff7(svn_boolean_t anchor_at_given_paths,
svn_wc_context_t *wc_ctx,
const char *local_abspath,
svn_depth_t depth,