Open Bug 1357597 Opened 7 years ago Updated 6 years ago

Support overlaying ad-hoc Git refs into Mercurial repos

Categories

(Developer Services :: General, task)

task
Not set
normal

Tracking

(Not tracked)

ASSIGNED

People

(Reporter: gps, Assigned: gps)

References

(Blocks 1 open bug)

Details

Attachments

(5 files, 11 obsolete files)

59 bytes, text/x-review-board-request
Details
59 bytes, text/x-review-board-request
Details
59 bytes, text/x-review-board-request
Details
59 bytes, text/x-review-board-request
Details
59 bytes, text/x-review-board-request
Details
We want to support integrating GitHub pull requests into Mercurial repos. This process involves:

* Optionally rewriting commits in the PR to conform with various standards. This includes possibly squashing commits together.

* Converting Git commits to Mercurial changesets

* Overlaying changes into a sub-directory of the Firefox monorepo

Aspects of these already exist. But we'll need some modifications to support certain properties of pull requests, notably the ad-hoc nature of pull requests versus the persistent nature of conversions that current vcs sync code performs.

In this bug, I'll implement functionality for incorporating ad-hoc Git refs into Mercurial repos. I may or may not scope bloat it to cover the actual GitHub pull request integration. But the code is being written with pull requests in mind, so I'll design it accordingly.
There's still some more patches coming. Likely tomorrow. I still have yet to implement the "convert and overlay to Mercurial" bits that are specific to transient PRs. That's where the fun should be.
Depends on: 1358312
Comment on attachment 8859396 [details]
vcssync: extract code for updating refs into own function (bug 1357597);

https://reviewboard.mozilla.org/r/131422/#review138018
Attachment #8859396 - Flags: review?(glob) → review+
Comment on attachment 8859408 [details]
vcssync: extract code for testing for conversion presence (bug 1357597);

https://reviewboard.mozilla.org/r/131432/#review138020
Attachment #8859408 - Flags: review?(glob) → review+
Comment on attachment 8859409 [details]
vcssync: extract code for running `hg convert` to reusable function (bug 1357597);

https://reviewboard.mozilla.org/r/131434/#review138022
Attachment #8859409 - Flags: review?(glob) → review+
Comment on attachment 8859410 [details]
vcssync: eliminate shamap_path variable (bug 1357597);

https://reviewboard.mozilla.org/r/131436/#review138024
Attachment #8859410 - Flags: review?(glob) → review+
Comment on attachment 8859411 [details]
vcssync: implement a context manager for monitoring an hg repo (bug 1357597);

https://reviewboard.mozilla.org/r/131438/#review138026
Attachment #8859411 - Flags: review?(glob) → review+
Comment on attachment 8860576 [details]
vcssync: move console scripts declaration to a list;

https://reviewboard.mozilla.org/r/132588/#review138028
Attachment #8860576 - Flags: review?(glob) → review+
Comment on attachment 8859397 [details]
vcssync: API and command to squash Git commits (bug 1357597)

clearing reviews as parts of this are WIP.
re-request when it's all good to go.
Attachment #8859397 - Flags: review?(glob)
Attachment #8860578 - Flags: review?(glob)
Attachment #8860577 - Flags: review?(glob)
This is likely useful for wpt-sync as well, so adding Bug 1364561.
Blocks: wpt-sync
Depends on: 1366857
I've got a refactor in a good state locally. But it isn't in shape for review yet.

I'm heads down the next few days polishing up a Firefox developer survey so we can conduct that before the SF all hands. I hope to have something up for review on this bug by the end of the week.
Depends on: 1370694
Attachment #8859396 - Attachment is obsolete: true
Attachment #8859408 - Attachment is obsolete: true
Attachment #8859409 - Attachment is obsolete: true
Attachment #8859410 - Attachment is obsolete: true
Attachment #8859411 - Attachment is obsolete: true
Attachment #8860576 - Attachment is obsolete: true
Attachment #8859397 - Attachment is obsolete: true
Attachment #8859810 - Attachment is obsolete: true
Attachment #8860577 - Attachment is obsolete: true
Attachment #8860578 - Attachment is obsolete: true
Attachment #8860579 - Attachment is obsolete: true
Comment on attachment 8875030 [details]
vcssync: support for squashing a Git ref into a Mercurial repo (bug 1357597);

clearing reviews as per discussion
Attachment #8875030 - Flags: review?(glob)
Attachment #8908442 - Flags: review?(glob)
Attachment #8908443 - Flags: review?(glob)
Attachment #8908444 - Flags: review?(glob)
Attachment #8908445 - Flags: review?(glob)
the sync service is no longer running/needed.
Component: Servo VCS Sync → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: