Author: cmpilato
Date: Tue Apr 3 19:16:59 2012
New Revision: 1309099
URL: http://svn.apache.org/viewvc?rev=1309099&view=rev
Log:
Sync the 'master-passphrase' branch with changes from
^/subversion/trunk:r1303884-1309097.
Added:
subversion/branches/master-passphrase/subversion/libsvn_subr/crypto.c
- copied unchanged from r1309097,
subversion/trunk/subversion/libsvn_subr/crypto.c
subversion/branches/master-passphrase/subversion/libsvn_subr/crypto.h
- copied unchanged from r1309097,
subversion/trunk/subversion/libsvn_subr/crypto.h
subversion/branches/master-passphrase/subversion/tests/libsvn_subr/crypto-test.c
- copied unchanged from r1309097,
subversion/trunk/subversion/tests/libsvn_subr/crypto-test.c
subversion/branches/master-passphrase/tools/dev/aprerr.txt
- copied unchanged from r1309097, subversion/trunk/tools/dev/aprerr.txt
subversion/branches/master-passphrase/tools/dist/make-deps-tarball.sh
(props changed)
- copied unchanged from r1309097,
subversion/trunk/tools/dist/make-deps-tarball.sh
Modified:
subversion/branches/master-passphrase/ (props changed)
subversion/branches/master-passphrase/CHANGES
subversion/branches/master-passphrase/Makefile.in
subversion/branches/master-passphrase/build.conf
subversion/branches/master-passphrase/build/generator/gen_make.py
subversion/branches/master-passphrase/build/generator/templates/makefile.ezt
subversion/branches/master-passphrase/build/run_tests.py
subversion/branches/master-passphrase/configure.ac
subversion/branches/master-passphrase/subversion/bindings/swig/perl/native/t/3client.t
subversion/branches/master-passphrase/subversion/include/private/svn_cache.h
subversion/branches/master-passphrase/subversion/include/private/svn_client_private.h
subversion/branches/master-passphrase/subversion/include/svn_delta.h
subversion/branches/master-passphrase/subversion/include/svn_diff.h
subversion/branches/master-passphrase/subversion/include/svn_sorts.h
subversion/branches/master-passphrase/subversion/include/svn_string.h
subversion/branches/master-passphrase/subversion/libsvn_client/client.h
subversion/branches/master-passphrase/subversion/libsvn_client/commit.c
subversion/branches/master-passphrase/subversion/libsvn_client/copy.c
subversion/branches/master-passphrase/subversion/libsvn_client/merge.c
subversion/branches/master-passphrase/subversion/libsvn_client/ra.c
subversion/branches/master-passphrase/subversion/libsvn_client/switch.c
subversion/branches/master-passphrase/subversion/libsvn_client/util.c
subversion/branches/master-passphrase/subversion/libsvn_delta/compat.c
subversion/branches/master-passphrase/subversion/libsvn_delta/xdelta.c
subversion/branches/master-passphrase/subversion/libsvn_fs/fs-loader.h
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/dag.c
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/dag.h
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/fs_fs.c
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/temp_serializer.c
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/temp_serializer.h
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/tree.c
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/tree.h
subversion/branches/master-passphrase/subversion/libsvn_ra_serf/sb_bucket.c
subversion/branches/master-passphrase/subversion/libsvn_ra_serf/util.c
subversion/branches/master-passphrase/subversion/libsvn_ra_svn/client.c
subversion/branches/master-passphrase/subversion/libsvn_repos/dump.c
subversion/branches/master-passphrase/subversion/libsvn_repos/hooks.c
subversion/branches/master-passphrase/subversion/libsvn_subr/cache-inprocess.c
subversion/branches/master-passphrase/subversion/libsvn_subr/cache-membuffer.c
subversion/branches/master-passphrase/subversion/libsvn_subr/cache-memcache.c
subversion/branches/master-passphrase/subversion/libsvn_subr/checksum.c
subversion/branches/master-passphrase/subversion/libsvn_subr/spillbuf.c
subversion/branches/master-passphrase/subversion/libsvn_subr/svn_string.c
subversion/branches/master-passphrase/subversion/libsvn_wc/wc_db.c
subversion/branches/master-passphrase/subversion/libsvn_wc/wc_db_util.c
subversion/branches/master-passphrase/subversion/mod_dav_svn/mod_dav_svn.c
subversion/branches/master-passphrase/subversion/po/fr.po
subversion/branches/master-passphrase/subversion/po/ja.po
subversion/branches/master-passphrase/subversion/svnrdump/load_editor.c
subversion/branches/master-passphrase/subversion/svnserve/serve.c
subversion/branches/master-passphrase/subversion/svnsync/main.c
subversion/branches/master-passphrase/subversion/tests/cmdline/copy_tests.py
subversion/branches/master-passphrase/subversion/tests/cmdline/davautocheck.sh
subversion/branches/master-passphrase/subversion/tests/cmdline/log_tests.py
subversion/branches/master-passphrase/subversion/tests/cmdline/merge_tests.py
subversion/branches/master-passphrase/subversion/tests/cmdline/svnadmin_tests.py
subversion/branches/master-passphrase/subversion/tests/cmdline/svntest/sandbox.py
subversion/branches/master-passphrase/subversion/tests/libsvn_client/client-test.c
subversion/branches/master-passphrase/subversion/tests/libsvn_delta/random-test.c
subversion/branches/master-passphrase/subversion/tests/libsvn_subr/
(props changed)
subversion/branches/master-passphrase/subversion/tests/libsvn_subr/cache-test.c
subversion/branches/master-passphrase/subversion/tests/libsvn_subr/spillbuf-test.c
subversion/branches/master-passphrase/subversion/tests/libsvn_wc/op-depth-test.c
subversion/branches/master-passphrase/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd
subversion/branches/master-passphrase/tools/client-side/svnmucc/svnmucc.c
subversion/branches/master-passphrase/tools/dev/gdb-py/svndbg/printers.py
subversion/branches/master-passphrase/tools/dev/unix-build/Makefile.svn
subversion/branches/master-passphrase/tools/dev/which-error.py
subversion/branches/master-passphrase/tools/dist/dist.sh
subversion/branches/master-passphrase/tools/dist/release.py
subversion/branches/master-passphrase/tools/server-side/mod_dontdothat/mod_dontdothat.c
Propchange: subversion/branches/master-passphrase/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1303884-1309097
Merged /subversion/branches/node_pool:r1304828-1305388
Modified: subversion/branches/master-passphrase/CHANGES
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/CHANGES?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/CHANGES (original)
+++ subversion/branches/master-passphrase/CHANGES Tue Apr 3 19:16:59 2012
@@ -385,7 +385,7 @@ the 1.6 release: http://subversion.apac
Version 1.6.18
-(?? Mar 2012, from /branches/1.6.x)
+(29 Mar 2012, from /branches/1.6.x)
http://svn.apache.org/repos/asf/subversion/tags/1.6.18
User-visible changes:
Modified: subversion/branches/master-passphrase/Makefile.in
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/Makefile.in?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/Makefile.in (original)
+++ subversion/branches/master-passphrase/Makefile.in Tue Apr 3 19:16:59 2012
@@ -135,6 +135,7 @@ INCLUDES = -I$(top_srcdir)/subversion/in
APACHE_INCLUDES = @APACHE_INCLUDES@
APACHE_LIBEXECDIR = $(DESTDIR)@APACHE_LIBEXECDIR@
+APACHE_LIBEXECDIR_TOOLS = $(DESTDIR)@APACHE_LIBEXECDIR@/svn-tools
APACHE_LDFLAGS = @APACHE_LDFLAGS@
SWIG = @SWIG@
@@ -252,6 +253,7 @@ INSTALL_CONTRIB = $(LIBTOOL) --mode=inst
INSTALL_TOOLS = $(LIBTOOL) --mode=install $(INSTALL)
INSTALL_INCLUDE = $(INSTALL) -m 644
INSTALL_MOD_SHARED = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR)"
@MOD_ACTIVATION@
+INSTALL_MOD_SHARED_TOOLS = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR_TOOLS)"
INSTALL_DATA = $(INSTALL) -m 644
INSTALL_LOCALE = $(INSTALL_DATA)
Modified: subversion/branches/master-passphrase/build.conf
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build.conf?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build.conf (original)
+++ subversion/branches/master-passphrase/build.conf Tue Apr 3 19:16:59 2012
@@ -368,7 +368,7 @@ type = apache-mod
path = tools/server-side/mod_dontdothat
nonlibs = mod_dav_svn apr aprutil
libs = libsvn_subr xml
-install = apache-mod
+install = tools
msvc-libs = libhttpd.lib
# ----------------------------------------------------------------------------
@@ -744,6 +744,14 @@ sources = config-test.c
install = test
libs = libsvn_test libsvn_subr apriconv apr
+[crypto-test]
+description = Test svn_crypto utilities
+type = exe
+path = subversion/tests/libsvn_subr
+sources = crypto-test.c
+install = test
+libs = libsvn_test libsvn_subr aprutil apr
+
[dirent_uri-test]
description = Test dirent_uri library
type = exe
@@ -1133,7 +1141,7 @@ libs = __ALL__
strings-reps-test changes-test locks-test repos-test
checksum-test compat-test config-test hashdump-test mergeinfo-test
opt-test path-test stream-test string-test time-test utf-test
- target-test error-test cache-test spillbuf-test
+ target-test error-test cache-test spillbuf-test crypto-test
revision-test
subst_translate-test
translate-test
Modified: subversion/branches/master-passphrase/build/generator/gen_make.py
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/generator/gen_make.py?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/generator/gen_make.py (original)
+++ subversion/branches/master-passphrase/build/generator/gen_make.py Tue Apr
3 19:16:59 2012
@@ -369,18 +369,21 @@ class Generator(gen_base.GeneratorBase):
# get the output files for these targets, sorted in dependency order
files = gen_base._sorted_files(self.graph, area)
- ezt_area = _eztdata(type=area, files=[ ], extra_install=None)
+ ezt_area = _eztdata(type=area, files=[ ], apache_files=[ ],
+ extra_install=None)
- if area == 'apache-mod':
- data.areas.append(ezt_area)
-
- for file in files:
+ def apache_file_to_eztdata(file):
# cd to dirname before install to work around libtool 1.4.2 bug.
dirname, fname = build_path_splitfile(file)
base, ext = os.path.splitext(fname)
name = base.replace('mod_', '')
- ezt_area.files.append(_eztdata(fullname=file, dirname=dirname,
- name=name, filename=fname))
+ return _eztdata(fullname=file, dirname=dirname,
+ name=name, filename=fname)
+ if area == 'apache-mod':
+ data.areas.append(ezt_area)
+
+ for file in files:
+ ezt_area.files.append(apache_file_to_eztdata(file))
elif area != 'test' and area != 'bdb-test':
data.areas.append(ezt_area)
@@ -390,6 +393,14 @@ class Generator(gen_base.GeneratorBase):
ezt_area.varname = area_var
ezt_area.uppervar = upper_var
+ # ### TODO: This is a hack. See discussion here:
+ # ### http://mid.gmane.org/[email protected]
+ apache_files = [t.filename for t in inst_targets
+ if isinstance(t, gen_base.TargetApacheMod)]
+
+ files = [f for f in files if f not in apache_files]
+ for file in apache_files:
+ ezt_area.apache_files.append(apache_file_to_eztdata(file))
for file in files:
# cd to dirname before install to work around libtool 1.4.2 bug.
dirname, fname = build_path_splitfile(file)
Modified:
subversion/branches/master-passphrase/build/generator/templates/makefile.ezt
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/generator/templates/makefile.ezt?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
---
subversion/branches/master-passphrase/build/generator/templates/makefile.ezt
(original)
+++
subversion/branches/master-passphrase/build/generator/templates/makefile.ezt
Tue Apr 3 19:16:59 2012
@@ -126,11 +126,12 @@ $([target.varname]_OBJECTS): $([target.v
[for areas]
[is areas.type "apache-mod"]install-mods-shared:[for areas.files]
[areas.files.fullname][end][for areas.files]
cd [areas.files.dirname] ; $(MKDIR) "$(APACHE_LIBEXECDIR)" ;
$(INSTALL_MOD_SHARED) -n [areas.files.name] [areas.files.filename][end]
-[else]install-[areas.type]: [for areas.files][if-index areas.files
first][else] [end][areas.files.fullname][end]
+[else]install-[areas.type]: [for areas.files][if-index areas.files
first][else] [end][areas.files.fullname][end] [for areas.apache_files]
[areas.apache_files.fullname][end]
$(MKDIR) $(DESTDIR)$([areas.varname]dir)[for areas.files][is areas.type
"locale"]
$(MKDIR) [areas.files.installdir]
cd [areas.files.dirname] ; $(INSTALL_[areas.uppervar])
[areas.files.filename]
[areas.files.installdir]/$(PACKAGE_NAME)[areas.files.objext][else]
- cd [areas.files.dirname] ; $(INSTALL_[areas.uppervar])
[areas.files.filename] $(DESTDIR)[areas.files.install_fname][end][end]
+ cd [areas.files.dirname] ; $(INSTALL_[areas.uppervar])
[areas.files.filename] $(DESTDIR)[areas.files.install_fname][end][end][for
areas.apache_files]
+ cd [areas.apache_files.dirname] ; $(MKDIR) "$(APACHE_LIBEXECDIR_TOOLS)"
; $(INSTALL_MOD_SHARED_TOOLS) -n [areas.apache_files.name]
[areas.apache_files.filename][end]
[if-any areas.extra_install] $(INSTALL_EXTRA_[areas.uppervar])
[end][end][end]
Modified: subversion/branches/master-passphrase/build/run_tests.py
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/run_tests.py?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/run_tests.py (original)
+++ subversion/branches/master-passphrase/build/run_tests.py Tue Apr 3
19:16:59 2012
@@ -393,6 +393,10 @@ class TestHarness:
line = prog.stdout.readline()
+ # If we didn't run any tests, still print out the dots
+ if not tests_completed:
+ os.write(sys.stdout.fileno(), '.' * dot_count)
+
prog.wait()
return prog.returncode
Modified: subversion/branches/master-passphrase/configure.ac
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/configure.ac?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/configure.ac (original)
+++ subversion/branches/master-passphrase/configure.ac Tue Apr 3 19:16:59 2012
@@ -654,6 +654,19 @@ AC_SUBST(SVN_GNOME_KEYRING_INCLUDES)
AC_SUBST(SVN_GNOME_KEYRING_LIBS)
+dnl Ev2 experimental feature ----------------------
+dnl Note: The Ev2 compat code will be built unconditionally, but by providing
+dnl this flag, users can enforce Ev2 compliance for testing purposes
+AC_ARG_ENABLE(ev2-shims,
+ AS_HELP_STRING([--enable-ev2-shims],
+ [Compile with Ev2 translation [EXPERIMENTAL]]),
+ [enable_ev2_shims=$enableval],[enable_ev2_shims=no])
+if test "$enable_ev2_shims" = "yes"; then
+ AC_DEFINE(ENABLE_EV2_SHIMS, 1,
+ [Define to 1 if Ev2 should be interjected into editor stacks.])
+fi
+
+
dnl I18n -------------------
AC_ARG_ENABLE(nls,
Modified:
subversion/branches/master-passphrase/subversion/bindings/swig/perl/native/t/3client.t
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/bindings/swig/perl/native/t/3client.t?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
---
subversion/branches/master-passphrase/subversion/bindings/swig/perl/native/t/3client.t
(original)
+++
subversion/branches/master-passphrase/subversion/bindings/swig/perl/native/t/3client.t
Tue Apr 3 19:16:59 2012
@@ -58,7 +58,12 @@ my $current_rev = 0;
$SVN::Error::handler = undef;
# Get username we are running as
-my $username = getlogin() || getpwuid($>);
+my $username;
+if ($^O eq 'MSWin32') {
+ $username = getlogin();
+} else {
+ $username = getpwuid($>) || getlogin();
+}
# This is ugly to create the test repo with SVN::Repos, but
# it seems to be the most reliable way.
@@ -337,8 +342,14 @@ is($ctx->blame("$reposurl/foo",'HEAD','H
'author param is expected' .
'value');
ok($date,'date is defined');
- is($line,'foobar',
- 'line is expected value');
+ if ($^O eq 'MSWin32') {
+ #### Why two \r-s?
+ is($line,"foobar\r\r",
+ 'line is expected value');
+ } else {
+ is($line,'foobar',
+ 'line is expected value');
+ }
isa_ok($pool,'_p_apr_pool_t',
'pool param is ' .
'_p_apr_pool_t');
Modified:
subversion/branches/master-passphrase/subversion/include/private/svn_cache.h
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/private/svn_cache.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
---
subversion/branches/master-passphrase/subversion/include/private/svn_cache.h
(original)
+++
subversion/branches/master-passphrase/subversion/include/private/svn_cache.h
Tue Apr 3 19:16:59 2012
@@ -55,7 +55,7 @@ extern "C" {
* i.e. modify @a data directly and return it in @a *out.
*/
typedef svn_error_t *(*svn_cache__deserialize_func_t)(void **out,
- char *data,
+ void *data,
apr_size_t data_len,
apr_pool_t *result_pool);
@@ -67,7 +67,7 @@ typedef svn_error_t *(*svn_cache__deseri
* not require the whole structure to be processed.
*/
typedef svn_error_t *(*svn_cache__partial_getter_func_t)(void **out,
- const char *data,
+ const void *data,
apr_size_t data_len,
void *baton,
apr_pool_t
*result_pool);
@@ -80,7 +80,7 @@ typedef svn_error_t *(*svn_cache__partia
* values must be passed back in @a *data_len and @a *data, respectively.
* Allocations will be done from @a result_pool.
*/
-typedef svn_error_t *(*svn_cache__partial_setter_func_t)(char **data,
+typedef svn_error_t *(*svn_cache__partial_setter_func_t)(void **data,
apr_size_t *data_len,
void *baton,
apr_pool_t
*result_pool);
@@ -90,7 +90,7 @@ typedef svn_error_t *(*svn_cache__partia
* function should allocate the serialized value in @a result_pool, set
* @a *data to the serialized value, and set @a *data_len to its length.
*/
-typedef svn_error_t *(*svn_cache__serialize_func_t)(char **data,
+typedef svn_error_t *(*svn_cache__serialize_func_t)(void **data,
apr_size_t *data_len,
void *in,
apr_pool_t *result_pool);
Modified:
subversion/branches/master-passphrase/subversion/include/private/svn_client_private.h
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/private/svn_client_private.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
---
subversion/branches/master-passphrase/subversion/include/private/svn_client_private.h
(original)
+++
subversion/branches/master-passphrase/subversion/include/private/svn_client_private.h
Tue Apr 3 19:16:59 2012
@@ -29,6 +29,7 @@
#include <apr_pools.h>
+#include "svn_ra.h"
#include "svn_client.h"
#include "svn_types.h"
@@ -37,6 +38,55 @@ extern "C" {
#endif /* __cplusplus */
+/* A location in a repository. */
+typedef struct svn_client__pathrev_t
+{
+ const char *repos_root_url;
+ const char *repos_uuid;
+ svn_revnum_t rev;
+ const char *url;
+} svn_client__pathrev_t;
+
+/* Return a new path-rev structure, allocated in RESULT_POOL,
+ * initialized with deep copies of REPOS_ROOT_URL, REPOS_UUID, REV and URL. */
+svn_client__pathrev_t *
+svn_client__pathrev_create(const char *repos_root_url,
+ const char *repos_uuid,
+ svn_revnum_t rev,
+ const char *url,
+ apr_pool_t *result_pool);
+
+/* Return a new path-rev structure, allocated in RESULT_POOL,
+ * initialized with deep copies of REPOS_ROOT_URL, REPOS_UUID, and REV,
+ * and using the repository-relative RELPATH to construct the URL. */
+svn_client__pathrev_t *
+svn_client__pathrev_create_with_relpath(const char *repos_root_url,
+ const char *repos_uuid,
+ svn_revnum_t rev,
+ const char *relpath,
+ apr_pool_t *result_pool);
+
+/* Set *PATHREV_P to a new path-rev structure, allocated in RESULT_POOL,
+ * initialized with deep copies of the repository root URL and UUID from
+ * RA_SESSION, and of REV and URL. */
+svn_error_t *
+svn_client__pathrev_create_with_session(svn_client__pathrev_t **pathrev_p,
+ svn_ra_session_t *ra_session,
+ svn_revnum_t rev,
+ const char *url,
+ apr_pool_t *result_pool);
+
+/* Return a deep copy of the path-rev LOC, allocated in RESULT_POOL. */
+svn_client__pathrev_t *
+svn_client__pathrev_dup(const svn_client__pathrev_t *loc,
+ apr_pool_t *result_pool);
+
+/* Return the repository-relative relpath of PATHREV. */
+const char *
+svn_client__pathrev_relpath(const svn_client__pathrev_t *pathrev,
+ apr_pool_t *result_pool);
+
+
/** Return @c SVN_ERR_ILLEGAL_TARGET if TARGETS contains a mixture of
* URLs and paths; otherwise return SVN_NO_ERROR.
*
Modified: subversion/branches/master-passphrase/subversion/include/svn_delta.h
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_delta.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_delta.h
(original)
+++ subversion/branches/master-passphrase/subversion/include/svn_delta.h Tue
Apr 3 19:16:59 2012
@@ -1292,6 +1292,8 @@ typedef svn_error_t *(*svn_delta_path_dr
* Use @a revision as the revision number passed to intermediate
* directory openings.
*
+ * Each path in @a paths is a const char *.
+ *
* Use @a pool for all necessary allocations.
*/
svn_error_t *
Modified: subversion/branches/master-passphrase/subversion/include/svn_diff.h
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_diff.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_diff.h
(original)
+++ subversion/branches/master-passphrase/subversion/include/svn_diff.h Tue Apr
3 19:16:59 2012
@@ -1045,7 +1045,7 @@ typedef struct svn_patch_t {
const char *new_filename;
/**
- * An array containing an svn_diff_hunk_t object for each hunk parsed
+ * An array containing an svn_diff_hunk_t * for each hunk parsed
* from the patch. */
apr_array_header_t *hunks;
Modified: subversion/branches/master-passphrase/subversion/include/svn_sorts.h
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_sorts.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_sorts.h
(original)
+++ subversion/branches/master-passphrase/subversion/include/svn_sorts.h Tue
Apr 3 19:16:59 2012
@@ -112,9 +112,9 @@ svn_sort_compare_revisions(const void *a
/**
- * Compare two @c const char * paths, returning an integer greater
- * than, equal to, or less than 0, using the same comparison rules as
- * are used by svn_path_compare_paths().
+ * Compare two @c const char * paths, @a *a and @a *b, returning an
+ * integer greater than, equal to, or less than 0, using the same
+ * comparison rules as are used by svn_path_compare_paths().
*
* This function is compatible for use with qsort().
*
@@ -125,13 +125,13 @@ svn_sort_compare_paths(const void *a,
const void *b);
/**
- * Compare two @c svn_merge_range_t *'s, returning an integer greater
- * than, equal to, or less than 0 if the first range is greater than,
- * equal to, or less than, the second range.
+ * Compare two @c svn_merge_range_t *'s, @a *a and @a *b, returning an
+ * integer greater than, equal to, or less than 0 if the first range is
+ * greater than, equal to, or less than, the second range.
*
* Both @c svn_merge_range_t *'s must describe forward merge ranges.
*
- * If @a a and @a b intersect then the range with the lower start revision
+ * If @a *a and @a *b intersect then the range with the lower start revision
* is considered the lesser range. If the ranges' start revisions are
* equal then the range with the lower end revision is considered the
* lesser range.
Modified: subversion/branches/master-passphrase/subversion/include/svn_string.h
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_string.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_string.h
(original)
+++ subversion/branches/master-passphrase/subversion/include/svn_string.h Tue
Apr 3 19:16:59 2012
@@ -235,10 +235,12 @@ svn_stringbuf_t *
svn_stringbuf_createv(apr_pool_t *pool, const char *fmt, va_list ap)
__attribute__((format(printf, 2, 0)));
-/** Make sure that the string @a str has at least @a minimum_size bytes of
- * space available in the memory block.
+/** Make sure that the string @a str has allocated at least enough space
+ * to hold a string of length @a minimum_size bytes (as well as the
+ * terminating null character).
*
- * (@a minimum_size should include space for the terminating NULL character.)
+ * @note: Before Subversion 1.8, the caller was supposed to include one
+ * byte for the null terminator in the value of @a minimum_size.
*/
void
svn_stringbuf_ensure(svn_stringbuf_t *str, apr_size_t minimum_size);
Modified:
subversion/branches/master-passphrase/subversion/libsvn_client/client.h
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_client/client.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_client/client.h
(original)
+++ subversion/branches/master-passphrase/subversion/libsvn_client/client.h Tue
Apr 3 19:16:59 2012
@@ -36,6 +36,7 @@
#include "svn_client.h"
#include "private/svn_magic.h"
+#include "private/svn_client_private.h"
#ifdef __cplusplus
extern "C" {
@@ -146,16 +147,15 @@ svn_client__repos_locations(const char *
/* Trace a line of history of a particular versioned resource back to a
* specific revision.
*
- * Set *OP_URL to the URL that the object PEG_URL@PEG_REVNUM had in
+ * Set *OP_LOC_P to the location that the object PEG_LOC had in
* revision OP_REVNUM.
*
* RA_SESSION is an open RA session to the correct repository; it may be
* temporarily reparented inside this function. */
svn_error_t *
-svn_client__repos_location(const char **start_url,
+svn_client__repos_location(svn_client__pathrev_t **op_loc_p,
svn_ra_session_t *ra_session,
- const char *peg_url,
- svn_revnum_t peg_revnum,
+ const svn_client__pathrev_t *peg_loc,
svn_revnum_t op_revnum,
svn_client_ctx_t *ctx,
apr_pool_t *result_pool,
@@ -194,13 +194,9 @@ svn_client__repos_location_segments(apr_
Ancestry is determined by the 'copy-from' relationship and the normal
successor relationship.
- Set *ANCESTOR_RELPATH, *ANCESTOR_URL, and *ANCESTOR_REVISION to the
- path (relative to the root of the repository, with no leading '/'),
- URL, and revision, respectively, of the youngest common ancestor of
- the two locations URL1@REV1 and URL2@REV2. Set *ANCESTOR_RELPATH and
- *ANCESTOR_URL to NULL and *ANCESTOR_REVISION to SVN_INVALID_REVNUM if
- they have no common ancestor. This function assumes that URL1@REV1
- and URL2@REV2 both refer to the same repository.
+ Set *ANCESTOR_P to the location of the youngest common ancestor of
+ LOC1 and LOC2. If the locations have no common ancestor (including if
+ they don't have the same repository root URL), set *ANCESTOR_P to NULL.
Use the authentication baton cached in CTX to authenticate against
the repository. Use POOL for all allocations.
@@ -208,15 +204,12 @@ svn_client__repos_location_segments(apr_
See also svn_client__youngest_common_ancestor().
*/
svn_error_t *
-svn_client__get_youngest_common_ancestor(const char **ancestor_relpath,
- const char **ancestor_url,
- svn_revnum_t *ancestor_revision,
- const char *url1,
- svn_revnum_t rev1,
- const char *url2,
- svn_revnum_t rev2,
+svn_client__get_youngest_common_ancestor(svn_client__pathrev_t **ancestor_p,
+ const svn_client__pathrev_t *loc1,
+ const svn_client__pathrev_t *loc2,
svn_client_ctx_t *ctx,
- apr_pool_t *pool);
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
/* Given PATH_OR_URL, which contains either a working copy path or an
absolute URL, a peg revision PEG_REVISION, and a desired revision
@@ -253,6 +246,19 @@ svn_client__ra_session_from_path(svn_ra_
svn_client_ctx_t *ctx,
apr_pool_t *pool);
+/* Like svn_client__ra_session_from_path() but returning a path-rev
+ * instead of separate URL and rev outputs. RESOLVED_LOC_P may be NULL
+ * if not wanted. */
+svn_error_t *
+svn_client__ra_session_from_path2(svn_ra_session_t **ra_session_p,
+ svn_client__pathrev_t **resolved_loc_p,
+ const char *path_or_url,
+ const char *base_dir_abspath,
+ const svn_opt_revision_t *peg_revision,
+ const svn_opt_revision_t *revision,
+ svn_client_ctx_t *ctx,
+ apr_pool_t *pool);
+
/* Ensure that RA_SESSION's session URL matches SESSION_URL,
reparenting that session if necessary.
Store the previous session URL in *OLD_SESSION_URL (so that if the
@@ -842,7 +848,7 @@ svn_client__get_copy_committables(svn_cl
apr_pool_t *scratch_pool);
/* A qsort()-compatible sort routine for sorting an array of
- svn_client_commit_item_t's by their URL member. */
+ svn_client_commit_item_t *'s by their URL member. */
int svn_client__sort_commit_item_urls(const void *a, const void *b);
Modified:
subversion/branches/master-passphrase/subversion/libsvn_client/commit.c
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_client/commit.c?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_client/commit.c
(original)
+++ subversion/branches/master-passphrase/subversion/libsvn_client/commit.c Tue
Apr 3 19:16:59 2012
@@ -697,7 +697,7 @@ get_ra_editor(svn_ra_session_t **ra_sess
SVN_ERR(svn_client__ensure_revprop_table(&commit_revprops, revprop_table,
log_msg, ctx, pool));
-#ifdef ENABLE_EDITOR_SHIMS
+#ifdef ENABLE_EV2_SHIMS
/* We need this for the shims. */
if (base_dir_abspath)
{
Modified: subversion/branches/master-passphrase/subversion/libsvn_client/copy.c
URL:
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_client/copy.c?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_client/copy.c
(original)
+++ subversion/branches/master-passphrase/subversion/libsvn_client/copy.c Tue
Apr 3 19:16:59 2012
@@ -495,6 +495,16 @@ verify_wc_srcs_and_dsts(const apr_array_
SVN_ERR(svn_client__make_local_parents(pair->dst_parent_abspath,
TRUE, ctx, iterpool));
}
+ else if (make_parents && dst_parent_kind == svn_node_dir)
+ {
+ /* Check if parent is already versioned */
+ SVN_ERR(svn_wc_read_kind(&dst_parent_kind, ctx->wc_ctx,
+ pair->dst_parent_abspath, FALSE, iterpool));
+
+ if (dst_parent_kind == svn_node_none)
+ SVN_ERR(svn_client__make_local_parents(pair->dst_parent_abspath,
+ TRUE, ctx, iterpool));
+ }
else if (dst_parent_kind != svn_node_dir)
{
return svn_error_createf(SVN_ERR_WC_NOT_WORKING_COPY, NULL,