You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2019/01/14 15:13:02 UTC
svn commit: r1851265 - in /subversion/trunk/subversion:
bindings/javahl/native/BlameCallback.cpp
bindings/javahl/native/BlameCallback.h bindings/javahl/native/SVNClient.cpp
svn/blame-cmd.c
Author: julianfoad
Date: Mon Jan 14 15:13:02 2019
New Revision: 1851265
URL: http://svn.apache.org/viewvc?rev=1851265&view=rev
Log:
Move misplaced parameters out of the blame callback.
The svn_client_blame_receiver4_t parameters "start_revnum" and "end_revnum"
do not really belong here because they are not per-line data. They are the
"resolved" versions of the input revnums to svn_client_blame6(). This patch
moves them to svn_client_blame6() output parameters.
* subversion/bindings/javahl/native/BlameCallback.h,
subversion/bindings/javahl/native/BlameCallback.cpp
(callback,
singleLine): Drop the start/end parameters.
* subversion/bindings/javahl/native/SVNClient.cpp
(blame): Adjust the call to svn_client_blame6(). Don't provide access to
the start/end parameters here, as we weren't providing access to them
through the callback. We could add them later.
* subversion/svn/blame-cmd.c
(blame_receiver_xml,
blame_receiver): Don't expect and process start/end revnums here.
(svn_cl__blame): Handle them here instead.
Modified:
subversion/trunk/subversion/bindings/javahl/native/BlameCallback.cpp
subversion/trunk/subversion/bindings/javahl/native/BlameCallback.h
subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp
subversion/trunk/subversion/svn/blame-cmd.c
Modified: subversion/trunk/subversion/bindings/javahl/native/BlameCallback.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/BlameCallback.cpp?rev=1851265&r1=1851264&r2=1851265&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/BlameCallback.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/BlameCallback.cpp Mon Jan 14 15:13:02 2019
@@ -48,8 +48,6 @@ BlameCallback::~BlameCallback()
/* implements svn_client_blame_receiver3_t */
svn_error_t *
BlameCallback::callback(void *baton,
- svn_revnum_t start_revnum,
- svn_revnum_t end_revnum,
apr_int64_t line_no,
svn_revnum_t revision,
apr_hash_t *rev_props,
@@ -61,8 +59,8 @@ BlameCallback::callback(void *baton,
apr_pool_t *pool)
{
if (baton)
- return static_cast<BlameCallback *>(baton)->singleLine(start_revnum,
- end_revnum, line_no, revision, rev_props, merged_revision,
+ return static_cast<BlameCallback *>(baton)->singleLine(
+ line_no, revision, rev_props, merged_revision,
merged_rev_props, merged_path, line, local_change, pool);
return SVN_NO_ERROR;
@@ -73,8 +71,7 @@ BlameCallback::callback(void *baton,
* information was requested. See the Java-doc for more information.
*/
svn_error_t *
-BlameCallback::singleLine(svn_revnum_t start_revnum, svn_revnum_t end_revnum,
- apr_int64_t line_no, svn_revnum_t revision,
+BlameCallback::singleLine(apr_int64_t line_no, svn_revnum_t revision,
apr_hash_t *revProps, svn_revnum_t mergedRevision,
apr_hash_t *mergedRevProps, const char *mergedPath,
const svn_string_t *line, svn_boolean_t localChange,
Modified: subversion/trunk/subversion/bindings/javahl/native/BlameCallback.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/BlameCallback.h?rev=1851265&r1=1851264&r2=1851265&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/BlameCallback.h (original)
+++ subversion/trunk/subversion/bindings/javahl/native/BlameCallback.h Mon Jan 14 15:13:02 2019
@@ -41,8 +41,6 @@ class BlameCallback
~BlameCallback();
static svn_error_t *callback(void *baton,
- svn_revnum_t start_revnum,
- svn_revnum_t end_revnum,
apr_int64_t line_no,
svn_revnum_t revision,
apr_hash_t *rev_props,
@@ -54,9 +52,7 @@ class BlameCallback
apr_pool_t *pool);
protected:
- svn_error_t *singleLine(svn_revnum_t start_revnum,
- svn_revnum_t end_revnum,
- apr_int64_t line_no,
+ svn_error_t *singleLine(apr_int64_t line_no,
svn_revnum_t revision,
apr_hash_t *rev_props,
svn_revnum_t merged_revision,
Modified: subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp?rev=1851265&r1=1851264&r2=1851265&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp Mon Jan 14 15:13:02 2019
@@ -1287,6 +1287,7 @@ void SVNClient::blame(const char *path,
SVN_JNI_ERR(svn_client_blame6(
intPath.c_str(), pegRevision.revision(), revisionStart.revision(),
revisionEnd.revision(),
+ NULL, NULL,
options.fileOptions(subPool), ignoreMimeType,
includeMergedRevisions, BlameCallback::callback, callback, ctx,
subPool.getPool()),
Modified: subversion/trunk/subversion/svn/blame-cmd.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/blame-cmd.c?rev=1851265&r1=1851264&r2=1851265&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/blame-cmd.c (original)
+++ subversion/trunk/subversion/svn/blame-cmd.c Mon Jan 14 15:13:02 2019
@@ -54,8 +54,6 @@ typedef struct blame_baton_t
XML to stdout. */
static svn_error_t *
blame_receiver_xml(void *baton,
- svn_revnum_t start_revnum,
- svn_revnum_t end_revnum,
apr_int64_t line_no,
svn_revnum_t revision,
apr_hash_t *rev_props,
@@ -170,8 +168,6 @@ print_line_info(svn_stream_t *out,
/* This implements the svn_client_blame_receiver3_t interface. */
static svn_error_t *
blame_receiver(void *baton,
- svn_revnum_t start_revnum,
- svn_revnum_t end_revnum,
apr_int64_t line_no,
svn_revnum_t revision,
apr_hash_t *rev_props,
@@ -187,21 +183,6 @@ blame_receiver(void *baton,
svn_stream_t *out = bb->out;
svn_boolean_t use_merged = FALSE;
- if (!bb->rev_maxlength)
- {
- svn_revnum_t max_revnum = MAX(start_revnum, end_revnum);
- /* The standard column width for the revision number is 6 characters.
- If the revision number can potentially be larger (i.e. if the end_revnum
- is larger than 1000000), we increase the column width as needed. */
-
- bb->rev_maxlength = 6;
- while (max_revnum >= 1000000)
- {
- bb->rev_maxlength++;
- max_revnum = max_revnum / 10;
- }
- }
-
if (opt_state->use_merge_history)
{
/* Choose which revision to use. If they aren't equal, prefer the
@@ -334,6 +315,7 @@ svn_cl__blame(apr_getopt_t *os,
const char *truepath;
svn_opt_revision_t peg_revision;
svn_client_blame_receiver4_t receiver;
+ svn_revnum_t start_revnum, end_revnum;
svn_pool_clear(subpool);
SVN_ERR(svn_cl__check_cancel(ctx->cancel_baton));
@@ -372,6 +354,7 @@ svn_cl__blame(apr_getopt_t *os,
&peg_revision,
&opt_state->start_revision,
&opt_state->end_revision,
+ &start_revnum, &end_revnum,
diff_options,
opt_state->force,
opt_state->use_merge_history,
@@ -379,6 +362,19 @@ svn_cl__blame(apr_getopt_t *os,
&bl,
ctx,
subpool);
+ {
+ svn_revnum_t max_revnum = MAX(start_revnum, end_revnum);
+ /* The standard column width for the revision number is 6 characters.
+ If the revision number can potentially be larger (i.e. if max revnum
+ is larger than 1000000), we increase the column width as needed. */
+
+ bl.rev_maxlength = 6;
+ while (max_revnum >= 1000000)
+ {
+ bl.rev_maxlength++;
+ max_revnum = max_revnum / 10;
+ }
+ }
if (err)
{