You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2012/09/25 15:13:37 UTC

svn commit: r1389854 - in /subversion/branches/1.7.x-r1389851: ./ subversion/libsvn_client/commit.c

Author: stsp
Date: Tue Sep 25 13:13:37 2012
New Revision: 1389854

URL: http://svn.apache.org/viewvc?rev=1389854&view=rev
Log:
On the 1.7.x-r1389851 branch, merge r1389851 from trunk, resolving conflicts.

Modified:
    subversion/branches/1.7.x-r1389851/   (props changed)
    subversion/branches/1.7.x-r1389851/subversion/libsvn_client/commit.c

Propchange: subversion/branches/1.7.x-r1389851/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1389851

Modified: subversion/branches/1.7.x-r1389851/subversion/libsvn_client/commit.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x-r1389851/subversion/libsvn_client/commit.c?rev=1389854&r1=1389853&r2=1389854&view=diff
==============================================================================
--- subversion/branches/1.7.x-r1389851/subversion/libsvn_client/commit.c (original)
+++ subversion/branches/1.7.x-r1389851/subversion/libsvn_client/commit.c Tue Sep 25 13:13:37 2012
@@ -1189,6 +1189,7 @@ svn_client_commit5(const apr_array_heade
   const char *log_msg;
   const char *base_abspath;
   const char *base_url;
+  const char *ra_session_wc;
   apr_array_header_t *rel_targets;
   apr_array_header_t *lock_targets;
   apr_array_header_t *locks_obtained;
@@ -1390,9 +1391,19 @@ svn_client_commit5(const apr_array_heade
   cb.info = &commit_info;
   cb.pool = pool;
 
+  /* When committing from multiple WCs, get the RA editor from
+   * the first WC, rather than the BASE_ABSPATH. The BASE_ABSPATH
+   * might be an unrelated parent of nested working copies.
+   * We don't support commits to multiple repositories so using
+   * the first WC to get the RA session is safe. */
+  if (lock_targets->nelts > 1)
+    ra_session_wc = APR_ARRAY_IDX(lock_targets, 0, const char *);
+  else
+    ra_session_wc = base_abspath;
+
   cmt_err = svn_error_trace(
                  get_ra_editor(&ra_session, &editor, &edit_baton, ctx,
-                               base_url, base_abspath, log_msg,
+                               base_url, ra_session_wc, log_msg,
                                commit_items, revprop_table, TRUE, lock_tokens,
                                keep_locks, capture_commit_info,
                                &cb, pool));