On Thu, 2024-02-15 at 08:55 -0500, Nico Kadel-Garcia wrote: > [You don't often get email from nka...@gmail.com. Learn why this is > important at https://aka.ms/LearnAboutSenderIdentification ] > > On Wed, Feb 14, 2024 at 4:59 PM Sands, Daniel N. via users > <users@subversion.apache.org> wrote: > > > So lesson learned: Always make a pristine copy of the trunk before > > making ANY changes, so that there is a revision to fall back on > > where > > the two branches exactly match. > > That's what tags are for!
I'd heard of tagging but wasn't sure how to do it since I'm not responsible for the releases... but it looks like you tag by using the copy command. Even worse, the text under "complex tagging" shows copying your working directory to a new repo, which is what breaks the file move/rename detection. On a further note, my real repo has 260 moves due to source tree restructuring. There were 290 deletions. The current move detection algorithm is an O(n^2) search to find all moves, where it ends up querying the SVN server 260*290 times for merge info, per file conflict. Perhaps it would be a good cost savings to cache the merge info for each file during the search, so that there are O(n) trips to the server and everything else is resolved locally?