You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2012/10/18 23:42:13 UTC

svn commit: r1399875 - /subversion/trunk/subversion/libsvn_repos/replay.c

Author: hwright
Date: Thu Oct 18 21:42:13 2012
New Revision: 1399875

URL: http://svn.apache.org/viewvc?rev=1399875&view=rev
Log:
Ev2: Use a better base revision (and speculate as to an even better one) when
fetching a node's kind during replay.

* subversion/libsvn_repos/replay.c
  (fetch_kind_func): Use the previous revision, not the current revision, which
    is symmetric with what we already do in fetch_props_func().
  (fetch_props_func): Add comment.

Modified:
    subversion/trunk/subversion/libsvn_repos/replay.c

Modified: subversion/trunk/subversion/libsvn_repos/replay.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/replay.c?rev=1399875&r1=1399874&r2=1399875&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/replay.c (original)
+++ subversion/trunk/subversion/libsvn_repos/replay.c Thu Oct 18 21:42:13 2012
@@ -795,8 +795,16 @@ fetch_kind_func(svn_kind_t *kind,
 {
   svn_fs_root_t *root = baton;
   svn_node_kind_t node_kind;
+  svn_fs_root_t *prev_root;
+  svn_fs_t *fs = svn_fs_root_fs(root);
+
+  /* ### If base_revision is valid, should we use that as the root
+   * ### revision? */
+  SVN_ERR(svn_fs_revision_root(&prev_root, fs,
+                               svn_fs_revision_root_revision(root) - 1,
+                               scratch_pool));
 
-  SVN_ERR(svn_fs_check_path(&node_kind, root, path, scratch_pool));
+  SVN_ERR(svn_fs_check_path(&node_kind, prev_root, path, scratch_pool));
 
   *kind = svn__kind_from_node_kind(node_kind, FALSE);
   return SVN_NO_ERROR;
@@ -814,6 +822,8 @@ fetch_props_func(apr_hash_t **props,
   svn_fs_root_t *prev_root;
   svn_fs_t *fs = svn_fs_root_fs(root);
 
+  /* ### If base_revision is valid, should we use that as the root
+   * ### revision? */
   SVN_ERR(svn_fs_revision_root(&prev_root, fs,
                                svn_fs_revision_root_revision(root) - 1,
                                scratch_pool));