On Tue, Sep 19, 2017 at 8:49 AM, Eric Rescorla <e...@rtfm.com> wrote:

> Generally no, but this is an unfortunate consequence of Mozilla's decision
> a while ago to pick a VCS which has not turned out to be the dominant
> choice (not placing blame here, but I think it's clear that's how it's
> turned out). The result is that a lot of people want to use git and that
> means git needs to have a first class experience.
>

I've been using git for years now to develop Firefox, and I feel like it is
a first class experience. There's a one time cost to setting up cinnabar,
but after that, everything just works, including |mach try| and |mach
mozreview|. It is still probably less setup than Mercurial users have to go
through to install enough extensions to make hg usable. ;) Sure, there's a
bit of "wacky custom machinery", but developers using hg also have to deal
with some of that, so that's more of a Firefox developer problem than a git
Firefox developer problem.

Andrew



> -Ekr
>
>
> > Originals to end.
> >
> >
> > On Mon, Sep 18, 2017 at 5:16 AM, Eric Rescorla <e...@rtfm.com> wrote:
> >
> >> On Mon, Sep 18, 2017 at 2:56 AM, James Graham <ja...@hoppipolla.co.uk>
> >> wrote:
> >>
> >> > On 18/09/17 04:05, Eric Rescorla wrote:
> >> >
> >> > But that's just a general observation; if you look at this specific
> >> case,
> >> >>> it might not be much effort to support native git for richer/future
> >> try
> >> >>> pushing. But that's very different from requiring all the tools to
> >> >>> support
> >> >>> native git on an equal basis. And it seems reasonable to evaluate
> the
> >> >>> utility of this specific support via a poll, even one known to be
> >> biased.
> >> >>>
> >> >>>
> >> >> I don't think that's true, for the reasons I indicated above. Rather,
> >> >> there's a policy decision about whether we are going to have Git as a
> >> >> first-class thing or whether we are going to continue force everyone
> >> who
> >> >> uses Git to fight with inadequate workflows. We know there are plenty
> >> of
> >> >> people who use Git.
> >> >>
> >> >
> >> > I don't entirely understand what concrete thing is being proposed
> here.
> >> As
> >> > far as I can tell the git-hg parameter space contains the following
> >> points:
> >> >
> >> >  1. Use hg on the server and require all end users to use it
> >> >  2. Use git on the server and require all end users to use it
> >> >  3. Use hg on the server side and use client-side tooling to allow git
> >> > users to interact with the repository
> >> >  4. Use git on the server side and use client-side tooling to allow hg
> >> > users to interact with the repository
> >> >  5. Provide some server side magic to present both git and hg to
> clients
> >> > (with git, hg, or something else, as the on-disk format)
> >> >
> >> > These all seem to have issues relative to the goal of "vanilla git
> with
> >> no
> >> > custom code":
> >> >
> >> >  1. Doesn't allow git to be used at all.
> >> >  2. Requires a multi-year transition away from hg. Probably not
> popular
> >> > with hg fans.
> >> >  3. The status quo. Requires using a library for converting between hg
> >> and
> >> > git (i.e. cinnabar) or some mozilla-specific custom scripts (the old
> >> > moz-git-tools)
> >> >  4. Like 3. but with an additional multi-year transition and different
> >> > custom tooling.
> >> >  5. Allows vanilla git and hg on the client side, but requires
> something
> >> > complex, custom, and scary on the server side to allow pushing to
> either
> >> > repo. Could be possible if we eliminate ~all manual pushes (i.e.
> >> everything
> >> > goes via autoland), but cinnabar or similar is still there in the
> >> > background.
> >> >
> >>
> >> This is what I meant. And having something complex and scary on the
> server
> >> side is (at least to me) obviously better than having something complex
> >> and
> >>  scary (and did I mention constantly out of date) on the client side,
> >> because it's all in one place and externally just looks like the thing
> the
> >> client is expecting. Note that we already have half of this because we
> >> have
> >> one-way synching to gecko-dev on the server side. Perhaps one could also
> >> rip off some of the servo-gecko synching stuff here, but I don't know
> much
> >> about how that's architected.
> >>
> >>
> >> Given none of those options seem to fit, the only other possibility I
> can
> >> > think of is to skip the general problem of how to interact with the
> VCS
> >> for
> >> > try specifically by making submitting to try not look like a VCS push,
> >> but
> >> > like some other way of sending a blob of code to a remote machine
> (e.g.
> >> > using some process that generates a patch file). But unless there's
> some
> >> > extant way to achieve that it seems like it would be replacing
> >> > known-working code (cinnabar) with new custom code.
> >> >
> >>
> >> > So my best guess is that you mean that all pushes should go via
> autoland
> >> > and we should provide read-only hg/git repositories, and try pushes
> >> should
> >> > also go via something other than a vcs push. But I'm probably missing
> >> > something.
> >>
> >>
> >> Well, I do think this is the direction we should be moving towards, as
> it
> >> seems to have a pile of advantages. Indeed, if we're *already* going to
> be
> >> forcing people to submit to try via mach rather than via vcs push, why
> >> wouldn't we do that for this piece of it now?
> >>
> >> -Ekr
> >>
> >>
> >> >
> >> > _______________________________________________
> >> > dev-platform mailing list
> >> > dev-platform@lists.mozilla.org
> >> > https://lists.mozilla.org/listinfo/dev-platform
> >> >
> >> _______________________________________________
> >> dev-platform mailing list
> >> dev-platform@lists.mozilla.org
> >> https://lists.mozilla.org/listinfo/dev-platform
> >>
> >
> >
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to