Author: philip
Date: Wed Dec 11 18:56:57 2013
New Revision: 1550228

URL: http://svn.apache.org/r1550228
Log:
In preparation for committing over RA with a specified svn:date,
change the FS implementation from a flag in svn_fs_commit_txn2 to
a flag passed to svn_fs_begin_txn2.

* subversion/include/svn_fs.h
  (SVN_FS_TXN_CLIENT_DATE): New.
  (svn_fs_commit_txn2): Remove.
  (svn_fs_commit_txn): Remove deprecation.

* subversion/libsvn_fs/fs-loader.h
  (struct txn_vtable_t): Remove set_timestamp parameter from commit.
  (SVN_FS__PROP_TXN_CLIENT_DATE): New.

* subversion/libsvn_fs/fs-loader.c
  (svn_fs_commit_txn2): Remove.
  (svn_fs_change_txn_prop, svn_fs_change_txn_props): Drop changes to the
   internal property.

* subversion/libsvn_fs/editor.c
  (svn_fs__editor_commit): Use svn_fs_commit_txn.

* subversion/libsvn_fs_fs/transaction.h
  (svn_fs_fs__commit): Remove set_timestamp parameter.

* subversion/libsvn_fs_fs/transaction.c
  (svn_fs_fs__change_txn_props): Record svn:date change.
  (write_final_revprop): Remove set_timestamp parameter.
  (struct commit_baton): Remove set_timestamp member.
  (commit_body): Update call.
  (svn_fs_fs__commit): Remove set_timestamp parameter.
  (svn_fs_fs__begin_txn): Set new temporary property.

* subversion/libsvn_fs_fs/tree.h
  (svn_fs_fs__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_fs/tree.c
  (svn_fs_fs__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_base/dag.h
  (svn_fs_base__dag_commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_base/dag.c
  (svn_fs_base__dag_commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_base/revs-txns.c
  (svn_fs_base__set_txn_prop): Record svn:date change.
  (txn_body_begin_txn): Set new temporary property.

* subversion/libsvn_fs_base/tree.h
  (svn_fs_base__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_base/tree.c
  (struct commit_args): Remove set_timestamp member.
  (txn_body_commit): Update call.
  (svn_fs_base__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_x/transaction.h
  (svn_fs_x__commit): Remove set_timestamp parameter.

* subversion/libsvn_fs_x/transaction.c
  (change_txn_props): Record svn:date change.
  (write_final_revprop): Remove set_timestamp parameter.
  (struct commit_baton): Remove set_timestamp member.
  (commit_body): Update call.
  (svn_fs_x__commit): Remove set_timestamp parameter.
  (svn_fs_x__begin_txn): Set new temporary property.

* subversion/libsvn_fs_x/tree.h
  (svn_fs_x__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_x/tree.c
  (svn_fs_x__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_repos/fs-wrap.c
  (svn_repos_fs_commit_txn): Use svn_fs_commit_txn.

* subversion/libsvn_repos/load-fs-vtable.c
  (new_revision_record): Set SVN_FS_TXN_CLIENT_DATE.
  (close_revision): Use svn_fs_commit_txn.

* subversion/tests/libsvn_fs/fs-test.c
  (commit_timestamp): Set SVN_FS_TXN_CLIENT_DATE, use svn_fs_commit_txn,
   test setting internal property.

* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
  (upgrade_txns_to_log_addressing): Use svn_fs_commit_txn.

* subversion/tests/libsvn_repos/repos-test.c
  (test_config_pool): Use svn_fs_commit_txn.

Modified:
    subversion/trunk/subversion/include/svn_fs.h
    subversion/trunk/subversion/libsvn_fs/editor.c
    subversion/trunk/subversion/libsvn_fs/fs-loader.c
    subversion/trunk/subversion/libsvn_fs/fs-loader.h
    subversion/trunk/subversion/libsvn_fs_base/dag.c
    subversion/trunk/subversion/libsvn_fs_base/dag.h
    subversion/trunk/subversion/libsvn_fs_base/revs-txns.c
    subversion/trunk/subversion/libsvn_fs_base/tree.c
    subversion/trunk/subversion/libsvn_fs_base/tree.h
    subversion/trunk/subversion/libsvn_fs_fs/transaction.c
    subversion/trunk/subversion/libsvn_fs_fs/transaction.h
    subversion/trunk/subversion/libsvn_fs_fs/tree.c
    subversion/trunk/subversion/libsvn_fs_fs/tree.h
    subversion/trunk/subversion/libsvn_fs_x/transaction.c
    subversion/trunk/subversion/libsvn_fs_x/transaction.h
    subversion/trunk/subversion/libsvn_fs_x/tree.c
    subversion/trunk/subversion/libsvn_fs_x/tree.h
    subversion/trunk/subversion/libsvn_repos/fs-wrap.c
    subversion/trunk/subversion/libsvn_repos/load-fs-vtable.c
    subversion/trunk/subversion/tests/libsvn_fs/fs-test.c
    subversion/trunk/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
    subversion/trunk/subversion/tests/libsvn_repos/repos-test.c

Modified: subversion/trunk/subversion/include/svn_fs.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_fs.h?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_fs.h (original)
+++ subversion/trunk/subversion/include/svn_fs.h Wed Dec 11 18:56:57 2013
@@ -910,7 +910,7 @@ svn_fs_unparse_id(const svn_fs_id_t *id,
  * exception: the svn:date property will be automatically set on new
  * transactions to the date that the transaction was created, and can
  * be overwritten when the transaction is committed by the current
- * time; see svn_fs_commit_txn2.)
+ * time; see svn_fs_commit_txn.)
  *
  * Transaction names are guaranteed to contain only letters (upper-
  * and lower-case), digits, `-', and `.', from the ASCII character
@@ -952,6 +952,12 @@ typedef struct svn_fs_txn_t svn_fs_txn_t
  */
 #define SVN_FS_TXN_CHECK_LOCKS                   0x00002
 
+/** Allow the client to specify the final svn:date of the revision by
+ * setting or deleting the corresponding transaction property rather
+ * than have it set automatically when the transaction is committed.
+ */
+#define SVN_FS_TXN_CLIENT_DATE                   0x00004
+
 /** @} */
 
 /**
@@ -1005,15 +1011,16 @@ svn_fs_begin_txn(svn_fs_txn_t **txn_p,
  * a new filesystem revision containing the changes made in @a txn,
  * storing that new revision number in @a *new_rev, and return zero.
  *
- * If @a set_timestamp is FALSE any svn:date on the transaction will
- * be become the unversioned property svn:date on the revision.
- * svn:date can have any value, it does not have to be a timestamp.
- * If the transaction has no svn:date the revision will have no
- * svn:date.
- *
- * If @a set_timestamp is TRUE the new revision will have svn:date set
- * to the current time at some point during the commit and any
- * svn:date on the transaction will be lost.
+ * If #SVN_FS_TXN_CLIENT_DATE was passed to #svn_fs_begin_txn2 any
+ * svn:date on the transaction will be become the unversioned property
+ * svn:date on the revision.  svn:date can have any value, it does not
+ * have to be a timestamp.  If the transaction has no svn:date the
+ * revision will have no svn:date.
+ *
+ * If #SVN_FS_TXN_CLIENT_DATE was not passed to #svn_fs_begin_txn2 the
+ * new revision will have svn:date set to the current time at some
+ * point during the commit and any svn:date on the transaction will be
+ * lost.
  * 
  * If @a conflict_p is non-zero, use it to provide details on any
  * conflicts encountered merging @a txn with the most recent committed
@@ -1053,23 +1060,8 @@ svn_fs_begin_txn(svn_fs_txn_t **txn_p,
  * ###   *new_rev will always be initialized to SVN_INVALID_REVNUM, or
  * ###     to a valid, committed revision number
  *
- * @since New in 1.9.
  */
 svn_error_t *
-svn_fs_commit_txn2(const char **conflict_p,
-                   svn_revnum_t *new_rev,
-                   svn_fs_txn_t *txn,
-                   svn_boolean_t set_timestamp,
-                   apr_pool_t *pool);
-
-/*
- * Same as svn_fs_commit_txn2(), but with @a set_timestamp
- * always set to @c TRUE.
- *
- * @deprecated Provided for backward compatibility with the 1.8 API.
- */
-SVN_DEPRECATED
-svn_error_t *
 svn_fs_commit_txn(const char **conflict_p,
                   svn_revnum_t *new_rev,
                   svn_fs_txn_t *txn,

Modified: subversion/trunk/subversion/libsvn_fs/editor.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/editor.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/editor.c (original)
+++ subversion/trunk/subversion/libsvn_fs/editor.c Wed Dec 11 18:56:57 2013
@@ -789,10 +789,9 @@ svn_fs__editor_commit(svn_revnum_t *revi
      it placed into RESULT_POOL.  */
 
   if (!err)
-    err = svn_fs_commit_txn2(&inner_conflict_path,
+    err = svn_fs_commit_txn(&inner_conflict_path,
                              revision,
                              eb->txn,
-                             TRUE,
                              scratch_pool);
   if (SVN_IS_VALID_REVNUM(*revision))
     {

Modified: subversion/trunk/subversion/libsvn_fs/fs-loader.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/fs-loader.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/trunk/subversion/libsvn_fs/fs-loader.c Wed Dec 11 18:56:57 2013
@@ -818,9 +818,8 @@ svn_fs_begin_txn(svn_fs_txn_t **txn_p, s
 
 
 svn_error_t *
-svn_fs_commit_txn2(const char **conflict_p, svn_revnum_t *new_rev,
-                   svn_fs_txn_t *txn, svn_boolean_t set_timestamp,
-                   apr_pool_t *pool)
+svn_fs_commit_txn(const char **conflict_p, svn_revnum_t *new_rev,
+                   svn_fs_txn_t *txn, apr_pool_t *pool)
 {
   svn_error_t *err;
 
@@ -828,7 +827,7 @@ svn_fs_commit_txn2(const char **conflict
   if (conflict_p)
     *conflict_p = NULL;
 
-  err = txn->vtable->commit(conflict_p, new_rev, txn, set_timestamp, pool);
+  err = txn->vtable->commit(conflict_p, new_rev, txn, pool);
 
 #ifdef SVN_DEBUG
   /* Check postconditions. */
@@ -862,13 +861,6 @@ svn_fs_commit_txn2(const char **conflict
 }
 
 svn_error_t *
-svn_fs_commit_txn(const char **conflict_p, svn_revnum_t *new_rev,
-                  svn_fs_txn_t *txn, apr_pool_t *pool)
-{
-  return svn_fs_commit_txn2(conflict_p, new_rev, txn, TRUE, pool);
-}
-
-svn_error_t *
 svn_fs_abort_txn(svn_fs_txn_t *txn, apr_pool_t *pool)
 {
   return svn_error_trace(txn->vtable->abort(txn, pool));
@@ -924,6 +916,10 @@ svn_error_t *
 svn_fs_change_txn_prop(svn_fs_txn_t *txn, const char *name,
                        const svn_string_t *value, apr_pool_t *pool)
 {
+  /* Silently drop attempts to modify the internal property. */
+  if (!strcmp(name, SVN_FS__PROP_TXN_CLIENT_DATE))
+    return SVN_NO_ERROR;
+
   return svn_error_trace(txn->vtable->change_prop(txn, name, value, pool));
 }
 
@@ -931,6 +927,29 @@ svn_error_t *
 svn_fs_change_txn_props(svn_fs_txn_t *txn, const apr_array_header_t *props,
                         apr_pool_t *pool)
 {
+  int i;
+
+  /* Silently drop attempts to modify the internal property. */
+  for (i = 0; i < props->nelts; ++i)
+    {
+      svn_prop_t *prop = &APR_ARRAY_IDX(props, i, svn_prop_t);
+
+      if (!strcmp(prop->name, SVN_FS__PROP_TXN_CLIENT_DATE))
+        {
+          apr_array_header_t *reduced_props
+            = apr_array_make(pool, props->nelts - 1, sizeof(svn_prop_t));
+
+          for (i = 0; i < props->nelts; ++i)
+            {
+              prop = &APR_ARRAY_IDX(props, i, svn_prop_t);
+              if (strcmp(prop->name, SVN_FS__PROP_TXN_CLIENT_DATE))
+                APR_ARRAY_PUSH(reduced_props, svn_prop_t) = *prop;
+            }
+          props = reduced_props;
+          break;
+        }
+    }
+
   return svn_error_trace(txn->vtable->change_props(txn, props, pool));
 }
 

Modified: subversion/trunk/subversion/libsvn_fs/fs-loader.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/fs-loader.h?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/fs-loader.h (original)
+++ subversion/trunk/subversion/libsvn_fs/fs-loader.h Wed Dec 11 18:56:57 2013
@@ -27,6 +27,7 @@
 
 #include "svn_types.h"
 #include "svn_fs.h"
+#include "svn_props.h"
 #include "private/svn_mutex.h"
 
 #ifdef __cplusplus
@@ -260,8 +261,7 @@ typedef struct fs_vtable_t
 typedef struct txn_vtable_t
 {
   svn_error_t *(*commit)(const char **conflict_p, svn_revnum_t *new_rev,
-                         svn_fs_txn_t *txn, svn_boolean_t set_timestamp,
-                         apr_pool_t *pool);
+                         svn_fs_txn_t *txn, apr_pool_t *pool);
   svn_error_t *(*abort)(svn_fs_txn_t *txn, apr_pool_t *pool);
   svn_error_t *(*get_prop)(svn_string_t **value_p, svn_fs_txn_t *txn,
                            const char *propname, apr_pool_t *pool);
@@ -432,6 +432,8 @@ typedef struct id_vtable_t
    in the 'flags' argument to svn_fs_lock().  */
 #define SVN_FS__PROP_TXN_CHECK_LOCKS           SVN_PROP_PREFIX "check-locks"
 #define SVN_FS__PROP_TXN_CHECK_OOD             SVN_PROP_PREFIX "check-ood"
+/* Set to "0" at the start of the txn, to "1" when svn:date changes. */
+#define SVN_FS__PROP_TXN_CLIENT_DATE           SVN_PROP_PREFIX "client-date"
 
 struct svn_fs_t
 {

Modified: subversion/trunk/subversion/libsvn_fs_base/dag.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/dag.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/dag.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/dag.c Wed Dec 11 18:56:57 2013
@@ -1575,13 +1575,13 @@ svn_error_t *
 svn_fs_base__dag_commit_txn(svn_revnum_t *new_rev,
                             svn_fs_txn_t *txn,
                             trail_t *trail,
-                            svn_boolean_t set_timestamp,
                             apr_pool_t *pool)
 {
   revision_t revision;
   apr_hash_t *txnprops;
   svn_fs_t *fs = txn->fs;
   const char *txn_id = txn->id;
+  const svn_string_t *client_date;
 
   /* Remove any temporary transaction properties initially created by
      begin_txn().  */
@@ -1600,11 +1600,16 @@ svn_fs_base__dag_commit_txn(svn_revnum_t
     SVN_ERR(svn_fs_base__set_txn_prop
             (fs, txn_id, SVN_FS__PROP_TXN_CHECK_LOCKS, NULL, trail, pool));
 
+  client_date = svn_hash_gets(txnprops, SVN_FS__PROP_TXN_CLIENT_DATE);
+  if (client_date)
+    SVN_ERR(svn_fs_base__set_txn_prop
+            (fs, txn_id, SVN_FS__PROP_TXN_CLIENT_DATE, NULL, trail, pool));
+
   /* Promote the unfinished transaction to a committed one. */
   SVN_ERR(svn_fs_base__txn_make_committed(fs, txn_id, *new_rev,
                                           trail, pool));
 
-  if (set_timestamp)
+  if (!client_date || strcmp(client_date->data, "1"))
     {
       /* Set a date on the commit if requested.  We wait until now to fetch the
          date, so it's definitely newer than any previous revision's date. */

Modified: subversion/trunk/subversion/libsvn_fs_base/dag.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/dag.h?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/dag.h (original)
+++ subversion/trunk/subversion/libsvn_fs_base/dag.h Wed Dec 11 18:56:57 2013
@@ -273,16 +273,12 @@ svn_error_t *svn_fs_base__dag_clone_root
    latest revision in TXN->FS.  If the caller doesn't take care of this,
    you may lose people's work!
 
-   Update commit time to ensure that svn:date revprops remain ordered if
-   SET_TIMESTAMP is non-zero.
-
    Do any necessary temporary allocation in a subpool of POOL.
    Consume temporary space at most proportional to the maximum depth
    of SVN_TXN's tree of mutable nodes.  */
 svn_error_t *svn_fs_base__dag_commit_txn(svn_revnum_t *new_rev,
                                          svn_fs_txn_t *txn,
                                          trail_t *trail,
-                                         svn_boolean_t set_timestamp,
                                          apr_pool_t *pool);
 
 

Modified: subversion/trunk/subversion/libsvn_fs_base/revs-txns.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/revs-txns.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/revs-txns.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/revs-txns.c Wed Dec 11 18:56:57 
2013
@@ -574,6 +574,10 @@ svn_fs_base__set_txn_prop(svn_fs_t *fs,
     txn->proplist = apr_hash_make(pool);
 
   /* Set the property. */
+  if (svn_hash_gets(txn->proplist, SVN_FS__PROP_TXN_CLIENT_DATE)
+      && !strcmp(name, SVN_PROP_REVISION_DATE))
+    svn_hash_sets(txn->proplist, SVN_FS__PROP_TXN_CLIENT_DATE,
+                  svn_string_create("1", pool));
   svn_hash_sets(txn->proplist, name, value);
 
   /* Now overwrite the transaction. */
@@ -707,6 +711,17 @@ txn_body_begin_txn(void *baton, trail_t 
       SVN_ERR(txn_body_change_txn_prop(&cpargs, trail));
     }
 
+  if (args->flags & SVN_FS_TXN_CLIENT_DATE)
+    {
+      struct change_txn_prop_args cpargs;
+      cpargs.fs = trail->fs;
+      cpargs.id = txn_id;
+      cpargs.name = SVN_FS__PROP_TXN_CLIENT_DATE;
+      cpargs.value = svn_string_create("0", trail->pool);
+
+      SVN_ERR(txn_body_change_txn_prop(&cpargs, trail));
+    }
+
   *args->txn_p = make_txn(trail->fs, txn_id, args->base_rev, trail->pool);
   return SVN_NO_ERROR;
 }

Modified: subversion/trunk/subversion/libsvn_fs_base/tree.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/tree.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/tree.c Wed Dec 11 18:56:57 2013
@@ -2578,7 +2578,6 @@ struct commit_args
 {
   svn_fs_txn_t *txn;
   svn_revnum_t new_rev;
-  svn_boolean_t set_timestamp;
 };
 
 
@@ -2638,7 +2637,7 @@ txn_body_commit(void *baton, trail_t *tr
 
   /* Else, commit the txn. */
   return svn_fs_base__dag_commit_txn(&(args->new_rev), txn, trail,
-                                     args->set_timestamp, trail->pool);
+                                     trail->pool);
 }
 
 
@@ -2648,7 +2647,6 @@ svn_error_t *
 svn_fs_base__commit_txn(const char **conflict_p,
                         svn_revnum_t *new_rev,
                         svn_fs_txn_t *txn,
-                        svn_boolean_t set_timestamp,
                         apr_pool_t *pool)
 {
   /* How do commits work in Subversion?
@@ -2752,7 +2750,6 @@ svn_fs_base__commit_txn(const char **con
 
       /* Try to commit. */
       commit_args.txn = txn;
-      commit_args.set_timestamp = set_timestamp;
       err = svn_fs_base__retry_txn(fs, txn_body_commit, &commit_args,
                                    FALSE, subpool);
       if (err && (err->apr_err == SVN_ERR_FS_TXN_OUT_OF_DATE))

Modified: subversion/trunk/subversion/libsvn_fs_base/tree.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/tree.h?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/tree.h (original)
+++ subversion/trunk/subversion/libsvn_fs_base/tree.h Wed Dec 11 18:56:57 2013
@@ -42,7 +42,6 @@ svn_error_t *svn_fs_base__deltify(svn_fs
 
 svn_error_t *svn_fs_base__commit_txn(const char **conflict_p,
                                      svn_revnum_t *new_rev, svn_fs_txn_t *txn,
-                                     svn_boolean_t set_timestamp,
                                      apr_pool_t *pool);
 
 svn_error_t *svn_fs_base__txn_root(svn_fs_root_t **root_p, svn_fs_txn_t *txn,

Modified: subversion/trunk/subversion/libsvn_fs_fs/transaction.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/transaction.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/transaction.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/transaction.c Wed Dec 11 18:56:57 
2013
@@ -1215,6 +1215,11 @@ svn_fs_fs__change_txn_props(svn_fs_txn_t
     {
       svn_prop_t *prop = &APR_ARRAY_IDX(props, i, svn_prop_t);
 
+      if (svn_hash_gets(txn_prop, SVN_FS__PROP_TXN_CLIENT_DATE)
+          && !strcmp(prop->name, SVN_PROP_REVISION_DATE))
+        svn_hash_sets(txn_prop, SVN_FS__PROP_TXN_CLIENT_DATE,
+                      svn_string_create("1", pool));
+
       svn_hash_sets(txn_prop, prop->name, prop->value);
     }
 
@@ -3638,7 +3643,6 @@ upgrade_transaction(svn_fs_t *fs,
    commit flags. */
 static svn_error_t *
 write_final_revprop(const char **path,
-                    svn_boolean_t set_timestamp,
                     svn_fs_txn_t *txn,
                     const svn_fs_fs__id_part_t *txn_id,
                     apr_pool_t *pool)
@@ -3646,6 +3650,7 @@ write_final_revprop(const char **path,
   apr_hash_t *txnprops;
   svn_boolean_t final_mods = FALSE;
   svn_string_t date;
+  svn_string_t *client_date;
 
   SVN_ERR(svn_fs_fs__txn_proplist(&txnprops, txn, pool));
 
@@ -3662,9 +3667,16 @@ write_final_revprop(const char **path,
       final_mods = TRUE;
     }
 
+  client_date = svn_hash_gets(txnprops, SVN_FS__PROP_TXN_CLIENT_DATE);
+  if (client_date)
+    {
+      svn_hash_sets(txnprops, SVN_FS__PROP_TXN_CLIENT_DATE, NULL);
+      final_mods = TRUE;
+    }
+
   /* Update commit time to ensure that svn:date revprops remain ordered if
      requested. */
-  if (set_timestamp)
+  if (!client_date || strcmp(client_date->data, "1"))
     {
       date.data = svn_time_to_cstring(apr_time_now(), pool);
       date.len = strlen(date.data);
@@ -3690,7 +3702,6 @@ struct commit_baton {
   svn_revnum_t *new_rev_p;
   svn_fs_t *fs;
   svn_fs_txn_t *txn;
-  svn_boolean_t set_timestamp;
   apr_array_header_t *reps_to_cache;
   apr_hash_t *reps_hash;
   apr_pool_t *reps_pool;
@@ -3868,8 +3879,7 @@ commit_body(void *baton, apr_pool_t *poo
 
   /* Move the revprops file into place. */
   SVN_ERR_ASSERT(! svn_fs_fs__is_packed_revprop(cb->fs, new_rev));
-  SVN_ERR(write_final_revprop(&revprop_filename, cb->set_timestamp,
-                              cb->txn, txn_id, pool));
+  SVN_ERR(write_final_revprop(&revprop_filename, cb->txn, txn_id, pool));
   final_revprop = svn_fs_fs__path_revprops(cb->fs, new_rev, pool);
   SVN_ERR(svn_fs_fs__move_into_place(revprop_filename, final_revprop,
                                      old_rev_filename, pool));
@@ -3919,7 +3929,6 @@ svn_error_t *
 svn_fs_fs__commit(svn_revnum_t *new_rev_p,
                   svn_fs_t *fs,
                   svn_fs_txn_t *txn,
-                  svn_boolean_t set_timestamp,
                   apr_pool_t *pool)
 {
   struct commit_baton cb;
@@ -3928,7 +3937,6 @@ svn_fs_fs__commit(svn_revnum_t *new_rev_
   cb.new_rev_p = new_rev_p;
   cb.fs = fs;
   cb.txn = txn;
-  cb.set_timestamp = set_timestamp;
 
   if (ffd->rep_sharing_allowed)
     {
@@ -4175,6 +4183,10 @@ svn_fs_fs__begin_txn(svn_fs_txn_t **txn_
     svn_hash_sets(props, SVN_FS__PROP_TXN_CHECK_LOCKS,
                   svn_string_create("true", pool));
 
+  if (flags & SVN_FS_TXN_CLIENT_DATE)
+    svn_hash_sets(props, SVN_FS__PROP_TXN_CLIENT_DATE,
+                  svn_string_create("0", pool));
+
   ftd = (*txn_p)->fsap_data;
   return svn_error_trace(set_txn_proplist(fs, &ftd->txn_id, props, FALSE,
                                           pool));

Modified: subversion/trunk/subversion/libsvn_fs_fs/transaction.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/transaction.h?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/transaction.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/transaction.h Wed Dec 11 18:56:57 
2013
@@ -199,14 +199,12 @@ svn_fs_fs__set_proplist(svn_fs_t *fs,
 
 /* Commit the transaction TXN in filesystem FS and return its new
    revision number in *REV.  If the transaction is out of date, return
-   the error SVN_ERR_FS_TXN_OUT_OF_DATE. Update commit time to ensure that
-   svn:date revprops remain ordered if SET_TIMESTAMP is non-zero. Use POOL for
-   temporary allocations. */
+   the error SVN_ERR_FS_TXN_OUT_OF_DATE. Use POOL for temporary
+   allocations. */
 svn_error_t *
 svn_fs_fs__commit(svn_revnum_t *new_rev_p,
                   svn_fs_t *fs,
                   svn_fs_txn_t *txn,
-                  svn_boolean_t set_timestamp,
                   apr_pool_t *pool);
 
 /* Set *NAMES_P to an array of names which are all the active

Modified: subversion/trunk/subversion/libsvn_fs_fs/tree.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/tree.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/tree.c Wed Dec 11 18:56:57 2013
@@ -2013,7 +2013,6 @@ svn_error_t *
 svn_fs_fs__commit_txn(const char **conflict_p,
                       svn_revnum_t *new_rev,
                       svn_fs_txn_t *txn,
-                      svn_boolean_t set_timestamp,
                       apr_pool_t *pool)
 {
   /* How do commits work in Subversion?
@@ -2110,7 +2109,7 @@ svn_fs_fs__commit_txn(const char **confl
       txn->base_rev = youngish_rev;
 
       /* Try to commit. */
-      err = svn_fs_fs__commit(new_rev, fs, txn, set_timestamp, iterpool);
+      err = svn_fs_fs__commit(new_rev, fs, txn, iterpool);
       if (err && (err->apr_err == SVN_ERR_FS_TXN_OUT_OF_DATE))
         {
           /* Did someone else finish committing a new revision while we

Modified: subversion/trunk/subversion/libsvn_fs_fs/tree.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/tree.h?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/tree.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/tree.h Wed Dec 11 18:56:57 2013
@@ -48,12 +48,9 @@ svn_error_t *svn_fs_fs__deltify(svn_fs_t
 /* Commit the transaction TXN as a new revision.  Return the new
    revision in *NEW_REV.  If the transaction conflicts with other
    changes return SVN_ERR_FS_CONFLICT and set *CONFLICT_P to a string
-   that details the cause of the conflict.
-   Update commit time to ensure that svn:date revprops remain ordered if
-   SET_TIMESTAMP is non-zero. Perform temporary allocations in POOL. */
+   that details the cause of the conflict. */
 svn_error_t *svn_fs_fs__commit_txn(const char **conflict_p,
                                    svn_revnum_t *new_rev, svn_fs_txn_t *txn,
-                                   svn_boolean_t set_timestamp,
                                    apr_pool_t *pool);
 
 /* Set ROOT_P to the root directory of transaction TXN.  Allocate the

Modified: subversion/trunk/subversion/libsvn_fs_x/transaction.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/transaction.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_x/transaction.c (original)
+++ subversion/trunk/subversion/libsvn_fs_x/transaction.c Wed Dec 11 18:56:57 
2013
@@ -1169,6 +1169,11 @@ change_txn_props(svn_fs_txn_t *txn,
     {
       svn_prop_t *prop = &APR_ARRAY_IDX(props, i, svn_prop_t);
 
+      if (svn_hash_gets(txn_prop, SVN_FS__PROP_TXN_CLIENT_DATE)
+          && !strcmp(prop->name, SVN_PROP_REVISION_DATE))
+        svn_hash_sets(txn_prop, SVN_FS__PROP_TXN_CLIENT_DATE,
+                      svn_string_create("1", pool));
+
       svn_hash_sets(txn_prop, prop->name, prop->value);
     }
 
@@ -3033,7 +3038,6 @@ verify_moves(svn_fs_t *fs,
    commit flags. */
 static svn_error_t *
 write_final_revprop(const char **path,
-                    svn_boolean_t set_timestamp,
                     svn_fs_txn_t *txn,
                     const svn_fs_x__id_part_t *txn_id,
                     apr_pool_t *pool)
@@ -3042,6 +3046,7 @@ write_final_revprop(const char **path,
   apr_array_header_t *final_mods = NULL;
   svn_string_t date;
   svn_prop_t prop;
+  svn_string_t *client_date;
 
   SVN_ERR(svn_fs_x__txn_proplist(&txnprops, txn, pool));
 
@@ -3063,9 +3068,18 @@ write_final_revprop(const char **path,
       APR_ARRAY_PUSH(final_mods, svn_prop_t) = prop;
     }
 
+  client_date = svn_hash_gets(txnprops, SVN_FS__PROP_TXN_CLIENT_DATE);
+  if (client_date)
+    {
+      if (!final_mods)
+        final_mods = apr_array_make(pool, 3, sizeof(svn_prop_t));
+      prop.name = SVN_FS__PROP_TXN_CLIENT_DATE;
+      APR_ARRAY_PUSH(final_mods, svn_prop_t) = prop;
+    }
+
   /* Update commit time to ensure that svn:date revprops remain ordered if
      requested. */
-  if (set_timestamp)
+  if (!client_date || strcmp(client_date->data, "1"))
     {
       if (!final_mods)
         final_mods = apr_array_make(pool, 3, sizeof(svn_prop_t));
@@ -3094,7 +3108,6 @@ struct commit_baton {
   svn_revnum_t *new_rev_p;
   svn_fs_t *fs;
   svn_fs_txn_t *txn;
-  svn_boolean_t set_timestamp;
   apr_array_header_t *reps_to_cache;
   apr_hash_t *reps_hash;
   apr_pool_t *reps_pool;
@@ -3234,8 +3247,7 @@ commit_body(void *baton, apr_pool_t *poo
 
   /* Move the revprops file into place. */
   SVN_ERR_ASSERT(! svn_fs_x__is_packed_revprop(cb->fs, new_rev));
-  SVN_ERR(write_final_revprop(&revprop_filename, cb->set_timestamp,
-                              cb->txn, txn_id, pool));
+  SVN_ERR(write_final_revprop(&revprop_filename, cb->txn, txn_id, pool));
   final_revprop = svn_fs_x__path_revprops(cb->fs, new_rev, pool);
   SVN_ERR(svn_fs_x__move_into_place(revprop_filename, final_revprop,
                                     old_rev_filename, pool));
@@ -3284,7 +3296,6 @@ svn_error_t *
 svn_fs_x__commit(svn_revnum_t *new_rev_p,
                  svn_fs_t *fs,
                  svn_fs_txn_t *txn,
-                 svn_boolean_t set_timestamp,
                  apr_pool_t *pool)
 {
   struct commit_baton cb;
@@ -3293,7 +3304,6 @@ svn_fs_x__commit(svn_revnum_t *new_rev_p
   cb.new_rev_p = new_rev_p;
   cb.fs = fs;
   cb.txn = txn;
-  cb.set_timestamp = set_timestamp;
 
   if (ffd->rep_sharing_allowed)
     {
@@ -3549,5 +3559,12 @@ svn_fs_x__begin_txn(svn_fs_txn_t **txn_p
       APR_ARRAY_PUSH(props, svn_prop_t) = prop;
     }
 
+  if (flags & SVN_FS_TXN_CLIENT_DATE)
+    {
+      prop.name = SVN_FS__PROP_TXN_CLIENT_DATE;
+      prop.value = svn_string_create("0", pool);
+      APR_ARRAY_PUSH(props, svn_prop_t) = prop;
+    }
+
   return svn_fs_x__change_txn_props(*txn_p, props, pool);
 }

Modified: subversion/trunk/subversion/libsvn_fs_x/transaction.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/transaction.h?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_x/transaction.h (original)
+++ subversion/trunk/subversion/libsvn_fs_x/transaction.h Wed Dec 11 18:56:57 
2013
@@ -209,14 +209,12 @@ svn_fs_x__set_proplist(svn_fs_t *fs,
 
 /* Commit the transaction TXN in filesystem FS and return its new
    revision number in *REV.  If the transaction is out of date, return
-   the error SVN_ERR_FS_TXN_OUT_OF_DATE. Update commit time to ensure that
-   svn:date revprops remain ordered if SET_TIMESTAMP is non-zero. Use POOL
-   for temporary allocations. */
+   the error SVN_ERR_FS_TXN_OUT_OF_DATE. Use POOL for temporary
+   allocations. */
 svn_error_t *
 svn_fs_x__commit(svn_revnum_t *new_rev_p,
                  svn_fs_t *fs,
                  svn_fs_txn_t *txn,
-                 svn_boolean_t set_timestamp,
                  apr_pool_t *pool);
 
 /* Set *NAMES_P to an array of names which are all the active

Modified: subversion/trunk/subversion/libsvn_fs_x/tree.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/tree.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_x/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_x/tree.c Wed Dec 11 18:56:57 2013
@@ -1976,7 +1976,6 @@ svn_error_t *
 svn_fs_x__commit_txn(const char **conflict_p,
                      svn_revnum_t *new_rev,
                      svn_fs_txn_t *txn,
-                     svn_boolean_t set_timestamp,
                      apr_pool_t *pool)
 {
   /* How do commits work in Subversion?
@@ -2073,7 +2072,7 @@ svn_fs_x__commit_txn(const char **confli
       txn->base_rev = youngish_rev;
 
       /* Try to commit. */
-      err = svn_fs_x__commit(new_rev, fs, txn, set_timestamp, iterpool);
+      err = svn_fs_x__commit(new_rev, fs, txn, iterpool);
       if (err && (err->apr_err == SVN_ERR_FS_TXN_OUT_OF_DATE))
         {
           /* Did someone else finish committing a new revision while we

Modified: subversion/trunk/subversion/libsvn_fs_x/tree.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/tree.h?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_x/tree.h (original)
+++ subversion/trunk/subversion/libsvn_fs_x/tree.h Wed Dec 11 18:56:57 2013
@@ -48,12 +48,9 @@ svn_error_t *svn_fs_x__deltify(svn_fs_t 
 /* Commit the transaction TXN as a new revision.  Return the new
    revision in *NEW_REV.  If the transaction conflicts with other
    changes return SVN_ERR_FS_CONFLICT and set *CONFLICT_P to a string
-   that details the cause of the conflict.
-   Update commit time to ensure that svn:date revprops remain ordered if
-   SET_TIMESTAMP is non-zero. Perform temporary allocations in POOL. */
+   that details the cause of the conflict. */
 svn_error_t *svn_fs_x__commit_txn(const char **conflict_p,
                                   svn_revnum_t *new_rev, svn_fs_txn_t *txn,
-                                  svn_boolean_t set_timestamp,
                                   apr_pool_t *pool);
 
 /* Set ROOT_P to the root directory of transaction TXN.  Allocate the

Modified: subversion/trunk/subversion/libsvn_repos/fs-wrap.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/fs-wrap.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/fs-wrap.c (original)
+++ subversion/trunk/subversion/libsvn_repos/fs-wrap.c Wed Dec 11 18:56:57 2013
@@ -88,7 +88,7 @@ svn_repos_fs_commit_txn(const char **con
   svn_pool_destroy(iterpool);
 
   /* Commit. */
-  err = svn_fs_commit_txn2(conflict_p, new_rev, txn, TRUE, pool);
+  err = svn_fs_commit_txn(conflict_p, new_rev, txn, pool);
   if (! SVN_IS_VALID_REVNUM(*new_rev))
     {
       /* The commit failed, try to restore the ephemeral properties. */

Modified: subversion/trunk/subversion/libsvn_repos/load-fs-vtable.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/load-fs-vtable.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/load-fs-vtable.c (original)
+++ subversion/trunk/subversion/libsvn_repos/load-fs-vtable.c Wed Dec 11 
18:56:57 2013
@@ -501,7 +501,8 @@ new_revision_record(void **revision_bato
   if ((rb->rev > 0) && (! rb->skipped))
     {
       /* Create a new fs txn. */
-      SVN_ERR(svn_fs_begin_txn2(&(rb->txn), pb->fs, head_rev, 0, pool));
+      SVN_ERR(svn_fs_begin_txn2(&(rb->txn), pb->fs, head_rev,
+                                SVN_FS_TXN_CLIENT_DATE, pool));
       SVN_ERR(svn_fs_txn_root(&(rb->txn_root), rb->txn, pool));
 
       if (pb->notify_func)
@@ -968,8 +969,7 @@ close_revision(void *baton)
     }
 
   /* Commit. */
-  err = svn_fs_commit_txn2(&conflict_msg, &committed_rev, rb->txn, FALSE,
-                           rb->pool);
+  err = svn_fs_commit_txn(&conflict_msg, &committed_rev, rb->txn, rb->pool);
   if (SVN_IS_VALID_REVNUM(committed_rev))
     {
       if (err)

Modified: subversion/trunk/subversion/tests/libsvn_fs/fs-test.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_fs/fs-test.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_fs/fs-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_fs/fs-test.c Wed Dec 11 18:56:57 
2013
@@ -44,6 +44,7 @@
 #include "../svn_test_fs.h"
 
 #include "../../libsvn_delta/delta.h"
+#include "../../libsvn_fs/fs-loader.h"
 
 #define SET_STR(ps, s) ((ps)->data = (s), (ps)->len = strlen(s))
 
@@ -5091,11 +5092,11 @@ commit_timestamp(const svn_test_opts_t *
                               opts, pool));
 
   /* Commit with a specified svn:date. */
-  SVN_ERR(svn_fs_begin_txn(&txn, fs, rev, pool));
+  SVN_ERR(svn_fs_begin_txn2(&txn, fs, rev, SVN_FS_TXN_CLIENT_DATE, pool));
   SVN_ERR(svn_fs_txn_root(&txn_root, txn, pool));
   SVN_ERR(svn_fs_make_dir(txn_root, "/foo", pool));
   SVN_ERR(svn_fs_change_txn_prop(txn, SVN_PROP_REVISION_DATE, date, pool));
-  SVN_ERR(svn_fs_commit_txn2(NULL, &rev, txn, FALSE, pool));
+  SVN_ERR(svn_fs_commit_txn(NULL, &rev, txn, pool));
 
   SVN_ERR(svn_fs_revision_proplist(&proplist, fs, rev, pool));
   svn_date = apr_hash_get(proplist, SVN_PROP_REVISION_DATE,
@@ -5104,10 +5105,33 @@ commit_timestamp(const svn_test_opts_t *
 
   /* Commit that overwrites the specified svn:date. */
   SVN_ERR(svn_fs_begin_txn(&txn, fs, rev, pool));
+  {
+    /* Setting the internal property doesn't enable svn:date behaviour. */
+    apr_array_header_t *props = apr_array_make(pool, 3, sizeof(svn_prop_t));
+    svn_prop_t prop, other_prop1, other_prop2;
+    svn_string_t *val;
+
+    prop.name = SVN_FS__PROP_TXN_CLIENT_DATE;
+    prop.value = svn_string_create("1", pool);
+    other_prop1.name = "foo";
+    other_prop1.value = svn_string_create("fooval", pool);
+    other_prop2.name = "bar";
+    other_prop2.value = svn_string_create("barval", pool);
+    APR_ARRAY_PUSH(props, svn_prop_t) = other_prop1;
+    APR_ARRAY_PUSH(props, svn_prop_t) = prop;
+    APR_ARRAY_PUSH(props, svn_prop_t) = other_prop2;
+    SVN_ERR(svn_fs_change_txn_props(txn, props, pool));
+    SVN_ERR(svn_fs_txn_prop(&val, txn, other_prop1.name, pool));
+    SVN_TEST_ASSERT(val && !strcmp(val->data, other_prop1.value->data));
+    SVN_ERR(svn_fs_txn_prop(&val, txn, other_prop2.name, pool));
+    SVN_TEST_ASSERT(val && !strcmp(val->data, other_prop2.value->data));
+
+    SVN_ERR(svn_fs_change_txn_prop(txn, prop.name, prop.value, pool));
+  }
   SVN_ERR(svn_fs_txn_root(&txn_root, txn, pool));
   SVN_ERR(svn_fs_make_dir(txn_root, "/bar", pool));
   SVN_ERR(svn_fs_change_txn_prop(txn, SVN_PROP_REVISION_DATE, date, pool));
-  SVN_ERR(svn_fs_commit_txn2(NULL, &rev, txn, TRUE, pool));
+  SVN_ERR(svn_fs_commit_txn(NULL, &rev, txn, pool));
 
   SVN_ERR(svn_fs_revision_proplist(&proplist, fs, rev, pool));
   svn_date = apr_hash_get(proplist, SVN_PROP_REVISION_DATE,
@@ -5115,13 +5139,13 @@ commit_timestamp(const svn_test_opts_t *
   SVN_TEST_ASSERT(svn_date && strcmp(svn_date->data, date->data));
 
   /* Commit with a missing svn:date. */
-  SVN_ERR(svn_fs_begin_txn(&txn, fs, rev, pool));
+  SVN_ERR(svn_fs_begin_txn2(&txn, fs, rev, SVN_FS_TXN_CLIENT_DATE, pool));
   SVN_ERR(svn_fs_txn_root(&txn_root, txn, pool));
   SVN_ERR(svn_fs_make_dir(txn_root, "/zag", pool));
   SVN_ERR(svn_fs_change_txn_prop(txn, SVN_PROP_REVISION_DATE, NULL, pool));
   SVN_ERR(svn_fs_txn_prop(&svn_date, txn, SVN_PROP_REVISION_DATE, pool));
   SVN_TEST_ASSERT(!svn_date);
-  SVN_ERR(svn_fs_commit_txn2(NULL, &rev, txn, FALSE, pool));
+  SVN_ERR(svn_fs_commit_txn(NULL, &rev, txn, pool));
 
   SVN_ERR(svn_fs_revision_proplist(&proplist, fs, rev, pool));
   svn_date = apr_hash_get(proplist, SVN_PROP_REVISION_DATE,
@@ -5135,7 +5159,7 @@ commit_timestamp(const svn_test_opts_t *
   SVN_ERR(svn_fs_change_txn_prop(txn, SVN_PROP_REVISION_DATE, NULL, pool));
   SVN_ERR(svn_fs_txn_prop(&svn_date, txn, SVN_PROP_REVISION_DATE, pool));
   SVN_TEST_ASSERT(!svn_date);
-  SVN_ERR(svn_fs_commit_txn2(NULL, &rev, txn, TRUE, pool));
+  SVN_ERR(svn_fs_commit_txn(NULL, &rev, txn, pool));
 
   SVN_ERR(svn_fs_revision_proplist(&proplist, fs, rev, pool));
   svn_date = apr_hash_get(proplist, SVN_PROP_REVISION_DATE,

Modified: subversion/trunk/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c Wed Dec 11 
18:56:57 2013
@@ -1024,7 +1024,7 @@ upgrade_txns_to_log_addressing(const svn
       svn_pool_clear(iterpool);
 
       SVN_ERR(svn_fs_open_txn(&txn, fs, txn_name, iterpool));
-      SVN_ERR(svn_fs_commit_txn2(NULL, &rev, txn, TRUE, iterpool));
+      SVN_ERR(svn_fs_commit_txn(NULL, &rev, txn, iterpool));
     }
 
   /* Further changes to fill the shard */

Modified: subversion/trunk/subversion/tests/libsvn_repos/repos-test.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_repos/repos-test.c?rev=1550228&r1=1550227&r2=1550228&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_repos/repos-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_repos/repos-test.c Wed Dec 11 
18:56:57 2013
@@ -3444,7 +3444,7 @@ test_config_pool(const svn_test_opts_t *
   SVN_ERR(svn_fs_make_file(root, "dir/config", pool));
   SVN_ERR(svn_test__set_file_contents(root, "dir/config",
                                       cfg_buffer1->data, pool));
-  SVN_ERR(svn_fs_commit_txn2(NULL, &rev, txn, TRUE, pool));
+  SVN_ERR(svn_fs_commit_txn(NULL, &rev, txn, pool));
 
   /* reading the config from the repo should still give cfg1 */
   SVN_ERR(svn_repos__config_pool_get(&cfg, NULL, config_pool,
@@ -3462,7 +3462,7 @@ test_config_pool(const svn_test_opts_t *
   SVN_ERR(svn_fs_copy(rev_root, "dir", root, "another-dir", pool));
   SVN_ERR(svn_test__set_file_contents(root, "dir/config",
                                       cfg_buffer2->data, pool));
-  SVN_ERR(svn_fs_commit_txn2(NULL, &rev, txn, TRUE, pool));
+  SVN_ERR(svn_fs_commit_txn(NULL, &rev, txn, pool));
 
   /* reading the config from the repo should give cfg2 now */
   SVN_ERR(svn_repos__config_pool_get(&cfg, NULL, config_pool,


Reply via email to