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/02/24 19:05:36 UTC
svn commit: r1293367 - /subversion/trunk/subversion/libsvn_repos/dump.c
Author: hwright
Date: Fri Feb 24 18:05:35 2012
New Revision: 1293367
URL: http://svn.apache.org/viewvc?rev=1293367&view=rev
Log:
Ev2 shims: Find the correct base_revision if none is given during when dumping
a repo.
* subversion/libsvn_repos/dump.c
(fetch_props_func, fetch_kind_func, fetch_base_func): If not given a base
revision, assume the one previous to the current rev (rather than HEAD).
Modified:
subversion/trunk/subversion/libsvn_repos/dump.c
Modified: subversion/trunk/subversion/libsvn_repos/dump.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/dump.c?rev=1293367&r1=1293366&r2=1293367&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/dump.c (original)
+++ subversion/trunk/subversion/libsvn_repos/dump.c Fri Feb 24 18:05:35 2012
@@ -864,8 +864,14 @@ fetch_props_func(apr_hash_t **props,
{
struct edit_baton *eb = baton;
svn_error_t *err;
+ svn_fs_root_t *fs_root;
+
+ if (!SVN_IS_VALID_REVNUM(base_revision))
+ base_revision = eb->current_rev - 1;
+
+ SVN_ERR(svn_fs_revision_root(&fs_root, eb->fs, base_revision, scratch_pool));
- err = svn_fs_node_proplist(props, eb->fs_root, path, result_pool);
+ err = svn_fs_node_proplist(props, fs_root, path, result_pool);
if (err && err->apr_err == SVN_ERR_FS_NOT_FOUND)
{
svn_error_clear(err);
@@ -890,10 +896,9 @@ fetch_kind_func(svn_kind_t *kind,
svn_fs_root_t *fs_root;
if (!SVN_IS_VALID_REVNUM(base_revision))
- fs_root = eb->fs_root;
- else
- SVN_ERR(svn_fs_revision_root(&fs_root, eb->fs, base_revision,
- scratch_pool));
+ base_revision = eb->current_rev - 1;
+
+ SVN_ERR(svn_fs_revision_root(&fs_root, eb->fs, base_revision, scratch_pool));
SVN_ERR(svn_fs_check_path(&node_kind, fs_root, path, scratch_pool));
*kind = svn__kind_from_node_kind(node_kind, FALSE);
@@ -917,10 +922,9 @@ fetch_base_func(const char **filename,
svn_fs_root_t *fs_root;
if (!SVN_IS_VALID_REVNUM(base_revision))
- fs_root = eb->fs_root;
- else
- SVN_ERR(svn_fs_revision_root(&fs_root, eb->fs, base_revision,
- scratch_pool));
+ base_revision = eb->current_rev - 1;
+
+ SVN_ERR(svn_fs_revision_root(&fs_root, eb->fs, base_revision, scratch_pool));
err = svn_fs_file_contents(&contents, fs_root, path, scratch_pool);
if (err && err->apr_err == SVN_ERR_FS_NOT_FOUND)