Closed Bug 1173186 Opened 5 years ago Closed 5 years ago

Bogus "cannot push multiple heads to remote"

Categories

(MozReview Graveyard :: General, defect)

Production
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: nalexander, Assigned: gps)

Details

Attachments

(1 file)

I don't seem to be able to update https://reviewboard.mozilla.org/r/9877/.  I've rebased -- a lot -- and added several commits.  But I'm trying to push a single head (at least, my range has a single head).  Is it possible that hg is filling earlier commits and getting some extra heads?  (This is on top of lots of stuff I haven't pushed to review.)

Or am I misinterpreting something?

nalexander@chocho ~/M/gecko> hg log -G -r c094f8df::a8589cc2
@  changeset:   278569:a8589cc23435
|  tag:         tip
|  user:        Nick Alexander <nalexander@mozilla.com>
|  date:        Tue Jun 09 16:05:08 2015 -0700
|  summary:     Bug 1168407 - Load classes.dex files from more general Gecko URIs. r=rnewman
|
o  changeset:   278568:c2b3aed2b656
|  user:        Nick Alexander <nalexander@mozilla.com>
|  date:        Tue Jun 09 16:03:28 2015 -0700
|  summary:     Bug 1168407 - Pre: Add GeckoJarReader.extractStream. r=rnewman
|
o  changeset:   278567:8c0a455d0141
|  user:        Nick Alexander <nalexander@mozilla.com>
|  date:        Tue Jun 09 13:56:36 2015 -0700
|  summary:     Bug 1168407 - Move everything into JavaAddonInterfaceV1. r=rnewman
|
o  changeset:   278566:aaaf21f6f352
|  user:        Nick Alexander <nalexander@mozilla.com>
|  date:        Tue Jun 09 16:01:27 2015 -0700
|  summary:     Bug 1168407 - Review comment: Remove outdated test.
|
o  changeset:   278565:a57baa814abc
|  user:        Nick Alexander <nalexander@mozilla.com>
|  date:        Tue Jun 09 13:45:40 2015 -0700
|  summary:     Bug 1168407 - Review comments.
|
o  changeset:   278564:1c609119a089
|  user:        Nick Alexander <nalexander@mozilla.com>
|  date:        Tue Jun 09 13:07:07 2015 -0700
|  summary:     Bug 1168407 - Review comment: Guid -> GUID.
|
o  changeset:   278563:b56406aa4bdf
|  parent:      278546:c094f8df2e54
|  user:        Nick Alexander <nalexander@mozilla.com>
|  date:        Tue Jun 09 10:15:27 2015 -0700
|  summary:     Bug 1168407 - Review comment: add org.mozilla.gecko.javaaddons.
|
o  changeset:   278546:c094f8df2e54
|  bookmark:    nalexander/bug-1163082-android-distribution
|  user:        Nick Alexander <nalexander@mozilla.com>
|  date:        Tue Jun 02 07:47:20 2015 -0700
|  summary:     Bug 1168407 - Implement a bidirectional Java addon interface. r=kats,rnewman
|
nalexander@chocho ~/M/gecko> hg push -r c094f8df::a8589cc2 review
pushing to ssh://reviewboard-hg.mozilla.org/gecko
searching for changes
abort: cannot push multiple heads to remote; limit pushed revisions using the -r argument.

nalexander@chocho ~/M/gecko> hg log -r 'head() & c094f8df::a8589cc2'
changeset:   278569:a8589cc23435
tag:         tip
user:        Nick Alexander <nalexander@mozilla.com>
date:        Tue Jun 09 16:05:08 2015 -0700
summary:     Bug 1168407 - Load classes.dex files from more general Gecko URIs. r=rnewman
I am using evolve.
I can push the new commits (b56406aa::a8589cc2) -- but then I lose the original commits, with all its comments.  (Which these commits painstakingly address.)  If I wanted to fold everything down, I wouldn't have kept things separate.
Component: Extensions: MozReview → MozReview
Product: bugzilla.mozilla.org → Developer Services
The logic in the client extension is busted. The code for this is at the bottom of <vct>/hgext/reviewboard/client.py. Comment it out and push again as a workaround.
mozreview: properly detect multiple heads (bug 1173186)

The code for detecting heads was too greedy and pulled in children not
under review. The heads() revset will return all nodes from a set that
have no children within the set. This is exactly what we want to detect
multiple outgoing heads.

Some changesets in unrelated tests have changed because the hidden
changeid value is derived from the numeric revision and since we
introduced new commits, these later commits have different numeric
revisions and thus new changesets.
Attachment #8617713 - Flags: review?(smacleod)
Or you can pull down my fix and push with that applied :)
Assignee: nobody → gps
Status: NEW → ASSIGNED
Comment on attachment 8617713 [details]
MozReview Request: mozreview: properly detect multiple heads (bug 1173186)

https://reviewboard.mozilla.org/r/10693/#review9393

LGTM

::: hgext/reviewboard/client.py:904
(Diff revision 1)
>              # Mercurial treats all revisions to `hg push` as "heads" in the
>              # context of discovery. This is arguably a bug in Mercurial and may

So this doesn't affect the `heads()` revset here? I guess if it did all our tests would fail miserably...
Attachment #8617713 - Flags: review?(smacleod) → review+
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
This appears to have addressed my issue.  Thanks for improving this so quickly!
Product: Developer Services → MozReview
You need to log in before you can comment on or make changes to this bug.