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
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to