tag handling inconsistent

Ernie Rael errael at raelity.com
Mon Nov 25 05:15:45 UTC 2019


On 11/24/2019 7:21 PM, Matthew Harbison wrote:
>> On Nov 24, 2019, at 7:58 PM, Ernie Rael <errael at raelity.com> wrote:
>>
>> (I didn't see a pointer to archive, so couldn't check if this has been discussed)
>>
>> I'm back, last time mq was the way to go, now I'm learning evolve, very cool.
>>
>> Before starting to play with evolve there was
>>
>>    changeset:   48:0c485dd33116
>>    summary:     Added tag HAS_ANCIENTS for changeset 73352c15295d
>>
>>    changeset:   47:73352c15295d
>>    tag:         HAS_ANCIENTS
>>    summary:     fixup pom for release to maven central.
>>
>> after my circuitous and playful actions there is
>>
>>    changeset:   53:fc6cf2380bab
>>    summary:     Added tag HAS_ANCIENTS for changeset 12f9f63bb1a3
>>
>>    changeset:   52:12f9f63bb1a3
>>    tag:         HAS_ANCIENT_NB_HACKS <<< tag/name my fixup and a manual
>>    name change >>>
> I can’t tell if this is a literal copy/paste, but maybe you have merge conflict markers in the tags file?  It’s smart enough to update the hashes in commit comments, which is why 53 references 52.

I have a repo pre-evolve, I can try to recreate this week if anybody 
wants. (I did edit some lines out to shorten, but the original 
changeset, referenced by the tag, was made obsolete when it was part of 
a fold. My thought is that at that point .hgtags was not updated, even 
though hash in commit comment was updated. It could be that evolve was 
not sure if the tag was still valid because of the fold (in this case it 
was OK because the tag was a boundary and the fold included it as the 
proper endpoint).

Ah, there's a long screen history. After the fold, there is

    changeset:   48:0c485dd33116
    instability: orphan
    summary:     Added tag HAS_ANCIENTS for changeset 73352c15295d

    changeset:   47:73352c15295d
    tag:         HAS_ANCIENTS
    obsolete:    rewritten using fold as 52:12f9f63bb1a3
    summary:     fixup pom for release to maven central.

The orphaned changeset is referencing the obsolete one. I then did

    $ hg evolve -r 48
    move:[48] Added tag HAS_ANCIENTS for changeset 73352c15295d
    atop:[52] Maven update center. Basically all defaults. Add to pom
    for maven central.

and got 53:52 as seen above, no merge issues AFAICT. Note: this modified 
the comment to reference 52. And we can see

    $ hg log -l8
    changeset:   53:fc6cf2380bab
    tag:         tip
    summary:     Added tag HAS_ANCIENTS for changeset 12f9f63bb1a3

    changeset:   52:12f9f63bb1a3
    parent:      45:18dd487d7435
    summary:     Maven update center. Basically all defaults. Add to pom
    for maven central.

    ...

    changeset:   48:0c485dd33116
    obsolete:    rewritten using evolve as 53:fc6cf2380bab
    summary:     Added tag HAS_ANCIENTS for changeset 73352c15295d

    changeset:   47:73352c15295d
    tag:         HAS_ANCIENTS
    obsolete:    rewritten using fold as 52:12f9f63bb1a3
    summary:     fixup pom for release to maven central.

The above indicates that .hgtags has not been updated. 47 has the 
"tag:". QED

BTW, I used "hg evolve -r 48" here because I was getting a "cannot solve 
instability" with 49. FYI, the instability was due to a file that had 
been removed, but somehow was back. I think I caused it...

In any event, it would be nice if there was some complaint or indication 
that the tag file was inconsistent, even "hg tags" didn't complain, it 
just ignored HAS_ANCIENTS once it's target became hidden (or maybe just 
obsolete).


>
> You might want to enable the experimental tag merge tool, so merging the tag file isn’t always manual.

I didn't see any reference to a tag merge tool on the extensions page.

-ernie

>
>>    parent:      45:18dd487d7435
>>    summary:     Maven update center. Basically all defaults. Add to pom
>>    for maven central.
>> Note that the summary of 53 references the 52 changeset after evolving, ok cool, that's the right spot
>>
>> Problem is that the .hgtags file was not updated. And "hg tags" didn't show anything for HAS_ANCIENTS though the name was still in the .hgtags file. (and I don't think 52 displayed a "tag:..." after evolution and before I manually fixed things up).
>>
>> -ernie
>>
>> _______________________________________________
>> Evolve-testers mailing list
>> Evolve-testers at mercurial-scm.org
>> https://www.mercurial-scm.org/mailman/listinfo/evolve-testers
>
>




More information about the Evolve-testers mailing list