bzexport fails to obsolete a previous version of the patch being attached

RESOLVED DUPLICATE of bug 1033394

Status

RESOLVED DUPLICATE of bug 1033394
4 years ago
4 years ago

People

(Reporter: jfkthame, Unassigned)

Tracking

Details

(Reporter)

Description

4 years ago
I've had several cases in the past few days where I've used bzexport to upload a newer version of a previously-exported patch that had been attached and marked for review, and the operation has ended with an error message as below:

$ hg bzexport --no-take-bug -c "This is the version of the test I really meant to attach; and the correct try run is https://tbpl.mozilla.org/?tree=Try&rev=6c37a39541ca. Sorry about the churn." -r :xidorn ruby-justify-test
Requesting review from quanxunzhen@gmail.com
ruby-justify-test uploaded as https://bugzilla.mozilla.org/attachment.cgi?id=8567883&action=edit
Error: There is no flag with the id '1105779'.
abort: Could not update attachment 8567875 [details] [diff] [review]: HTTP Error 400: Bad Request

Note that the new patch *WAS* successfully uploaded and marked for review; the failure only relates to obsoleting the older version of the patch. I had to manually mark the old patch obsolete, once I realized what had happened here.

This has worked for me in the past; I'm not sure when it started failing, but it's been at least a few days.
Are you using mq? Can you provide STR with local Mercurial commands?

If you are feeling adventurous, you can have a go at creating a test. See https://hg.mozilla.org/hgcustom/version-control-tools/file/b466c86050b5/hgext/bzexport/tests/test-patch-create.t for inspiration.
Flags: needinfo?(jfkthame)
(Reporter)

Comment 2

4 years ago
Yes, I'm using mq.

I'm not sure I understand what STR you're looking for; I expect I could probably reproduce this by updating a patch on b.m.o again, but I'm reluctant to cause bugzilla churn. The sequence that gave me this error earlier today was:

(1) Create a patch in mq; set commit message (including bug number) with hg qref:
$ hg qref -m "Bug 1135361 - Reftest for ruby positioning in justified vertical text."

(2) Export and mark for review:
$ hg bzexport --no-take-bug -r :xidorn ruby-justify-test

(3) Edit files, qrefresh the patch, qpop and qpush various patches, qref again...

(4) Export patch again to replace the previously-uploaded version:
$ hg bzexport --no-take-bug -c "This is the version of the test I really meant to attach; and the correct try run is https://tbpl.mozilla.org/?tree=Try&rev=6c37a39541ca. Sorry about the churn." -r :xidorn ruby-justify-test

And that's what failed, as per comment 0.
Flags: needinfo?(jfkthame)
You have an out of date bzexport.

The legacy bzapi server (which your version of bzexport is using) now redirects to the new bzapi compatibility layer, and this shim has a bug (bug 1105433). Newer bzexport works around this problem by switching to the native REST API instead of bzapi.

Use |mach mercurial-setup| to keep your extensions up to date - or manually update the version-control-tools checkout :-)
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1033394
(In reply to Ed Morley [:edmorley] from comment #3)
> The legacy bzapi server (which your version of bzexport is using) now
> redirects to the new bzapi compatibility layer

(The work for this occurred in bug 1098342, and the switch was made ~2 weeks ago)
You need to log in before you can comment on or make changes to this bug.