[OpenAFS-devel] Which delta corresponds to 1.5.18?

Jeffrey Hutzelman jhutz@cmu.edu
Thu, 24 May 2007 17:31:55 -0400


On Thursday, May 10, 2007 04:53:36 PM -0500 Troy Benjegerdes 
<hozer@hozed.org> wrote:

>> > What I want to know is which of the these mercurial revisions (which
>> > most all of match up with a delta), will be equivalent to the
>> > Openafs_1_5_18 tag
>>
>> we don't track that information. worse (and it's my fault) a few times
>> deltas spanned a tag under the same delta name. we will probably go fix
>> the repository by hand at some point.
>
> Okay, I'll go hurt my brain looking at dates.
>
> But I would humbly request that you *not* fix the repo by hand.. yes
> it's ugly, but fixing it would be mucking with past history, and I'd
> rather have past commit history metadata be immutable.
>
> If you must change it, please fix it soon ;)

We're almost certainly going to have to change some duplicate delta names 
(including delats split across another commit) before we transition to svn. 
That will certainly involve changes to the deltas file, and it will likely 
also involve retroactively changing the delta names in the commit messages, 
because it is more useful for that information to reflect the correct delta 
names than for it to reflect whatever happened to be typed into the 
template when that change was committed.  At this point we can't promise 
when that will happen; there's little point in doing it until we decide 
exactly how much normalization we want to do and have tools in place to 
insure that more duplicate deltas don't get created.  The actual svn 
conversion is so far only something we've talked about; actually doing it 
will require some time and effort (and a lot of trial conversions) to get 
everything right.


A delta simply does correspond to a revision; it corresponds to a set of 
changes to some set of files.  There is no way to find "the delta" that 
corresponds to a specific release, because there is no such thing.  A 
release is a set of versions; a delta is a set of changes.  To find the set 
of files that correspond to a release, you need the CVS tags, which you 
should be importing as part of your conversion.

Also, if you are trying to import from CVS and want to maintain deltas a 
separate changesets, you should know that the CVS commit comments are for 
informational purposes only.  The authoritative source for information on 
which deltas contain which changes is the deltas file, which lists the old 
and new revision for every file affected by every delta.  Look in 
/afs/.grand.central.org/project/openafs/deltas

-- Jeff