[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: RFE: API for an efficient retrieval of server-side mergeinfo data

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Tue, 18 Feb 2014 14:26:17 +0000 (GMT)

Marc Strapetz wrote:
> On 17.02.2014 18:36, Julian Foad wrote:
>>  Marc Strapetz wrote:
>>>  Hence an API like the following should work well for us:
>>>
>>>  interface MergeinfoDiffCallback {
>>>    void mergeinfoDiff(int revision,
>>>                       Map<String, Mergeinfo> pathToAddedMergeinfo,
>>>                       Map<String, Mergeinfo> pathToRemovedMergeinfo);
>>>  }
>>>
>>>  void getMergeinfoDiff(String rootPath,
>>>                        long fromRev, long toRev,
>>>                        MergeinfoDiffCallback callback)
>>>                        throws ClientException;
>>>
>>>  This should give us all mergeinfo which affects any path at or below
>>>  rootPath.
[...]
>> let's use the simpler version that's sufficient for your use case.
>
> That will be fine.
[...]
> From cache perspective it's easier to build the cache starting at r0:
> [...] Anyway, I agree that receiving mergeinfo for more recent
> revisions first is reasonable as well. Hence if you say the effort is
> the same, then we could allow both: fromRev <= toRev, in which case we
> will received mergeinfo in ascending order and fromRev > toRev in which
> case it will be descending order?

Could do. It seems like a relatively minor decision.

>>> [...] important that ranges for which no mergeinfo diff is present
>>>  will be processed quickly on the server-side, otherwise we could run
>>>  into some kind of endless loop, if the cache building process is
>>>  shutdown and resumed frequently.
>>
>>  [...] There is a client-side work-around: request ranges of say a thousand
>> revisions at a time, and then you can easily keep track of how many of these
>> requests have been completed.
>
> OK, that will work.

It looks like we have an agreement in principle. Would you like to file an enhancement issue?

http://subversion.tigris.org/issues/

When you are logged in, that page includes links for filing a new issue. Please note that filing an issue doesn't affect whether or when the work will be done, but it's useful as a central place to refer to the task.

Do you have the resources to work on implementing this or are you looking for a volunteer?

- Julian
Received on 2014-02-18 15:29:41 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.