On Mon, Sep 5, 2011 at 21:55, Stefan Sperling <s...@elego.de> wrote: > On Mon, Sep 05, 2011 at 07:38:51PM +0200, Bert Huijben wrote: >> > Also slightly OT (no FSFS-guruness here), but I think another >> > important use-case is being able to quickly answer the question "in >> > which revision was $URL@$REV deleted?" Or "give me the log of >> > $URL@$REV up and until it was deleted." >> >> svn_ra_get_deleted_rev(), which answers this question was introduced in 1.6. >> (But I don't know where it is used.) > > The guts of this are in svn_repos_deleted_rev(). > It runs a binary search across a specific revision range to find the > delete event. During this search it repeatedly scans history backwards > to find a related node and has to employ a complicated set of rules to > deal with copies and replacements. > > This could be simplified with successor support. Just scan successors > upwards from the start revision until either the end revision is reached > or the node disappears. The only complication are multiple copies of the > node. If more than one copy event is found they will all need to be > scanned upwards but only one will match the node we're looking for. > It looks like just performance optimization. We can do it later, after fixing tree-conflicts on moves.
-- Ivan Zhakov