Closed Bug 475309 Opened 16 years ago Closed 16 years ago

[Fx3.1] release update generation is broken

Categories

(Release Engineering :: General, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: nthomas, Assigned: nthomas)

References

Details

Attachments

(2 files)

We upgraded Mercurial on our linux machines (the ones known as moz2) from v0.9.5 to 1.1.2, which changes what |hg clone -r <tag>| does when <tag> has been moved. Here's the low-down for the record. Suppose you have an example repository like this: changeset: 3:d5d4d71fcd5f summary: Added tag THE_TAG for changeset a151678ac56a changeset: 2:a151678ac56a summary: second file rev changeset: 1:561e194d6b5c summary: Added tag THE_TAG for changeset 32b7aa090489 changeset: 0:32b7aa090489 summary: first file rev Changeset 3 is moving the tag to a later revision of the single file in our repo. With 1.1 or later, when you do hg clone -r THE_TAG ... it has some tipmost algorithm for resolving THE_TAG to 2:a151678ac56a, and pulls in only changesets up to that for the working dir. Then it does an update to THE_TAG, but the .hgtags checkout has that pointing to 32b7aa090489 and you get updated to the first rev in our example. Intuitive eh ? If you hg clone ...; hg up -r THE_TAG then it pulls in all the changesets and .hgtags is up to date, so you get 2:a151678ac56a in the end. Prior to 1.1 both methods give you 2:a151678ac56a on ident, apparently because there is an implicit 'hg up -r tip' inside hg clone. Why is this a problem ? patcher2.pl uses 'hg clone -r UPDATE_PACKAGING_R6' when running it's BuildTools function (a very convoluted way to get hold of the mar & mbsdiff utilities, and tools/update-packaging). That tag moved from f197b51bbc29a30860e750ee87fd0a047a024f2e to d7d64f68423b68a671f623f123e90057ebc49dac to pick up support for the release-layout of files. We end up with f197... and try to build updates with that release layout, it blows up, unhappiness results. Luckily, the fix is shorter than this comment.
Attached patch Clone then update (deleted) — Splinter Review
Updates after the initial clone. Also generalizes the hg repository var.
Attachment #358816 - Flags: review?(bhearsum)
Comment on attachment 358816 [details] [diff] [review] Clone then update Looks good!
Attachment #358816 - Flags: review?(bhearsum) → review+
Attached patch Patch as committed (deleted) — Splinter Review
Also updates the ReleaseUpdatesFactory for the env var change. Checking in patcher/patcher2.pl; /cvsroot/mozilla/tools/patcher/patcher2.pl,v <-- patcher2.pl new revision: 1.37; previous revision: 1.36 done Checking in buildbotcustom/process/factory.py; /cvsroot/mozilla/tools/buildbotcustom/process/factory.py,v <-- factory.py new revision: 1.83; previous revision: 1.82 done
Attachment #358966 - Flags: checked‑in+ checked‑in+
I've created UPDATE_PACKAGING_R7 in CVS using the equivalent of bug 420947 comment 17. Compared to R6, the only change that will actually get used is patcher/patcher2.pl - rev 1.36 to 1.37 (the change in this bug) FTR, also modified are tools/update-packaging make_incremental_update.sh - rev 1.12 to 1.13 (nightly updates, bug 470811) make_incremental_updates.py -rev 1.8 to 1.9 (bug 454261, but this isn't the copy we use generating release updates) and several files in tools/release, which we pull from another tag for 2.0 and 3.0 releases. Nothing changed in tools/release/MozBuild that patcher2 does use. I've also created a UPDATE_PACKAGING_R7 tag in mozilla-central and mozilla-1.9.1 at the same point as _R6. And tagged build/tools at http://hg.mozilla.org/build/tools/rev/cf6614a8d619 AFAICT there are no changes to the scripts for patcher and update-verify config-bumps since _R6.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Priority: -- → P1
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: