On 04/01/17 00:35, Gregory Szorc wrote: > 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. >
As I said before, this approach is, IMO, much too complicated; splitting the reusable parts of Servo into their own repositories, as we have done before, would be a much simpler solution. However, as it seems the decision has already been made quietly long ago, I don't see much point in continuing to fight it, as long as this frankenhistory does not affect the canonical Servo history in git. HTH Ms2ger _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform