Open Bug 1731868 Opened 4 years ago

This rebase will cause divergences from: <revision> (yet a manual "hg evolve --any" succeeded)

Categories

(Conduit :: moz-phab, defect)

defect

Tracking

(Not tracked)

People

(Reporter: mhentges, Unassigned)

Details

Summary: moz-phab --no-wip encountered an error, disrupting the local tree in a potentially confusing way.


I'm submitting a subset of my local stack, it looks like this:

~/d/firefox % hg show work
o  5c45136 lockfile double-dev :)))
o  9eb88bd lockfile dev
o  2409f00 Bug 1724274: Move virtualenv dependency manifests to python/virtualenvs
o  ee7dd4a Bug 1723237: Move low-hanging fruit commands to centralized Python dep system
o  d3830c9 Bug 1731838: Add ad-hoc pip install restrictions for Mach/system Python
o  3639d03 Bug 1717104: Activate virtualenv before running command
o  97dee8b Bug 1724279: Remove `zstandard` from Mach virtualenv
o  f08292b Bug 1717051: Attempt to reinstall optional dependencies during bootstrap
o  19fe841 Bug 1717051: Automatically create and activate Mach virtualenv
o  6b54f3c Bug 1717051: Remove "install-moz-phab" from nativecmds
o  6f52156 Bug 1731836: Simplify `./mach python` arguments
o  2cccde3 Bug 1730712: symbols_archive.py should use zstandard directly
o  fc98c81 Bug 1727819: Guard against unsupported virtualenv activations
o  26c6070 Bug 1727819: Remove redundant virtualenv activation for docs
o  3fa1073 Bug 1717051: Update `pkg_resources`, `sys.executable` when activating venvs
@  a07bb22 Bug 1730712: Command virtualenvs should include Mach's import scope.
o  c26302d Bug 1717051: Always populate Mach pths
o  afa6c3b Bug 1723031: Associate `perftest-test` command with `python-test` venv
o  0a7189d Bug 1723031: [WILL SQUASH] Remove `pytest` + deps from `third_party`
o  670f0cf Bug 1723031: Remove pytest from vendored packages
o  e83c563 Bug 1723031: Set zstandard requirement lower bound to 0.11.1
o  b673fb9 Bug 1723031: Update Jinja2 pin to be compatible with `glean-parser`
o  efce257 Bug 1723031: In CI, assert Mach pypi package deps using system Python
o  f200042 Bug 1730712: Use local vendored `certifi` instead of WPT's
o  2d43b00 Bug 1724279: Mark `zstandard` as an optional Mach dependency
o  bc2d89e Bug 1723031: Allow flexible dependency-specification in the Mach venv
o  9cfbf1f Bug 1723031: Vendors `packaging`, `pyparsing` library
o  6efa442 Bug 1712151: Add test to verify virtualenv compatibility
o  904abfe Bug 1717051: Reuse "requirements" logic in mach_initialize
o  a9bd3aa Bug 1731145: [WILL_SQUASH] Add no-longer-ignored `*.egg-info` dirs
o  852c316 Bug 1731145: Don't ignore vendored package `*.egg-info` directories
| o  401be70 Bug 1731524: Updating ANGLE requires a clobber
|/
o  9013de5 (central) Bug 1731435 - Fix. r=rhunt
: o  8fa6233 Bug 1654081: Include hashed email address in telemetry
:/
o  9d30cff Backed out 9 changesets (bug 1700623) for causing bc failures in browser_history_menu.js a=backout

I ran moz-phab --no-wip, and here's the output:

Submitting 16 commits for review
(    New) 594134:a07bb22fbc30 Bug 1730712: Command virtualenvs should include Mach's import scope.
!! Missing reviewers
(D120402) 594133:c26302dfc04f Bug 1717051: Always populate Mach pths
!! Missing reviewers
(    New) 594132:afa6c3b0f028 Bug 1723031: Associate `perftest-test` command with `python-test` venv
!! Missing reviewers
(    New) 594131:0a7189dc4298 Bug 1723031: [WILL SQUASH] Remove `pytest` + deps from `third_party`
!! Missing reviewers
(    New) 594130:670f0cf6abc1 Bug 1723031: Remove pytest from vendored packages
!! Missing reviewers
(    New) 594129:e83c5633ad3a Bug 1723031: Set zstandard requirement lower bound to 0.11.1
!! Missing reviewers
(    New) 594128:b673fb9c2fb3 Bug 1723031: Update Jinja2 pin to be compatible with `glean-parser`
!! Missing reviewers
(D122890) 594127:efce2572c0c2 Bug 1723031: In CI, assert Mach pypi package deps using system Python
!! Missing reviewers
(    New) 594126:f200042d3e80 Bug 1730712: Use local vendored `certifi` instead of WPT's
!! Missing reviewers
(    New) 594125:2d43b00e92e0 Bug 1724279: Mark `zstandard` as an optional Mach dependency
!! Missing reviewers
(D122889) 594124:bc2d89ea2208 Bug 1723031: Allow flexible dependency-specification in the Mach venv
!! Missing reviewers
(D122888) 594123:9cfbf1fad485 Bug 1723031: Vendors `packaging`, `pyparsing` library
!! Missing reviewers
(D122900) 594122:6efa44218dd7 Bug 1712151: Add test to verify virtualenv compatibility
!! Missing reviewers
(    New) 594121:904abfe3355e Bug 1717051: Reuse "requirements" logic in mach_initialize
!! Missing reviewers
(D125910) 594120:a9bd3aa25c7b Bug 1731145: [WILL_SQUASH] Add no-longer-ignored `*.egg-info` dirs
!! Missing reviewers
(D125909) 594119:852c316cbb5a Bug 1731145: Don't ignore vendored package `*.egg-info` directories
!! Missing reviewers
Automatically submitting (as per submit.auto_submit in ~/.moz-phab-config)

Updating revision D125909:
594119:852c316cbb5a Bug 1731145: Don't ignore vendored package `*.egg-info` directories

Updating revision D125910:
594120:a9bd3aa25c7b Bug 1731145: [WILL_SQUASH] Add no-longer-ignored `*.egg-info` dirs

Creating new revision:
594121:904abfe3355e Bug 1717051: Reuse "requirements" logic in mach_initialize

Updating revision D122900:
594122:6efa44218dd7 Bug 1712151: Add test to verify virtualenv compatibility

Updating revision D122888:
594123:9cfbf1fad485 Bug 1723031: Vendors `packaging`, `pyparsing` library

Updating revision D122889:
594124:bc2d89ea2208 Bug 1723031: Allow flexible dependency-specification in the Mach venv

Creating new revision:
594125:2d43b00e92e0 Bug 1724279: Mark `zstandard` as an optional Mach dependency

Creating new revision:
594126:f200042d3e80 Bug 1730712: Use local vendored `certifi` instead of WPT's

Updating revision D122890:
594127:efce2572c0c2 Bug 1723031: In CI, assert Mach pypi package deps using system Python

Creating new revision:
594128:b673fb9c2fb3 Bug 1723031: Update Jinja2 pin to be compatible with `glean-parser`

Creating new revision:
594129:e83c5633ad3a Bug 1723031: Set zstandard requirement lower bound to 0.11.1

Creating new revision:
594130:670f0cf6abc1 Bug 1723031: Remove pytest from vendored packages

Creating new revision:
594131:0a7189dc4298 Bug 1723031: [WILL SQUASH] Remove `pytest` + deps from `third_party`

Creating new revision:
594132:afa6c3b0f028 Bug 1723031: Associate `perftest-test` command with `python-test` venv

Updating revision D120402:
594133:c26302dfc04f Bug 1717051: Always populate Mach pths

Creating new revision:
594134:a07bb22fbc30 Bug 1730712: Command virtualenvs should include Mach's import scope.
rebasing 594149:3fa1073b7e1a "Bug 1717051: Update `pkg_resources`, `sys.executable` when activating venvs"
rebasing 594163:26c607095308 "Bug 1727819: Remove redundant virtualenv activation for docs"
rebasing 594164:fc98c8157759 "Bug 1727819: Guard against unsupported virtualenv activations"
rebasing 594165:2cccde36aba8 "Bug 1730712: symbols_archive.py should use zstandard directly"
rebasing 594177:6f52156ce057 "Bug 1731836: Simplify `./mach python` arguments"
rebasing 594178:6b54f3c00b35 "Bug 1717051: Remove "install-moz-phab" from nativecmds"
rebasing 594179:19fe84174860 "Bug 1717051: Automatically create and activate Mach virtualenv"
rebasing 594180:f08292b88408 "Bug 1717051: Attempt to reinstall optional dependencies during bootstrap"
rebasing 594181:97dee8b4f050 "Bug 1724279: Remove `zstandard` from Mach virtualenv"
rebasing 594182:3639d03e6820 "Bug 1717104: Activate virtualenv before running command"
rebasing 594183:d3830c93d909 "Bug 1731838: Add ad-hoc pip install restrictions for Mach/system Python"
rebasing 594184:ee7dd4a7d945 "Bug 1723237: Move low-hanging fruit commands to centralized Python dep system"
rebasing 594185:2409f009828b "Bug 1724274: Move virtualenv dependency manifests to python/virtualenvs"
rebasing 594186:9eb88bd7b599 "lockfile dev"
rebasing 594122:6efa44218dd7 "Bug 1712151: Add test to verify virtualenv compatibility"
rebasing 594123:9cfbf1fad485 "Bug 1723031: Vendors `packaging`, `pyparsing` library"
rebasing 594124:bc2d89ea2208 "Bug 1723031: Allow flexible dependency-specification in the Mach venv"
note: not rebasing 594125:2d43b00e92e0 "Bug 1724279: Mark `zstandard` as an optional Mach dependency" and its descendants as this would cause divergence
note: not rebasing 594126:f200042d3e80 "Bug 1730712: Use local vendored `certifi` instead of WPT's" and its descendants as this would cause divergence
note: not rebasing 594128:b673fb9c2fb3 "Bug 1723031: Update Jinja2 pin to be compatible with `glean-parser`" and its descendants as this would cause divergence
note: not rebasing 594129:e83c5633ad3a "Bug 1723031: Set zstandard requirement lower bound to 0.11.1" and its descendants as this would cause divergence
note: not rebasing 594130:670f0cf6abc1 "Bug 1723031: Remove pytest from vendored packages" and its descendants as this would cause divergence
note: not rebasing 594131:0a7189dc4298 "Bug 1723031: [WILL SQUASH] Remove `pytest` + deps from `third_party`" and its descendants as this would cause divergence
note: not rebasing 594132:afa6c3b0f028 "Bug 1723031: Associate `perftest-test` command with `python-test` venv" and its descendants as this would cause divergence
abort: this rebase will cause divergences from: 9cfbf1fad485,bc2d89ea2208,2d43b00e92e0
(to force the rebase please set experimental.evolution.allowdivergence=True)
CommandError: command 'rebase' failed to complete successfully
Run moz-phab again with '--trace' to show debugging output

moz-phab had to edit some commit messages (adding the Differential Revision: <link> line, I bet). So, that's probably why it had to rebase, but it's strange that it failed.
Doing hg show work here reveals a confusing-looking tree:

o  afaefe4 Bug 1724279: Mark `zstandard` as an optional Mach dependency
o  a0ca958 Bug 1723031: Allow flexible dependency-specification in the Mach venv
o  c5cf3f4 Bug 1723031: Vendors `packaging`, `pyparsing` library
o  09cffac Bug 1712151: Add test to verify virtualenv compatibility
o  5c1b470 Bug 1717051: Reuse "requirements" logic in mach_initialize
| *  39fbda1 lockfile double-dev :)))
| *  6410d42 lockfile dev
| *  6d4b460 Bug 1724274: Move virtualenv dependency manifests to python/virtualenvs
| *  c1c35cf Bug 1723237: Move low-hanging fruit commands to centralized Python dep system
| *  74ecea5 Bug 1731838: Add ad-hoc pip install restrictions for Mach/system Python
| *  ff875db Bug 1717104: Activate virtualenv before running command
| *  5d08525 Bug 1724279: Remove `zstandard` from Mach virtualenv
| *  2746d41 Bug 1717051: Attempt to reinstall optional dependencies during bootstrap
| *  1ddfb5b Bug 1717051: Automatically create and activate Mach virtualenv
| *  866b0b1 Bug 1717051: Remove "install-moz-phab" from nativecmds
| *  103211a Bug 1731836: Simplify `./mach python` arguments
| *  b143474 Bug 1730712: symbols_archive.py should use zstandard directly
| *  32fb9ae Bug 1727819: Guard against unsupported virtualenv activations
| *  a5bafec Bug 1727819: Remove redundant virtualenv activation for docs
| *  4f915e4 Bug 1717051: Update `pkg_resources`, `sys.executable` when activating venvs
| @  c268ce0 Bug 1730712: Command virtualenvs should include Mach's import scope.
| *  c26302d Bug 1717051: Always populate Mach pths
| x  afa6c3b Bug 1723031: Associate `perftest-test` command with `python-test` venv
| | *  ce07875 Bug 1723031: Associate `perftest-test` command with `python-test` venv
| |/
| x  0a7189d Bug 1723031: [WILL SQUASH] Remove `pytest` + deps from `third_party`
| | *  12f4f41 Bug 1723031: [WILL SQUASH] Remove `pytest` + deps from `third_party`
| |/
| x  670f0cf Bug 1723031: Remove pytest from vendored packages
| | *  b65fe33 Bug 1723031: Remove pytest from vendored packages
| |/
| x  e83c563 Bug 1723031: Set zstandard requirement lower bound to 0.11.1
| | *  77d66f6 Bug 1723031: Set zstandard requirement lower bound to 0.11.1
| |/
| x  b673fb9 Bug 1723031: Update Jinja2 pin to be compatible with `glean-parser`
| | *  ebc8911 Bug 1723031: Update Jinja2 pin to be compatible with `glean-parser`
| |/
| *  efce257 Bug 1723031: In CI, assert Mach pypi package deps using system Python
| x  f200042 Bug 1730712: Use local vendored `certifi` instead of WPT's
| | *  b97b286 Bug 1730712: Use local vendored `certifi` instead of WPT's
| |/
| x  2d43b00 Bug 1724279: Mark `zstandard` as an optional Mach dependency
|/
o  a9bd3aa Bug 1731145: [WILL_SQUASH] Add no-longer-ignored `*.egg-info` dirs
o  852c316 Bug 1731145: Don't ignore vendored package `*.egg-info` directories
| o  401be70 Bug 1731524: Updating ANGLE requires a clobber
|/
o  9013de5 (central) Bug 1731435 - Fix. r=rhunt
: o  8fa6233 Bug 1654081: Include hashed email address in telemetry
:/
o  9d30cff Backed out 9 changesets (bug 1700623) for causing bc failures in browser_history_menu.js a=backout

To the average developer, this may seem confusing for how to fix.
Fortunately, there is a workaround: hg evolve --any resolved the tree and put it back to normal.


My main question associated with this bug is: why did rebasing fail because it would "cause divergence", yet hg evolve --any automatically resolved the conflicts without divergence when run by hand?

You need to log in before you can comment on or make changes to this bug.