On Wed, Nov 28, 2018 at 09:20:17PM +0000, James Graham wrote: > On 28/11/2018 20:15, Mark Côté wrote: > > We're still working through a longer-term vision that we'll share early > > next year, but I can answer some questions now. > > Thanks, this is helpful! > > > * Have to make a choice early on about whether to learn a relatively > > unfamiliar (to the majority of developers) VCS (mercurial), use a > > slightly unorthodox git setup with slow initial clone (cinnabar), or > > use > > the largely unsupported (?) GitHub clone. > > > > > > This is a very difficult problem. I can't see this problem going away > > entirely without some sort of executive decision to require everyone use > > a particular VCS. That said, Mercurial should still be seen as the > > default VCS, especially as we get partial-clone support > > (https://bugzilla.mozilla.org/show_bug.cgi?id=1505555). Git-cinnabar > > should be treated as an "advanced" option. Perhaps docs could be > > clarified as to this. > > I understand that mercurial is not going away :) Having said that it's a > pretty hard sell to get someone to make an initial contribution if it > involves learning a whole new VCS; that's a considerable investment of time > on its own. I wonder if there's something we could do to help people here > like run a taskcluster task on m-c to produce an artifact containing a > cinnabar clone archived using git-bundle, and then set up the bootstrap.py > script to give a choice between mercurial and git using cinnabar, and in the > git case, do the initial clone by downloading a recent bundle and then > fetching missing commits. There's probably a good reason that won't work, > but I'm not sure what it is yet :)
https://bugzilla.mozilla.org/show_bug.cgi?id=1459200 is one step in that direction. And git-cinnabar version 0.5.0b4 and newer support cloning from a git reference repo[1]. There is even a mercurial extension[2] to make this more automated, but git-cinnabar won't try to use it by default for now. I want to add support for git bundles, or at least future-proofing for git bundles, first. The reference repo would also need to be updated frequently. Mike 1. For example, you can do: git -c cinnabar.clone=https://github.com/glandium/gecko clone hg::https://hg.mozilla.org/mozilla-unified 2. https://github.com/glandium/git-cinnabar/blob/master/mercurial/cinnabarclone.py _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform