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

Reply via email to