evolve merge requestshttps://foss.heptapod.net/mercurial/evolve/-/merge_requests2020-10-16T12:42:36Zhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/261Fix TypeError caused by the `ngtip` revset returning a node instead of a rev2020-10-16T12:42:36ZSietse BrouwerFix TypeError caused by the `ngtip` revset returning a node instead of a revMR moved to !266
See https://bz.mercurial-scm.org/show_bug.cgi?id=6405
## How to trigger the error
The error was triggered by running
hg log -r 'ngtip("default")'
in a repository with more than one changeset. When the flow of c...MR moved to !266
See https://bz.mercurial-scm.org/show_bug.cgi?id=6405
## How to trigger the error
The error was triggered by running
hg log -r 'ngtip("default")'
in a repository with more than one changeset. When the flow of control reached
`reachableroots2`, it raised
TypeError: an integer is required (got type bytes)
See the Bugzilla link above for a full traceback.
## Error cause investigation
That node hash (of type `bytes`) got added to the revlog earlier, by the topic extension's `revset.py:ngtipset` function (in evolve source `/hgext3rd/topic/revset.py`). The call stack from there proceeds thus:
Mercurial calls (in an example repo with two commits)
```
hgext_topic.revset.ngtipset(
repo,
subset=<fullreposet+ 0:2>,
x=('symbol', 'default')
)
```
which calls `hgext_topic.destination.ngtip`,
which calls `hgext_topic.topicmap.branchtip`,
which calls `mercurial.branchmap.branchtip`
which returns a node hash.
## Open questions for this Merge Request
Question is: At what point in the call stack above should the node hash be turned into a rev number? The current patch chooses `revset.py:ngtipset`.
- I'm certain `revset.ngtipset` should add a rev number to the changeset, not a node hash
- I'm not certain what callers of `destination.ngtip` expect it to return.Sietse BrouwerSietse Brouwerhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/260khanchi-gca refactoring2021-03-01T12:43:36ZSushil Khanchikhanchi-gca refactoringSushil KhanchiSushil Khanchihttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/259tests: {successorssets} now always return a list, affecting json output2020-10-12T15:09:21ZMartin von Zweigbergktests: {successorssets} now always return a list, affecting json outputThe upstream commit is not public yet.The upstream commit is not public yet.https://foss.heptapod.net/mercurial/evolve/-/merge_requests/244evolvecmd: don't set `branchmerge=True` while resolving phase divergence2020-09-19T16:25:31ZPulkit Goyalevolvecmd: don't set `branchmerge=True` while resolving phase divergenceWe are not going to create a merge commit, neither we are using two parents in
any way.
I am unable to see any reason why `branchmerge` should be passed as `True` here.
Passing branchmerge as True leads to side effect of having merge r...We are not going to create a merge commit, neither we are using two parents in
any way.
I am unable to see any reason why `branchmerge` should be passed as `True` here.
Passing branchmerge as True leads to side effect of having merge related commit
information stored in mergestate which leads us to having an active mergestate.Pierre-Yves DavidPierre-Yves Davidhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/240Topic/default/prune already obsolete2020-09-10T16:03:26ZMartin von ZweigbergkTopic/default/prune already obsoleteAnton ShestakovAnton Shestakovhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/238WIP: rewind improvements WIP2020-12-22T11:08:38ZAnton ShestakovWIP: rewind improvements WIPWIPWIPhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/236small fixes2020-09-10T01:05:40ZMatt Harbisonsmall fixesmoved to !239
moved to !239
Pierre-Yves DavidPierre-Yves Davidhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/234topic: fix the `topic(...)` revset to not select commits without a topic2020-09-03T12:56:32ZMatt Harbisontopic: fix the `topic(...)` revset to not select commits without a topicThe problem seems to be that the now removed __contains__ check would select any
revision indicated by a non-string argument. This led to `topic(head())`
returning a bunch of non-topic heads, though not as many as simply `head()`.
I'm ...The problem seems to be that the now removed __contains__ check would select any
revision indicated by a non-string argument. This led to `topic(head())`
returning a bunch of non-topic heads, though not as many as simply `head()`.
I'm likely misunderstanding something, because there appears to be a similar
__contains__ check for `branch()` in core. But maybe that's just harder to see
the issue, because branch names doesn't disappear like topics.Pierre-Yves DavidPierre-Yves Davidhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/231Topic/default/fold phases2020-09-10T17:09:24ZMartin von ZweigbergkTopic/default/fold phasesAnton ShestakovAnton Shestakovhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/227Topic/default/movedirstate2020-09-04T12:46:22ZMartin von ZweigbergkTopic/default/movedirstatePierre-Yves DavidPierre-Yves Davidhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/223WIP: split discard action weirdness2020-08-25T08:26:02ZAnton ShestakovWIP: split discard action weirdnesshttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/222compatibility with cmdutil.revert() without parents2020-08-25T08:05:21ZAnton Shestakovcompatibility with cmdutil.revert() without parentsNot sure about the last commit (split command), but the tests are passing.Not sure about the last commit (split command), but the tests are passing.Pierre-Yves DavidPierre-Yves Davidhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/221refactoring for public content divergence2020-09-19T18:44:11ZSushil Khanchirefactoring for public content divergencePierre-Yves DavidPierre-Yves Davidhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/220evolve: fix bug in public content divergence merging logic in continue case2020-08-31T08:07:04ZSushil Khanchievolve: fix bug in public content divergence merging logic in continue caseSushil KhanchiSushil Khanchihttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/212evolve: make sure we always pick min revision to solve content-div2021-05-20T07:48:55ZSushil Khanchievolve: make sure we always pick min revision to solve content-divSushil KhanchiSushil Khanchihttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/201evolve: add first version of extensive census of troubles and resolution2020-08-26T10:59:07ZSushil Khanchievolve: add first version of extensive census of troubles and resolutionPierre-Yves DavidPierre-Yves Davidhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/196topic: provide compatibility for the API changes of D86542020-07-18T21:04:13ZJörg Sonnenbergertopic: provide compatibility for the API changes of D8654Also affects serverminitopic, reaching over to topic.compat.Also affects serverminitopic, reaching over to topic.compat.https://foss.heptapod.net/mercurial/evolve/-/merge_requests/189Topic/default/khanchi fix divergence resolution case to rebase divergent cset...2021-03-01T13:32:47ZSushil KhanchiTopic/default/khanchi fix divergence resolution case to rebase divergent cset backwardSushil KhanchiSushil Khanchihttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/186Topic/default/khanchi tests content div 22020-07-09T21:35:38ZSushil KhanchiTopic/default/khanchi tests content div 2Pierre-Yves DavidPierre-Yves Davidhttps://foss.heptapod.net/mercurial/evolve/-/merge_requests/182topic: don't fall back to pushing everything with `-t $missing_topic`2020-08-08T05:42:23ZMatt Harbisontopic: don't fall back to pushing everything with `-t $missing_topic`It looks like there's a grey area between topics and obsolete (since obsolete
revs needed to be explicitly excluded), so maybe the message isn't always
accurate. But this message should be good enough since that same explicit
exclusion ...It looks like there's a grey area between topics and obsolete (since obsolete
revs needed to be explicitly excluded), so maybe the message isn't always
accurate. But this message should be good enough since that same explicit
exclusion prevents pushing obsolete revisions.
--HG--
branch : stable