On Jun 15, 2010, at 4:25 PM, Stefan Sperling wrote:

On Tue, Jun 15, 2010 at 03:59:10PM -0400, Eiren Smith wrote:
On Jun 15, 2010, at 11:31 AM, Stefan Sperling wrote:

...
Can you still create dumpfiles containing the revisions that
did not get lost? If so, you could stitch together a new repository
and fill in the missing revisions manually (if you still know what
happened in those revisions, or can guess what happened).

See the svnbook section on rewriting history:
http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.filtering

...
Stefan

I don't know how to get past the first revision file that's missing.
When I do an svnadmin dump from the files, it stops at the first
missing revision file and won't go further.

You cannot dump the broken revisions.

Let me try to better explain what I meant by providing a small example:

Say only revision 10 was broken.

You'd first create a dump with revisions 1 to 9:
svnadmin dump -r1:9 repos > dump1

Then load that part into a new repository:
svnadmin create newrepos
svnadmin load newrepos < dump1

Then get a working copy from that repository, re-create any changes
made in r10, and commit.

Then you can go on with r11 and following:
svnadmin dump --incremental -r11 repos > dump2
svnadmin load newrepos < dump2

In this example only one revision was broken and skipped during dump.
You may have to do this multiple times since you lost more than one
revision.

Does anyone know how to get some SVN tool to ignore or handle those
missing revs/ files so I can perform some repo surgery and get it
working despite the seven missing revs files?

The commit you make to create r10 will create revision properties, but
their values won't match what you originally had before losing your disk. However, you can easily change the values by using the svadmin setrevprop command. There is no need to tweak any files in the repository filesystem
directly.

Hope this helps,
Stefan

Stefan,

Thank you very much for your clarification and your help so far.

I considered doing it the way you described. Unfortunately, most of the seven (7) missing revisions are for binary files (DLLs and DOCs) and so I can't reproduce their variations by hand. And since SVN is storing binary deltas, not entire files, for each commit, I believe I would have to reproduce them perfectly to get this particular solution to work.

Any ideas how to get around this or where to go from here?

Thanks,

/eiren

Reply via email to