Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Fwd: Intent to vendor Servo in mozilla-central

4 views
Skip to first unread message

J. Ryan Stinnett

unread,
Jan 4, 2017, 11:28:15 AM1/4/17
to dev-developer-tools
This dev-platform thread might be of interest to :tromey and others
looking at extracting code to GitHub.

:gps seems to be interested in creating a general purpose set of tools
for massaging code across repos, so please take a look at the bug and
comment if you think something extra would help our needs.

- Ryan

---------- Forwarded message ----------
From: Gregory Szorc <g...@mozilla.com>
Date: Tue, Jan 3, 2017 at 5:35 PM
Subject: Intent to vendor Servo in mozilla-central
To: Firefox Dev <firef...@mozilla.org>, dev-platform
<dev-pl...@lists.mozilla.org>, dev-servo
<dev-...@lists.mozilla.org>


Over in bug 1322769, we're planning to vendor the contents of the
Servo Git repository into mozilla-central as part of Quantum efforts.

The initial vendoring of the Servo repository is the first milestone
of a larger project that aims to "unify" workflows and automation
across the two projects, allowing both projects to have insights into
the other's automation and allowing development work spanning both
projects to be simpler.

In this first milestone, we will vendor the history of the Servo Git
repository into mozilla-central.

We only get one chance to vendor the history of Servo before it is
forever set in stone in the history of mozilla-central. So I'd prefer
to get it right so we don't have regrets about the approach 10 years
from now. Therefore, if you care about getting it right, your brain
and eyeballs on the proposal would be useful.

The current plan is to rewrite Servo's history to:

* Remove merge commits (only taking the p1 ancestry of the repo)
* Add something in commit message summary line to indicate commit
comes from Servo
* Add source repo and commit annotations to the commit message
* Reformat some GitHub-flavored markdown to something more sane for
plain text display
* Remove everything related to submodules
* Drop WPT files (there's ~135,000 of them!)

We also tentatively plan to introduce the Servo history as a new root
in the mozilla-central repository so that bisect operations on
Firefox/Gecko don't land in the middle of thousands of Servo-only
commits. (I concede this is an ugly hack to work around limitations of
the "bisect" command of your preferred VCS.)

Unless we prune more from history rewriting, this will add ~8,000
commits to mozilla-central touching ~5,700 files. The on-wire clone
size of the repository will increase by ~36 MB. On-disk repo size will
increase by ~50 MB (not including inode overhead).

Also, I anticipate the techniques and tools used to import Servo's
history and keep it "synchronized" have uses outside of Servo. Our
current mechanisms for keeping upstream/third party projects in sync
with mozilla-central are not well standardized. I'd really like the
work to support Servo to be used for other projects as well. This
potentially includes a future where certain directories in
mozilla-central are effectively developed on GitHub or are using other
"non-standard" workflows. If you think you may benefit from this
future work, I'd appreciate if you could look at the Servo vendoring
effort and make sure things like the annotations tracking the original
source of the commit are sufficient for uses outside of Servo.

Again, it's bug 1322769 if you want to comment or follow along.

gps

_______________________________________________
firefox-dev mailing list
firef...@mozilla.org
https://mail.mozilla.org/listinfo/firefox-dev
0 new messages