[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: missing db/revs, db/revprops and db/current files?

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Sat, 20 Sep 2008 11:59:50 +0300 (Jerusalem Daylight Time)

Ryan, I think you are confusing two different meanings of the term
'revision'.

In skip-deltas, the term 'revision' means:

    For the purposes of this document, we will pretend that revisions of a
    file are numbered starting from 0. In reality, this number
    corresponds to the "change count" field of a node-revision in each
    filesystem back end.

In the Subversion UI and API, the term 'revision' means[1]:

    The number of commits to a repository.

I'm not an FS expert, but as far as I know these two meanings are
entirely unrelated.

Daniel

[1] Not entirely accurate, but close enough for the purpose of this
discussion.

Ryan Schmidt wrote on Fri, 19 Sep 2008 at 13:33 -0500:
>
> On Sep 18, 2008, at 12:58 PM, Ritenour, Russell C. (Contr) wrote:
>
> The files in db/revs are the revision data. These are stored as a difference
> against a previous revision (though not necessarily the immediately previous
> revision; see the skip-deltas algorithm [1]). According to skip-deltas,
> revision 19 is based on 18, so a missing revision 18 can cause problems for
> revision 19. Revision 48 is based on revision 32, so missing revisions 33-47
> won't impact that. But if other higher revisions are missing, there may be
> extant revisions which will be broken because of this. You'll have to try
> and see.
>
> The files in db/revprops are the properties for the corresponding revision.
> These aren't stored as diffs but as complete files. If you're missing the
> revprop file corresponding to a rev file that you do still have, you may
> need to reconstruct the revprop file before you can recover the remaining
> revisions. It shouldn't be too hard to create a valid revprop file, since
> it's a fairly readable text format. You'll just have to make up the date,
> author and log message. You could use an author and log message like
> "recovered" for example, and either try to pick a date that makes
> chronological sense given the remaining revisions or just set it to some
> random date in the past, or even today's date. Using non-chronological
> revisions will mean that you cannot use the '-r{date}' or
> '-r{fromdate}:{todate}' revision syntax to find revisions, so consider
> whether that's important to you.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-09-20 11:00:19 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.