Opened 13 years ago

#392 new task

minimize call to 'svn blame' during output

Reported by: Peter Johansson Owned by: Jari Häkkinen
Priority: major Milestone: svndigest 0.x+
Component: core Version: trunk
Keywords: Cc:


related to #310 #329 #330 #334

Generating the output takes significant time, and the major reason is the blame output. Wring the blame information is fast but the issue is to retrieve that information from the server. Every call (svn blame) takes significant time and perhaps it would be possible to avoid some calls. ticket:330 is one proposal.

Here, I'd rather suggest that svn blame is only called to files for which is it needed. Either unmodified files are not re-written (same idea as in #334) or we try to cache the blame information somehow. Sounds like a gigantic cache file? Well, not necessarily. To write the blame output we need the rev, date, author, and content of each line. The line content could be parsed from the wc file (as a side effect svn:keywords would be expanded - ticket #310). The date and author could be retrieved from an SVNlog object given that we know rev. Furthermore, we don't need to store the rev for each line, but only store the rev of the first line of each chunk, i.e., saying if we don't say anything the rev is the same as for previous line.

Change History (0)

Note: See TracTickets for help on using tickets.