You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2013/06/26 13:35:41 UTC

svn commit: r1496882 - /subversion/trunk/subversion/libsvn_ra_serf/blame.c

Author: rhuijben
Date: Wed Jun 26 11:35:41 2013
New Revision: 1496882

URL: http://svn.apache.org/r1496882
Log:
Calculate the proper revision to use as peg revision for svn_ra_get_file_revs
when using reverse order via ra_serf.

* subversion/libsvn_ra_serf/blame.c
  (svn_ra_serf__get_file_revs): Obtain proper peg revision.

Modified:
    subversion/trunk/subversion/libsvn_ra_serf/blame.c

Modified: subversion/trunk/subversion/libsvn_ra_serf/blame.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/blame.c?rev=1496882&r1=1496881&r2=1496882&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/blame.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/blame.c Wed Jun 26 11:35:41 2013
@@ -332,6 +332,7 @@ svn_ra_serf__get_file_revs(svn_ra_sessio
   svn_ra_serf__xml_context_t *xmlctx;
   const char *req_url;
   svn_error_t *err;
+  svn_revnum_t peg_rev;
 
   blame_ctx = apr_pcalloc(pool, sizeof(*blame_ctx));
   blame_ctx->pool = pool;
@@ -342,9 +343,16 @@ svn_ra_serf__get_file_revs(svn_ra_sessio
   blame_ctx->end = end;
   blame_ctx->include_merged_revisions = include_merged_revisions;
 
+  /* Since Subversion 1.8 we allow retrieving blames backwards. So we can't
+     just unconditionally use end_rev as the peg revision as before */
+  if (end > start)
+    peg_rev = end;
+  else
+    peg_rev = start;
+
   SVN_ERR(svn_ra_serf__get_stable_url(&req_url, NULL /* latest_revnum */,
                                       session, NULL /* conn */,
-                                      NULL /* url */, end,
+                                      NULL /* url */, peg_rev,
                                       pool, pool));
 
   xmlctx = svn_ra_serf__xml_context_create(blame_ttable,