You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ne...@apache.org on 2011/08/31 00:19:50 UTC
svn commit: r1163438 - /subversion/trunk/subversion/libsvn_client/externals.c
Author: neels
Date: Tue Aug 30 22:19:50 2011
New Revision: 1163438
URL: http://svn.apache.org/viewvc?rev=1163438&view=rev
Log:
Make dir externals' peg revision and revision appear in wc.db. Prior to this
patch, the columns def_operational_revision and def_revision were always empty
for dir externals.
* subversion/libsvn_client/externals.c
(switch_dir_external):
Do not pass SVN_INVALID_REVNUM to svn_wc__external_register(). Instead,
translate svn_opt_revision_t to svn_revnum_t (x2) and pass revision
numbers if available.
Modified:
subversion/trunk/subversion/libsvn_client/externals.c
Modified: subversion/trunk/subversion/libsvn_client/externals.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/externals.c?rev=1163438&r1=1163437&r2=1163438&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/externals.c (original)
+++ subversion/trunk/subversion/libsvn_client/externals.c Tue Aug 30 22:19:50 2011
@@ -135,10 +135,18 @@ switch_dir_external(const char *local_ab
{
svn_node_kind_t kind;
svn_error_t *err;
+ svn_revnum_t external_peg_rev = SVN_INVALID_REVNUM;
+ svn_revnum_t external_rev = SVN_INVALID_REVNUM;
apr_pool_t *subpool = svn_pool_create(pool);
SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
+ if (peg_revision->kind == svn_opt_revision_number)
+ external_peg_rev = peg_revision->value.number;
+
+ if (revision->kind == svn_opt_revision_number)
+ external_rev = revision->value.number;
+
/* If path is a directory, try to update/switch to the correct URL
and revision. */
SVN_ERR(svn_io_check_path(local_abspath, &kind, pool));
@@ -230,8 +238,8 @@ switch_dir_external(const char *local_ab
svn_uri_skip_ancestor(
repos_root_url,
url, subpool),
- SVN_INVALID_REVNUM,
- SVN_INVALID_REVNUM,
+ external_peg_rev,
+ external_rev,
subpool));
svn_pool_destroy(subpool);
@@ -288,8 +296,8 @@ switch_dir_external(const char *local_ab
repos_root_url, repos_uuid,
svn_uri_skip_ancestor(repos_root_url,
url, pool),
- SVN_INVALID_REVNUM,
- SVN_INVALID_REVNUM,
+ external_peg_rev,
+ external_rev,
pool));
}