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

Re: log cache and date revisions

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Fri, 09 Jan 2009 21:05:05 +0100

Stefan.Fuhrmann_at_etas.com wrote:
> Stefan Kueng <tortoisesvn_at_gmail.com> wrote:
>
>> Seems the log cache can't handle date revisions?
>
> That is correct.
>
>> With the next nightly build (> 15028):
>> * show log on the TSVN working copy
>> * click arrow of "Show All" button, select "revision range"
>> * enter {2008-01-01} and {2009-01-01} in the from/to fields
>> * click OK.
>>
>> I remember that the log cache isn't designed to handle date revisions,
>> but could you maybe implement a workaround so that if date revisions are
>> specified that the cache is not used?
>
> I think the log cache can be taught to interpret
> date revisions. Here is the plan:
>
> * CLogCacheQuery translates date revisions to
> actual revision numbers (just like it would
> for HEAD, peg/path etc.) and runs the actual
> query after that.
>
> * Date revisions can be translated as follows:
> - find the latest revision before the date.
> Start at revision 0 and increment until found.
> I guess that is what SVN still does even
> if the history is non-contiguous?
> Alternatively, find the closed match.
> - check whether the revision found equals HEAD
> or whether the next revision is in cache.
> -> translation successful, otherwise failed
> - if the translation failed, ask the server
> to translate the date revision
> - when in off-line mode, proceed with whatever
> revision has been found
>
> For non-contiguous history, e.g. after merging
> repositories, (some) date revisions are ambiguous.
> In that case, the log cache might return different
> results as a native query.
>
> I should be able to implement that this weekend.

Great!

A few things more (sorry):
* svn_client_log4 is now deprecated. But there's not much of a change to
svn_client_log5 - you could just implement a wrapper around it
* since you reorganized the lib projects, some files in the solution
explorer are not correct anymore (header files listed there don't exist
anymore)
* the lib projects have _CONSOLE defined - I don't think that's necessary

Stefan

-- 
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=1014289
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].

Received on 2009-01-09 21:05:27 CET

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

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