diff options
author | Peter Wemm <peter@FreeBSD.org> | 2014-02-20 19:26:10 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2014-02-20 19:26:10 +0000 |
commit | 219f5ebf8fca3572d8d4265d78d0e4670ca35a27 (patch) | |
tree | e6232088e2faabbf0f1a6e568df3285323f27c5c /subversion/libsvn_client/log.c | |
parent | eeb88685bfa4ef1c0639f1136d83ff19de1b4595 (diff) |
Notes
Diffstat (limited to 'subversion/libsvn_client/log.c')
-rw-r--r-- | subversion/libsvn_client/log.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/subversion/libsvn_client/log.c b/subversion/libsvn_client/log.c index 73bd61211eb4..5bf7e415b725 100644 --- a/subversion/libsvn_client/log.c +++ b/subversion/libsvn_client/log.c @@ -861,17 +861,19 @@ svn_client_log5(const apr_array_header_t *targets, actual_loc->url, pool)); /* Save us an RA layer round trip if we are on the repository root and - know the result in advance. All the revision data has already been - validated. + know the result in advance, or if we don't need multiple ranges. + All the revision data has already been validated. */ - if (strcmp(actual_loc->url, actual_loc->repos_root_url) == 0) + if (strcmp(actual_loc->url, actual_loc->repos_root_url) == 0 + || opt_rev_ranges->nelts <= 1) { svn_location_segment_t *segment = apr_pcalloc(pool, sizeof(*segment)); log_segments = apr_array_make(pool, 1, sizeof(segment)); segment->range_start = oldest_rev; segment->range_end = actual_loc->rev; - segment->path = ""; + segment->path = svn_uri_skip_ancestor(actual_loc->repos_root_url, + actual_loc->url, pool); APR_ARRAY_PUSH(log_segments, svn_location_segment_t *) = segment; } else |