Closed Bug 524593 Opened 15 years ago Closed 15 years ago

NJ merge: nanojit-central to tracemonkey import machinery

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: graydon, Assigned: graydon)

References

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file, 1 obsolete file)

Attached patch fishing wire and duct tape (obsolete) — Splinter Review
This patch covers the mechanism I'm proposing we add to the js/src directory to handle its soon-to-be-active need to import revisions from the soon-to-be-separately-developed nanojit-central "upstream" repository.

The revision numbers and repository URL in the patch will change when I actually land and/or activate it. I am just illustrating the mechanism here and asking for review.

Note that this mechanism will support *clobber* imports: each import run will pull from nanojit-central and append revisions that force our nanojit/ subdirectory to equal the states of the imported revisions, discarding any local differences. This is the "option (A)" variant I posted about in the following thread:

http://groups.google.com/group/mozilla.dev.tech.js-engine/browse_thread/thread/da0ce3236e62c6f7

Also note that the mechanism proposed here does not cause any direct, automatic propagation between hosted repositories: it's intended for a developer to run from time to time on their workstation in order to pick up recent nanojit-central changes, test the imported result, and push to tracemonkey if non-regressing. If any import is undesirable, it can be discarded with a simple "hg strip -n last-rev-before-import".

Thoughts?
Attachment #408507 - Flags: review?(gal)
Comment on attachment 408507 [details] [diff] [review]
fishing wire and duct tape

Wow, I have no clue what it does but it looks complicated and fancy and I have unlimited faith in Graydon when it comes to version control hacks. Plus, this is technically NPOTB.
Attachment #408507 - Flags: review?(gal) → review+
This version does more work on each update, but is also a lot less fragile. You should, for example, be OK rebasing an import if you're racing to commit it. And it's reasonably easy to recover if "something goes wrong": just reset the nanojit-import-stamp to some recent nj-central rev and carry on, it will clobber using the first child of that rev.
Attachment #408507 - Attachment is obsolete: true
Attachment #408904 - Flags: review?(gal)
er, the nanojit-import-rev file.
Comment on attachment 408904 [details] [diff] [review]
more robust version

NPOTB.
Attachment #408904 - Flags: review?(gal) → review+
http://hg.mozilla.org/tracemonkey/rev/bfb6fe5beaf0
Whiteboard: fixed-in-tracemonkey
http://hg.mozilla.org/mozilla-central/rev/bfb6fe5beaf0
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Flags: in-testsuite-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: