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

log cache issues

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Sat, 06 Sep 2008 10:48:37 +0200


You've been very quiet lately on the list. There are some issues with
the log cache which need someone working on them. If you don't want to
do it anymore, that's fine, but a little notice would be nice.

If you still have the time to look after some issues, here's one for
you: the attached script shows a problem with the log cache. The blame
at the end of the script crashes because the cache fails to add some
logs when handling the renames.

I've also attached a patch which would fix this issue, but I don't have
a good feeling about the patch: the cache is your code so you're more
familiar with it than I am.


  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net

::@echo off
set ROOT=D:\Development\SVN\SVNTests
set REPOROOT=D:/Development/SVN/SVNTests
set REPONAME=logcacherepo
set WCNAME=logcachewc

::set SVNCLI=D:\Development\SVN\TortoiseSVN\bin\debug\bin\svn.exe
::set SVNADM=D:\Development\SVN\TortoiseSVN\bin\debug\bin\svnadmin.exe
set SVNCLI=svn.exe
set SVNADM=svnadmin.exe

cd %ROOT%
if exist %REPONAME% rd /s /q %REPONAME%
if exist %WCNAME% rd /s /q %WCNAME%

mkdir "fol der"
echo text > "fol der"\file
echo test > file
%SVNCLI% add "fol der"
%SVNCLI% add file
%SVNCLI% ci -m "importing project"
echo text2 > file
%SVNCLI% ci -m "modifying file"
echo text > file
%SVNCLI% ci -m "modifying file"
echo text2 > file
%SVNCLI% ci -m "modifying file"
%SVNCLI% rename "fol der" folder
%SVNCLI% ci -m "renaming folder"
echo text > file
%SVNCLI% ci -m "modifying file"
%SVNCLI% rename folder folder2
%SVNCLI% ci -m "renaming folder"

cd ..

TortoiseProc.exe /command:blame /path:"%WC%\folder2\file" /startrev:1 /endrev:3
::TortoiseProc.exe /command:log /path:"%WC%\folder2\file" /startrev:1 /endrev:3

Index: src/LogCache/CacheLogQuery.cpp
--- src/LogCache/CacheLogQuery.cpp (revision 13838)
+++ src/LogCache/CacheLogQuery.cpp (working copy)
@@ -502,7 +502,7 @@
         // (we will not get here in case of an error or user cancel)
         if ( (receiveCount == 0)
- || (!options.GetStrictNodeHistory() && (receiveCount < limit)))
+ || (!options.GetStrictNodeHistory() && ((receiveCount < limit)||(limit == 0))))
             AutoAddSkipRange (max (endRevision,1)-1);

Received on 2008-09-06 10:49:05 CEST

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