emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bzr repository ready?


From: Karl Fogel
Subject: Re: bzr repository ready?
Date: Fri, 20 Nov 2009 14:33:00 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:
>> * Spot-check a change.  [PASS]
>
> What does it mean to "spot-check a change"?  Also, what are the
> criteria for judging these "spot-checks", according to which you say
> "PASS"?

It means I randomly picked a change in CVS and confirmed that the same
change exists in Bazaar, with the same data and metadata.

> Would it be a good idea to show a few lines?  Or are you only
> interested in the fact that the "Update from HEAD" log was caught?
> How about the list of files -- did you verify that it is identical to
> the original one?

Nope.  In all the other spot-checks I did, I verified every file and
directory.  But in this one, it was too big to do manually, and I didn't
bother to script that it was the _exact_ same set of files.  Instead, I
just spot-checked the list of files too, from both directions (i.e.,
spot-check a few from the CVS side to make sure they were in Bzr, and a
few from the Bzr side to make sure they were in CVS).  Then I moved on
to other checks.  (After all, in theory, a full and complete automated
check of the conversion is equivalent to writing the converter in the
first place; anything less is simply deciding where to compromise :-) .)

>>   These three changes in CVS...
>> 
>>     2002-10-29 04:45  lektu
>>      * nt/ChangeLog (1.74):
>>      Added "(tiny change)" marker.
>>     
>>     2002-10-29 04:41  lektu
>>      * lisp/ChangeLog (EMACS_21_1_RC.237):
>>      Add "(tiny change)" markers.
>>     
>>     2002-10-29 04:38  lektu
>>      * lisp/ChangeLog (1.4464):
>>      Added "(tiny change)" marker.
>>     
>>    ...match these *two* changes in Bazaar:
>> 
>>    (on the EMACS_21_1_RC branch):
>>       ------------------------------------------------------------
>>       revno: 40805
>>       committer: Juanma Barranquero <address@hidden>
>>       timestamp: Tue 2002-10-29 09:41:08 +0000
>>       message:
>>         Add "(tiny change)" markers.
>>       modified:
>>         lisp/ChangeLog
>>       
>>    (on the trunk branch):
>>       ------------------------------------------------------------
>>       revno: 48050
>>       committer: Juanma Barranquero <address@hidden>
>>       timestamp: Tue 2002-10-29 09:45:19 +0000
>>       message:
>>         Added "(tiny change)" marker.
>>       modified:
>>         lisp/ChangeLog
>>         nt/ChangeLog
>
> So what does it mean -- that the conversion tries to second-guess
> filesets based on log entries?

Yes.  It's not "second-guessing", though, it's "first-guessing", because
CVS doesn't record atomic changesets, even though the people committing
in CVS intend atomic changesets (i.e., everything committed in a given
"cvs commit" command).  

For all version control systems FOO that support atomic changesets
(which is every system written since CVS, and many written before CVS),
all CVS->FOO converters must try to rederive the intended changesets
from CVS's almost-but-not-quite-good-enough metadata.  All the
converters use roughly the same method for doing so, but due to various
tweaks and options in the algorithm, they sometimes produce different
results.  Usually those differences are not important in practice.

-Karl




reply via email to

[Prev in Thread] Current Thread [Next in Thread]