Closed
Bug 1178957
Opened 9 years ago
Closed 9 years ago
Unable to push unrelated changesets for review
Categories
(MozReview Graveyard :: General, defect, P1)
MozReview Graveyard
General
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: gps, Assigned: gps)
Details
Attachments
(2 files)
I have a repo history like the following: Z | Y | X | @ If my working copy is on @ and I do `hg push -r Z review`, I get the following: pushing to ssh://reviewboard-hg.mozilla.org/autoreview searching for appropriate review repository redirecting push to ssh://reviewboard-hg.mozilla.org/version-control-tools/ (adding commit id to 1 changesets) transaction abort! rollback completed Traceback (most recent call last): File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/dispatch.py", line 160, in _runcatch return _dispatch(req) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/dispatch.py", line 885, in _dispatch cmdpats, cmdoptions) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/dispatch.py", line 646, in runcommand ret = _runcommand(ui, options, cmd, d) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/extensions.py", line 168, in closure return func(*(args + a), **kw) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/hgext/pager.py", line 160, in pagecmd return orig(ui, options, cmd, cmdfunc) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/extensions.py", line 168, in closure return func(*(args + a), **kw) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/hgext/color.py", line 521, in colorcmd return orig(ui_, opts, cmd, cmdfunc) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/dispatch.py", line 976, in _runcommand return checkargs() File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/dispatch.py", line 947, in checkargs return cmdfunc() File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/dispatch.py", line 882, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **cmdoptions) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/util.py", line 716, in check return func(*args, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/extensions.py", line 168, in closure return func(*(args + a), **kw) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/util.py", line 716, in check return func(*args, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/hgext/reviewboard/client.py", line 100, in pushcommand return orig(ui, repo, *args, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/util.py", line 716, in check return func(*args, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/extensions.py", line 168, in closure return func(*(args + a), **kw) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/util.py", line 716, in check return func(*args, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/hgext/mq.py", line 3505, in mqcommand return orig(ui, repo, *args, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/util.py", line 716, in check return func(*args, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/extensions.py", line 168, in closure return func(*(args + a), **kw) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/util.py", line 716, in check return func(*args, **kwargs) File "/Users/gps/src/hgext/prompt/prompt.py", line 442, in _push_with_cache res = orig(ui, repo, *args, **opts) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/util.py", line 716, in check return func(*args, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/extensions.py", line 168, in closure return func(*(args + a), **kw) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/util.py", line 716, in check return func(*args, **kwargs) File "/Users/gps/src/hgext/mutable-history/hgext/evolve.py", line 714, in warnobserrors ret = orig(ui, repo, *args, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/util.py", line 716, in check return func(*args, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/commands.py", line 5228, in push bookmarks=opts.get('bookmark', ())) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/extensions.py", line 168, in closure return func(*(args + a), **kw) File "/Users/gps/src/hgcustom/version-control-tools/hgext/reviewboard/client.py", line 162, in wrappedpush newbranch=False, **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/hgext/reviewboard/client.py", line 188, in wrappedpush **kwargs) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/extensions.py", line 168, in closure return func(*(args + a), **kw) File "/Users/gps/src/hgext/mutable-history/hgext/evolve.py", line 737, in push return orig(repo, *args, **opts) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/exchange.py", line 233, in push _pushdiscovery(pushop) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/extensions.py", line 168, in closure return func(*(args + a), **kw) File "/Users/gps/src/hgcustom/version-control-tools/hgext/reviewboard/client.py", line 296, in wrappedpushdiscovery backuptopic='addcommitid') File "/Users/gps/src/hgcustom/version-control-tools/pylib/mozhg/mozhg/rewrite.py", line 280, in replacechangesets obsolete.createmarkers(repo, markers) File "/Users/gps/src/hgcustom/version-control-tools/venv/lib/python2.7/site-packages/mercurial/obsolete.py", line 1215, in createmarkers % prec) Abort: cannot obsolete immutable changeset: 6318a3c3a794 abort: cannot obsolete immutable changeset: 6318a3c3a794 Somehow we are attempting to rewrite @, which Mercurial is fortunately not letting us do. Kip reported a similar issue over IRC last week. I'm optimistic this is identical. This bug is currently preventing me from pushing some changesets for review because it makes backwards incompatible changes to the client. So assigning to myself to fix.
Assignee | ||
Comment 1•9 years ago
|
||
reviewboard: don't drop revs argument when redirecting (bug 1178957); r?dminor This is a stupid bug. I can't believe more people haven't encountered this.
Attachment #8627860 -
Flags: review?(dminor)
Assignee | ||
Comment 2•9 years ago
|
||
It also appears that `hg push -r <public changeset>` results in badness. I can't believe we didn't have a check for that. Yay more bugs.
Assignee | ||
Comment 3•9 years ago
|
||
Comment on attachment 8627860 [details] MozReview Request: reviewboard: don't drop revs argument when redirecting (bug 1178957); r?smacleod reviewboard: don't drop revs argument when redirecting (bug 1178957); r?smacleod This is a stupid bug. I can't believe more people haven't encountered this.
Attachment #8627860 -
Attachment description: MozReview Request: reviewboard: don't drop revs argument when redirecting (bug 1178957); r?dminor → MozReview Request: reviewboard: don't drop revs argument when redirecting (bug 1178957); r?smacleod
Attachment #8627860 -
Flags: review?(dminor) → review?(smacleod)
Assignee | ||
Comment 4•9 years ago
|
||
reviewboard: prevent reviews with public changesets (bug 1178957); r?smacleod Before this commit, if the working copy was public or the user explicitly requested review of public changesets, we might have attempted to review public changesets. Coupled with the changes to rewrite commits during push, and Mercurial would abort when trying to mutate public changesets. This commit does 2 things. First, it prints a message for each public changeset that is dropped from the request to review. Second, it aborts when there are no non-public changesets left for review and a review cannot be conducted. Users now have a better understanding of what is going on under the covers and they won't get a weird error when trying to push public changesets.
Attachment #8628018 -
Flags: review?(smacleod)
Comment 5•9 years ago
|
||
Comment on attachment 8627860 [details] MozReview Request: reviewboard: don't drop revs argument when redirecting (bug 1178957); r?smacleod https://reviewboard.mozilla.org/r/12297/#review11213 Ship It!
Attachment #8627860 -
Flags: review?(smacleod) → review+
Comment 6•9 years ago
|
||
Comment on attachment 8628018 [details] MozReview Request: reviewboard: prevent reviews with public changesets (bug 1178957); r?smacleod https://reviewboard.mozilla.org/r/12351/#review11221 Ship It!
Attachment #8628018 -
Flags: review?(smacleod) → review+
Assignee | ||
Comment 7•9 years ago
|
||
url: https://hg.mozilla.org/hgcustom/version-control-tools/rev/cd3c4b18f6a2a83d5fc4d4cc88e8486107612697 changeset: cd3c4b18f6a2a83d5fc4d4cc88e8486107612697 user: Gregory Szorc <gps@mozilla.com> date: Mon Jul 06 15:37:56 2015 -0700 description: reviewboard: don't drop revs argument when redirecting (bug 1178957); r=smacleod This is a stupid bug. I can't believe more people haven't encountered this. url: https://hg.mozilla.org/hgcustom/version-control-tools/rev/35c5204a721da9f1a799bc4883b2ab777d05bbd7 changeset: 35c5204a721da9f1a799bc4883b2ab777d05bbd7 user: Gregory Szorc <gps@mozilla.com> date: Mon Jul 06 15:38:13 2015 -0700 description: reviewboard: prevent reviews with public changesets (bug 1178957); r=smacleod Before this commit, if the working copy was public or the user explicitly requested review of public changesets, we might have attempted to review public changesets. Coupled with the changes to rewrite commits during push, and Mercurial would abort when trying to mutate public changesets. This commit does 2 things. First, it prints a message for each public changeset that is dropped from the request to review. Second, it aborts when there are no non-public changesets left for review and a review cannot be conducted. Users now have a better understanding of what is going on under the covers and they won't get a weird error when trying to push public changesets.
Assignee | ||
Updated•9 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Updated•8 years ago
|
Product: Developer Services → MozReview
You need to log in
before you can comment on or make changes to this bug.
Description
•