Author: danielsh
Date: Sat Sep  8 17:33:07 2012
New Revision: 1382333

URL: http://svn.apache.org/viewvc?rev=1382333&view=rev
Log:
Follow-up to r1381808: move logic around.  No externally-visible change.

* subversion/libsvn_fs_fs/fs_fs.h
  (svn_fs_fs__read_noderev): Remove ALLOW_FOR_TXN_ROOTS parameter.

* subversion/libsvn_fs_fs/fs_fs.c
  (svn_fs_fs__read_noderev): Implement signature change.
  (get_node_revision_body): Track signature change, move workaround here.

Modified:
    subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
    subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h

Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1382333&r1=1382332&r2=1382333&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Sat Sep  8 17:33:07 2012
@@ -2284,8 +2284,11 @@ get_node_revision_body(node_revision_t *
   SVN_ERR(svn_fs_fs__read_noderev(noderev_p,
                                   svn_stream_from_aprfile2(revision_file, 
FALSE,
                                                            pool),
-                                  svn_fs_fs__id_txn_id(id) != NULL,
                                   pool));
+  /* Workaround issue #4031: is-fresh-txn-root in revision files. */
+  if (svn_fs_fs__id_txn_id(id) != NULL)
+    (*noderev_p)->is_fresh_txn_root = FALSE;
+
 
   /* The noderev is not in cache, yet. Add it, if caching has been enabled. */
   return set_cached_node_revision_body(*noderev_p, fs, id, pool);
@@ -2294,7 +2297,6 @@ get_node_revision_body(node_revision_t *
 svn_error_t *
 svn_fs_fs__read_noderev(node_revision_t **noderev_p,
                         svn_stream_t *stream,
-                        svn_boolean_t allow_for_txn_roots,
                         apr_pool_t *pool)
 {
   apr_hash_t *headers;
@@ -2425,9 +2427,7 @@ svn_fs_fs__read_noderev(node_revision_t 
     }
 
   /* Get whether this is a fresh txn root. */
-  value = allow_for_txn_roots
-        ? apr_hash_get(headers, HEADER_FRESHTXNRT, APR_HASH_KEY_STRING)
-        : NULL;
+  value = apr_hash_get(headers, HEADER_FRESHTXNRT, APR_HASH_KEY_STRING);
   noderev->is_fresh_txn_root = (value != NULL);
 
   /* Get the mergeinfo count. */

Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h?rev=1382333&r1=1382332&r2=1382333&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h Sat Sep  8 17:33:07 2012
@@ -94,13 +94,11 @@ svn_fs_fs__write_noderev(svn_stream_t *o
                          apr_pool_t *pool);
 
 /* Read a node-revision from STREAM. Set *NODEREV to the new structure,
-   allocated in POOL. If ALLOW_FOR_TXN_ROOTS is FALSE, the is-fresh-txn-root
-   flag will be ignored. */
+   allocated in POOL. */
 /* ### Currently used only by fs_fs.c */
 svn_error_t *
 svn_fs_fs__read_noderev(node_revision_t **noderev,
                         svn_stream_t *stream,
-                        svn_boolean_t allow_for_txn_roots,
                         apr_pool_t *pool);
 
 


Reply via email to