Support overlaying ad-hoc Git refs into Mercurial repos

ASSIGNED
Assigned to

Status

task
ASSIGNED
2 years ago
10 months ago

People

(Reporter: gps, Assigned: gps)

Tracking

(Blocks 1 bug)

Details

Attachments

(5 attachments, 11 obsolete attachments)

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
(Assignee)

Description

2 years ago
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.
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
(Assignee)

Comment 7

2 years ago
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.
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
(Assignee)

Updated

2 years ago
Depends on: 1358312
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
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)
This is likely useful for wpt-sync as well, so adding Bug 1364561.
Blocks: wpt-sync
(Assignee)

Updated

2 years ago
Depends on: 1366857
(Assignee)

Comment 41

2 years ago
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.
(Assignee)

Updated

2 years ago
Depends on: 1370694
Comment hidden (mozreview-request)
(Assignee)

Updated

2 years ago
Attachment #8859396 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8859408 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8859409 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8859410 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8859411 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8860576 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8859397 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8859810 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8860577 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8860578 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8860579 - Attachment is obsolete: true
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
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)
No longer blocks: wpt-sync
See Also: → wpt-sync
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.