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,