And of course, soon after mailing, I found a workaround. I am not sure why it worked but anyways: The problem was caused by the branch being merged to trunk, but the contents of the "bad directory" was never merged. Then I thought it would be fine to filter out the bad directory itself, especially since there were no subtree mergeinfo on it. But it turned out that I could filter "baddir/badcontent1" and "baddir/badcontent2" and then the dumpfilter operation worked fine. I still don't know which revision the actual problem showed up, but it doesn't matter at this point :) I suppose there is something with the mergeinfo that I do not understand, but since I managed to get around it, no need to bother this list further. Sorry about the noise.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, December 9th, 2021 at 4:44 PM, Kristofer <gundoghu...@protonmail.com> wrote: > Hi, > > I'm doing some work on an old, bloated repo to get rid of some erroneous > commits to reduce the disk size. I've done this a few years ago with success, > but I'm currently getting into an error situation that I don't know how to > handle. > > I'm running something like > "svadmin dump | svndumpfilter <lots of exclude patterns and an exclude file>" > > This works fine until I get to > Committing revision 100000 as 100000 > svndumpfilter: E200003: Missing merge source path > 'project/branches/somebranch/idioticdir-i-will-filter'; try with > --skip-missing-merge-sources > > I do understand what the message means, but I cannot for the life of me > figure out which commit it is that is causing the problem. I do not want to > skip the merge source, I want to add the place it has been copied to into the > filterfile. > > Revision 100000 has nothing to do with that branch and neither has 100001, so > I'm guessing a that is a stderr/stdout type of mismatch in the printouts and > the error happens later than 100000. I first tried to see that nothing is > done on that specific branch that I am looking at and nope, that branch is > "finished" at this point. > Then I have tried to look 200 revisions into the future to see if I can find > a copy operation (basically do diff --summarize and grep for > "idioticdir-i-will-filter") and I can't find it there either). > Tried playing around with svnlook and I fail there as well, but I'm not > really used to this one and might be missing some nice option. I am running > out of ideas how to find the new place it is copied to and add it to my > filterfile. > Note: I cannot have a globbing filter on the name of the directory since that > appears as a valid part of the project in many other places. > > Any ideas why it is not printing both source and target of the copy, which is > what I have seen other times with "copy source error"? > Any ideas on how to find the commit that is eluding me will be greatly > appreciated. > > Note: using svn 1.14