emacs-devel
[Top][All Lists]
Advanced

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

Re: Can anyone correct the Bazaar reference "revno:111954.1.97"?


From: Joshua Judson Rosen
Subject: Re: Can anyone correct the Bazaar reference "revno:111954.1.97"?
Date: Sun, 02 Mar 2014 00:53:00 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Eli Zaretskii <address@hidden> writes:
>
> > From: Joshua Judson Rosen <address@hidden>
> > Cc: address@hidden (Eric S. Raymond),  address@hidden,  address@hidden
> > Date: Sat, 01 Mar 2014 16:35:35 -0500
> > 
> > Eli Zaretskii <address@hidden> writes:
> > >
> > > > From: address@hidden (Eric S. Raymond)
> > > > Date: Sat,  1 Mar 2014 12:13:37 -0500 (EST)
> > > > 
> > > > Here's the context:
> > > > 
> > > >     revno: 111954.1.4
> > > >     committer: K. Handa <address@hidden>
> > > >     branch nick: work
> > > >     timestamp: Fri 2013-03-22 00:18:44 +0900
> > > >     message:
> > > >       Fix a bug introduced by revno:111954.1.97
> > > > 
> > > > It doesn't show up in a bzr log --levels=0 listing, and the fact that
> > > > 97 > 4 suggests the reference is garbled.
> > >
> > > I think the correct reference is 111964.1.6.  It was merged in
> > > r112051.
> > 
> > ... and the "revno:111954.1.97" was a reference to trunk revno:112051.
>
> No, it isn't, IMO: they have different parents.

They actually don't have different parents--they have the same revid,
and really _are_ the same revision-object.

On Eric's spectrum between "philosophical" and "serious can of worms",
I'd say the severity of picking the wrong one of these two revisions
to associate with "the bug" in Handa's later commit-comment is
a lot closer to "philosophical" than to "serious can of worms"...,
but you can verify that Handa's "revno:111954.1.97" must have
referred to trunk revno 112051:

> > The fact that the commit whose comment is making that reference is itself
> > from a non-mainline branch suggests that the reference may actually
> > not be garbled, but rather be from an obsolete context.
> > 
> > The "111954.1.97" revno is actually correct relative to the "111954.1.4"
> > commit and Handa's "work branch" (where it would have been 111954+4=11958;
> > if you do "bzr branch trunk -r 111954.1.4 handa-work" and then do
> > "bzr log -r 111954.1.97 --show-ids handa-work", this starts to become 
> > clear).
>
> Unless you are saying that Handa-san used two different branches that
> both forked at trunk r111954

Well, yes: it looks like Handa was using both "trunk" and a separate
"work" branch, and merging back and forth between the two.

One of the two branches _was_ trunk itself.

The other branch ("work") forked off of trunk at 111954.

Trunk got 97+ additional revisions, and then trunk was merged into "work";
(trunk's 112051 was thus "work's 111954.1.97"; the merge itself was
"work 111955").

Handa made another change on "work" and committed it as "work 11956"
(I mention this only to avoid having gaps in the narration...).

Trunk got some more revisions and was again merged into "work"
at "work 111957".

Handa wrote "Fix bug introduced by revno:111954.1.97" into a commit
at "work 111958".

The same "do something in `work' and the merge trunk into `work'"
cycle was repeated a couple more times on "work", up to "work 111961".

Then "work" was merged back into trunk at trunk revno 112229
(where "work 111957" became "trunk 111954.1.3", "work 111958"
became "trunk 111954.1.4", etc.).

If you separate that "work" branch back out of trunk so that you can
look at the log "from work's perspective", then all of the numbers match
up with how Handa would have seen them when he wrote the comment that
tripped Eric up; you can go look the commit-objects up, get their
revids, and verify that "work 111954.1.97" is the same object as
"trunk 112051".

> I don't see how .1.97 can come before .1.4 on the same branch.

Of course--they weren't on the same branch.

It's illuminating to `pull the branches apart' and then compare,
like this:

    bzr branch trunk -r 111954.1.4 handa-work

... and then you can compare what the revnos were in Handa's "work"
branch vs. what they were/are in trunk, e.g.:

    bzr log -r 111954.1.97:handa-work trunk
    bzr log -r 112051:trunk handa-work

    bzr log --show-ids -r 111954.1.97 handa-work
    bzr log --show-ids -r 112051 trunk

(or possibly just graph the two perspectives with "bzr qlog" or
 "bzr vis --limit=..."; even if you just look at one perspective,
 it still shows the "merging back and forth" somewhat more clearly
 than "bzr log" does)

This is why I say that, when Handa wrote "111954.1.97" in his "work" branch,
the revision that he was referencing was in fact "trunk 112051".

Same node in the DAG, addressed differently by observers sitting at
different points in the DAG.

> In any case, what we need is references to revisions recorded in Emacs
> bzr repo, not in foreign private branches, I hope you agree.

Yes, of course :)

-- 
"'tis an ill wind that blows no minds."



reply via email to

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