| Intent to require `mach try` for submitting to Try | Gregory Szorc | 15/09/17 15:31 | The Try Service ("Try") is a mechanism that allows developers to schedule
tasks in automation. The main API for that service is "Try Syntax" (e.g. "try: -b o -p linux -u xpcshell"). And the transport channel for making that API call is a Mercurial changeset's commit message plus a version control "push" to the "try" repository on hg.mozilla.org. As the recent "Reminder on Try usage and infrastructure resources" thread details, scaling Firefox automation - and Try in particular - is challenging. In addition, the number of workflows and variations that automation needs to support is ever increasing and continuously evolving. It shouldn't come as a surprise when I say that we've outgrown many of the implementation details of the Try Service. Try Syntax itself is over 7 years old and has survived a complete rewrite of automation scheduling, for example. Aspects of Try are adversely impacting the ability for developers to use Try efficiently and therefore undermining our collective ability to get important work done quickly. In order to put ourselves in a position to more easily change implementation details of the Try Service so we may deliver a better experience for all, we'd like to require the use of `mach try` for Try submissions. This will ensure there is a single, well-defined, and easily-controlled mechanism for submitting to Try. This will allow greater flexibility and adaptability. It will provide better opportunities for user messaging. It will ensure that any new features are seen by everyone sooner. It will eventually lead to faster results on Try for everyone. Bug 1400330 ("require-mach-try") is on file to track requiring `mach try` to submit to Try. The mechanism for submitting to Try has remaining relatively stable for years. `mach try` is relatively new - and I suspect unused by a sizeable population. This is a potentially highly disruptive transition. That's why we're not making it immediately and why we're sending this email today. You can mitigate the disruption by using `mach try` before the forced transition is made and reporting bugs as necessary. Have them block "require-mach-try" if you need them addressed before the transition or "mach-try" otherwise. We don't really have a good component for `mach try` bugs, so put them in TaskCluster :: Task Configuration for now and chain them to a tracking bug for visibility. FAQ Q: When will the transition be made? A: When we feel `mach try` is usable for important workflows (as judged by blockers on "require-mach-try"). Also, probably not before Firefox 57 ships because we don't want to interfere with that release. Q: What about old changesets? A: You will still be able to submit to Try using the current/legacy mechanism for old changesets. There will be a "flag day" of sorts on mozilla-central after which all Try submissions will require `mach try` or nothing will get scheduled. Q: Will Try Syntax continue to work? A: For the foreseeable future, yes. There is a long-term goal to replace Try Syntax with something more automatic and less effort - at least for most use cases. But there are no definite plans or a timetable to remove Try Syntax. Q: Are there any other major changes planned? A: Several. People are hacking on path-based selection, `mach try fuzzy` improvements, moz.build-based annotations influencing what gets scheduled, not using a traditional Mercurial repository for backing Try, and more. Some of these may not be available to legacy Try submission workflows, giving you additional reasons to adopt `mach try` sooner. Q: Should I be worried about this transition negatively impacting my workflow? A: As long as you file bugs blocking "require-mach-try" to make it known why `mach try` doesn't work for you, your voice will be heard and hopefully acted on. So as long as you file bugs, you shouldn't need to worry. |
| Re: Intent to require `mach try` for submitting to Try | Botond Ballo | 15/09/17 15:40 | Will submitting to try from MozReview (or Phabricator once that
replaces MozReview) still work? I think there is important value in being able to submit to try without a local checkout. Cheers, Botond |
| Re: Intent to require `mach try` for submitting to Try | Gregory Szorc | 15/09/17 15:47 | Yes. And I agree there is value in scheduling automation without a checkout.
This is tracked in bug 1400333. |
| Re: Intent to require `mach try` for submitting to Try | Nick Fitzgerald | 15/09/17 16:48 | Does `mach try` still require `git cinnabar` when using a `git` checkout of
m-c, or does it work with `moz-git-tools` now too? Thanks, Nick |
| Re: Intent to require `mach try` for submitting to Try | Nicholas Nethercote | 15/09/17 16:52 | Are there docs on how to use `./mach try`? `./mach help try` doesn't give
much detail. Also, will https://mozilla-releng.net/trychooser/ still work? I'm generally more of a command line person than a GUI person, but this is one case where I find the GUI approach far more usable. Nick |
| Re: Intent to require `mach try` for submitting to Try | Bobby Holley | 15/09/17 16:54 | FWIW, I've found |./mach try fuzzy| to be very intuitive and kind of the
best of both worlds for command-line vs GUI. I don't know what the non-fuzzy version does, but perhaps fuzzy should be the default. > _______________________________________________ > dev-platform mailing list > dev-pl...@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform > |
| Re: Intent to require `mach try` for submitting to Try | Kris Maglione | 15/09/17 16:57 | `mach try` is basically just a wrapper around try syntax, with
the added ability to specify paths to directories you want to add tests for. It suffers the same lack of documentation that try syntax in general does. Trychooser now generates `mach try` command lines in addition to commit message syntax, so given that try syntax is supposed to continue to work with `mach try`, I don't see why trychooser wouldn't. -- Kris Maglione Senior Firefox Add-ons Engineer Mozilla Corporation He hoped and prayed that there wasn't an afterlife. Then he realized there was a contradiction involved here and merely hoped that there wasn't an afterlife. --Douglas Adams |
| Re: Intent to require `mach try` for submitting to Try | Nicholas Nethercote | 15/09/17 18:06 | I should have been clearer: I'm not so worried about the syntax, so long as
https://mozilla-releng.net/trychooser/ still exists. What's unclear to me is the revision management/selection side of things. Nick On Sat, Sep 16, 2017 at 9:57 AM, Kris Maglione <kmag...@mozilla.com> wrote: |
| Re: Intent to require `mach try` for submitting to Try | Gregory Szorc | 15/09/17 18:40 | On Fri, Sep 15, 2017 at 4:48 PM, Nick Fitzgerald <nfitz...@mozilla.com>
wrote: It currently requires git-cinnabar. TBH, I forgot about this. Supporting non-cinnabar will be a bit annoying. Not impossible, but annoying. A non-cinnabar user should file a blocking bug detailing their workflow so we can figure out a path forward. It is quite possible the outcome is "only support git-cinnabar." So whoever files the bug should reply here with the link so non-cinnabar Git users can pile on and let your numbers be known. But please do it in the bug and not on this list. |
| Re: Intent to require `mach try` for submitting to Try | Gregory Szorc | 15/09/17 18:49 | On Fri, Sep 15, 2017 at 4:51 PM, Nicholas Nethercote <n.net...@gmail.com > wrote:`mach try` has sub-commands. Run `mach help try syntax` and `mach help try fuzzy` for more useful docs. The former is actually a pretty reasonable documentation of Try Syntax. There is some light magic where `mach try <args>` is essentially treated as `mach try syntax`. This could be documented better in `mach help try`. I reckon it will. Although with the velocity that Try Syntax changes, it is arguably better to have this all in-tree. Also, it is kind of silly that you have to open a web site and copy something from that into your terminal. IMO this should all be turnkey. e.g. `mach try chooser` would start a local HTTP server, point your web browser at it, and an HTML form submission would stop the local HTTP server and submit to Try. That feels a bit more pleasant (for those who can run a browser in their development environment anyway). But I digress: that site should continue to run. |
| Re: Intent to require `mach try` for submitting to Try | Boris Zbarsky | 15/09/17 18:58 | On 9/15/17 6:30 PM, Gregory Szorc wrote:So just to be clear, instead of being able to "hg push -f try" will one now need to do "./mach try syntax ....." and put in the actual syntax string on every single try push? The reason I ask is that a very common use case for me is having a single try syntax that I want to apply to multiple changesets (e.g. bisecting things on try, or doing A/B comparisons on some tests with/without some patches, etc). Having a trysyntax changeset or ten in my mq works pretty well for this. I can give them names that indicate what sort of try push they do, so if I want to do a "linux64, tests, no talos" changeset I don't have to go around digging for the try syntax for it: I already have something that has a name indicating that, and qpushing it is pretty easy with the name-substring matching qpush does. There are obviously ways mach try could support this, e.g. by being able to easily define aliases for particular ways of pushing to try or whatnot. But it doesn't have an obvious way of doing that right now. One could also use shell aliases for this, but in practice the lack of substring matching on shell aliases would get annoying, because there are a bunch of kinda-similar variants involved in my experience. -Boris |
| Re: Intent to require `mach try` for submitting to Try | Steve Fink | 15/09/17 19:08 | On 9/15/17 6:58 PM, Boris Zbarsky wrote:I've never used it, but it already has pretty much exactly this. Look at --save, --preset, and --list-presets under ./mach help try syntax |
| Re: Intent to require `mach try` for submitting to Try | Gregory Szorc | 15/09/17 19:11 | `mach try fuzzy` supports presets via `mach try fuzzy --preset PRESET`. See
`mach help try fuzzy`. I encourage you to file bugs on making the usability fit your needs. I would even consider an "auto bisect" mechanism (where it submits N changesets using the same configuration) a reasonable feature request. Since Try scheduling is all in-tree now, we could do that in a single push - possibly even with a single changeset. That will almost certainly be faster than the workflow you are currently practicing. |
| Re: Intent to require `mach try` for submitting to Try | Boris Zbarsky | 15/09/17 19:18 | On 9/15/17 10:08 PM, Steve Fink wrote:Ah, I see. Alright, I'll give this a shot. -Boris |
| Re: Intent to require `mach try` for submitting to Try | Eric Rescorla | 15/09/17 19:45 | What happens if you are using git?
-Ekr |
| Re: Intent to require `mach try` for submitting to Try | Andrew Halberstadt | 15/09/17 20:29 | Yes, we'd like to make it the default eventually. I've been holding off for
now, but expect it will be switched to the default at some point in Q4 or Q1. If you don't want to wait and are tired of typing 'fuzzy' each time, you can create a ~/.mozbuild/machrc file and add: [try] default = fuzzy
> On Fri, Sep 15, 2017 at 4:51 PM, Nicholas Nethercote < > > Also, will https://mozilla-releng.net/trychooser/ still work? I'm> > Nick |
| Re: Intent to require `mach try` for submitting to Try | Gregory Szorc | 15/09/17 20:34 | On Fri, Sep 15, 2017 at 7:44 PM, Eric Rescorla <e...@rtfm.com> wrote:git-cinnabar is already supported. Vanilla git is TBD. I see bug 1400470 was just filed for that. |
| Re: Intent to require `mach try` for submitting to Try | Eric Rescorla | 15/09/17 20:38 | On Fri, Sep 15, 2017 at 8:33 PM, Gregory Szorc <g...@mozilla.com> wrote:Supported how? Do I have to have special remote names? Special refs? Or does it mess with my git config? Having this fixed seems like a blocker. -Ekr |
| Re: Intent to require `mach try` for submitting to Try | Gregory Szorc | 15/09/17 21:26 | On Fri, Sep 15, 2017 at 8:37 PM, Eric Rescorla <e...@rtfm.com> wrote:It "just works." Git doesn't require remotes or tracking refs to do pushes and the git-cinnabar `mach try` integration doesn't make meaningful (read: outside of reflog) persisted changes to your repo state as part of doing its job. Maybe. The policy is to support Git as a VCS tool for Firefox development. Previously, git-cinnabar - but not vanilla Git - has counted. e.g. git-mozreview and artifact builds require cinnabar. I would strongly prefer to maintain the "support Git == git-cinnabar" interpretation because otherwise we're looking at supporting N+1 tools (where the +1 for vanilla Git is *substantially* more effort than the existing Mercurial + git-cinnabar). I'd prefer to take a data-driven approach to answering the question of "do we need to support vanilla Git." I wish I had local developer metrics or results from a recent developer survey to feed into a decision. In lieu of that data, I'd encourage users of vanilla Git to make noise on bug 1400470 if you feel you need `mach try` support. |
| Re: Intent to require `mach try` for submitting to Try | ISHIKAWA,chiaki | 15/09/17 22:22 | Does "mozilla/mach try" will work for try-comm-central?
(Well, I know there has been a general talk of moving thunderbird to somewhere else, but it is not going to happen overnight.) TIA |
| Re: Intent to require `mach try` for submitting to Try | Marco Bonardo | 16/09/17 01:31 | I have a problem with try fuzzy, not sure if it's just my system, so
didn't file a bug yet. On Windows it always hangs after it tries to cleanup its own stuff at the end, I must terminate it and manually uncommit and purge the config file. Does anyone have the same problem? |
| Re: Intent to require `mach try` for submitting to Try | Eric Rescorla | 16/09/17 06:44 | On Fri, Sep 15, 2017 at 9:25 PM, Gregory Szorc <g...@mozilla.com> wrote:But the cost of that is imposing cinnabar on everyone who wants to use git. This is bad for several reasons: 1. Custom tools are bad (incidentally, this is also an argument against the machization of everything, but that's perhaps for another day) 2. There are a lot more people writing code for Firefox than developing the internal tools, so in general, costs on those people should be avoided. Moreover, the trend here is to support native *git*: Phabricator doesn't require hg (at least it shouldn't; it certainly doesn't when we use it for NSS) and as we move away form having people do direct pushes to the repo, then they won't need cinnabar to land code either. So, having try be about the only place where where you need cinnabar is bad. This is not a good decision making procedure. First, requiring people to volunteer their objections inherently underweights those objections because it's work to do so. Second, the current situation has incentivized people to use cinnabar, so the number of vanilla git users is less than it otherwise would be. But this is bad, for the reasons I listed above. The right question is: what future do we want to live in, and that's a policy question, not one decided by taking a (highly biased) poll of what people currently do. -Ekr |
| Re: Intent to require `mach try` for submitting to Try | Andrew Halberstadt | 16/09/17 21:05 | Interesting, please file a bug either way and CC me. It worked
for me back when it first landed, though I haven't tried it since. I'll see if I can reproduce sometime this week. |
| Re: Intent to require `mach try` for submitting to Try | Marco Bonardo | 17/09/17 01:58 | On Sun, Sep 17, 2017 at 6:05 AM, Andrew HalberstadtDone: https://bugzilla.mozilla.org/show_bug.cgi?id=1400652 |
| Re: Intent to require `mach try` for submitting to Try | Steve Fink | 17/09/17 12:09 | On 9/16/17 6:43 AM, Eric Rescorla wrote:Supporting more tool variants (eg adding bare git to the current two) requires more resources. In a perfect world, that resource decision would be based on the actual costs and benefits to the overall organization. My observation is that so far, we have kept a tight limit on the number of resources dedicated to this sort of tooling, independent of an objective cost/benefit analysis. (Which is even somewhat justifiable; tooling, like many other areas, can easily grow to absorb whatever resources you give it, so it's hard to judge "enough".) This means that I have a lot of sympathy for the tooling people who would be forced to maintain the wider variation, with no reason to believe that the necessary resources will be made available. It will just starve out resources for other tooling, limiting us closer to a common denominator set of functionality. 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. Also, the assumption that you submit try jobs via standard revision control operations is an artifact of our current implementation. It's true that many other systems are doing the same thing, but many other systems don't have anything akin to try syntax. And as history has proven, selecting an appropriate set of tasks to run is not a trivial thing, so it kind of makes sense to have *some* sort of special-case tooling around it. I agree that the larger policy question is the right one to ask, though. What future do we want to live in? The git/github juggernaut is hard to ignore. (Confession: I'm a happy hg user, so the current setup works fine for me and I don't know enough about the alternatives to understand the tradeoffs in using cinnabar vs raw git. Heck, over half of my github checkouts are through hg-git; I don't understand why anyone would use git in the first place if they didn't have to. Obviously, opinions vary!) |
| Re: Intent to require `mach try` for submitting to Try | Eric Rescorla | 17/09/17 20:06 | On Sun, Sep 17, 2017 at 12:09 PM, Steve Fink <sf...@mozilla.com> wrote:
> On 9/16/17 6:43 AM, Eric Rescorla wrote: > >> On Fri, Sep 15, 2017 at 9:25 PM, Gregory Szorc <g...@mozilla.com> wrote: >> >> >> I'd prefer to take a data-driven approach to answering the question of "do >>> we need to support vanilla Git." I wish I had local developer metrics or >>> results from a recent developer survey to feed into a decision. In lieu >>> of >>> that data, I'd encourage users of vanilla Git to make noise on bug >>> 1400470 >>> if you feel you need `mach try` support. >>> >>> This is not a good decision making procedure. First, requiring people to >> volunteer their objections inherently underweights those objections >> because >> it's work to do so. Second, the current situation has incentivized people >> to use cinnabar, so the number of vanilla git users is less than it >> otherwise would be. But this is bad, for the reasons I listed above. The >> right question is: what future do we want to live in, and that's a policy >> question, not one decided by taking a (highly biased) poll of what people >> currently do. >> > > Supporting more tool variants (eg adding bare git to the current two) > requires more resources. Well, if we simply supported vanilla git properly, we wouldn't need cinnabar support, so it's not strictly greater. > In a perfect world, that resource decision would be based on the actual > costs and benefits to the overall organization. My observation is that so > far, we have kept a tight limit on the number of resources dedicated to > this sort of tooling, independent of an objective cost/benefit analysis. > (Which is even somewhat justifiable; tooling, like many other areas, can > easily grow to absorb whatever resources you give it, so it's hard to judge > "enough".) > > This means that I have a lot of sympathy for the tooling people who would > be forced to maintain the wider variation, with no reason to believe that > the necessary resources will be made available. It will just starve out > resources for other tooling, limiting us closer to a common denominator set > of functionality. > You say "common denominator" like it's a bad thing. But using commodity tooling is *good*, not bad, as the recent example of doing something largely custom with mozreview rather than just taking Pharicator more-or-less off the shelf demonstrates. The reason to write new tooling is when you can't get away with commodity tooling. > 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. -Ekr |
| Re: Intent to require `mach try` for submitting to Try | Henri Sivonen | 18/09/17 01:11 | On Mon, Sep 18, 2017 at 6:05 AM, Eric Rescorla <e...@rtfm.com> wrote:>Besides occasionally having to convert between hg and cinnabar changeset ids, what's inadequate about cinnabar workflow(s)? -- Henri Sivonen hsiv...@hsivonen.fi https://hsivonen.fi/ |
| Re: Intent to require `mach try` for submitting to Try | Samael Wang | 18/09/17 01:27 | In a rare case that we need to send a "CLOSED TREE" try job,
will we be able to do that with ./mach try? Last time I didn't use mach try to submit try job was because of that. |
| Re: Intent to require `mach try` for submitting to Try | James Graham | 18/09/17 02:27 | That doesn't work right now, but it should be easy to add a
--closed-tree flag or similar. File a bug please? |
| Re: Intent to require `mach try` for submitting to Try | James Graham | 18/09/17 02:57 | On 18/09/17 04:05, Eric Rescorla wrote: > I don't think that's true, for the reasons I indicated above. Rather,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. 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. |
| Re: Intent to require `mach try` for submitting to Try | Eric Rescorla | 18/09/17 05:08 | On Mon, Sep 18, 2017 at 1:10 AM, Henri Sivonen <hsiv...@hsivonen.fi> wrote: > I don't think that's true, for the reasons I indicated above. Rather, > Besides occasionally having to convert between hg and cinnabarThat's a big part of it. I've also had it fail randomly and for unobvious reasons (especially if you have some kind of unconventional hg install) and then had to figure out why. And of course it means you need to install and maintain hg and cinnabar, not just git. It's just another piece of wacky custom machinery that we make devs suffer through. -Ekr > _______________________________________________ > dev-platform mailing list > dev-pl...@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform > |
| Re: Intent to require `mach try` for submitting to Try | Eric Rescorla | 18/09/17 05:16 | On Mon, Sep 18, 2017 at 2:56 AM, James Graham <ja...@hoppipolla.co.uk>
wrote:
>> I don't think that's true, for the reasons I indicated above. Rather,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. 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 |
| Re: Intent to require `mach try` for submitting to Try | Gregory Szorc | 18/09/17 07:49 | On Fri, Sep 15, 2017 at 10:21 PM, ISHIKAWA,chiaki <ishi...@yk.rim.or.jp>
wrote: > Does "mozilla/mach try" will work for try-comm-central? > > (Well, I know there has been a general talk of moving thunderbird to > somewhere else, but it is not going to happen overnight.) > I'm not sure. There's no good reason why it should or shouldn't. Also, we may not impose this Try push restriction on try-comm-central. It depends how tightly linked they are. Realistically, we likely go with whatever is the least effort way forward for Firefox because we're not supposed to be spending time hacking on Thunderbird's infra and tooling. |
| Re: Intent to require `mach try` for submitting to Try | Myk Melez | 18/09/17 07:50 | > James Graham <mailto:ja...@hoppipolla.co.uk>
> 2017 September 18 at 02:56 > 5. Allows vanilla git and hg on the client side, but requiresIf the Gecko repository that developers clone is synced with cinnabar (which is how I sync mozilla/gecko, and which folks've discussed doing with mozilla/gecko-dev for years), then the scary server-side thing could be a Git repository synced with cinnabar that forwards pushes to the current tryserver. That's essentially the same amount of scariness as is currently the case (i.e. cinnabar), except, as ekr noted, it is only maintained on the server rather than on each individual developer's machine. -myk |
| Re: Intent to require `mach try` for submitting to Try | Eric Rescorla | 19/09/17 08:50 | On Tue, Sep 19, 2017 at 8:40 AM, Aki Sasaki <asa...@mozilla.com> wrote:>> 2. There are a lot more people writing code for Firefox than developing >> the >> internal tools, so in general, costs on those people should be avoided. >> I might be reading the first statement wrong: I see that as an argument to > avoid putting more costs on the people who develop and maintain internal > tools, because it's a smaller group. If this is an accurate reading, then > the second paragraph appears to be contradictory: moving the pain and > complexity around git from all Firefox developers onto this smaller group > will increase costs for that smaller group. From my perspective, gecko-dev > conversions have largely been as smooth as can be expected for the past > number of years, but we're seeing more timeouts, and it may only be a > matter of time before we either need to sink significant internal tools > development time into the conversion script, or we hit an issue that causes > significant downtime. > Sorry I wasn't clear, because I meant the opposite: the purpose of tooling is to make the experience for the majority of developers as smooth as possible, because there are a lot more people doing development of Firefox than writing tools. Accordingly, things which move load from the people developing tooling to everyone else should generally be avoided unless the cost on everyone else is trivial and the cost of the tooling is very high. That may or may not mean that the tools group needs to be bigger, but that's part of the cost/benefit calculation. Certainly, we shouldn't take the size of the tools group as fixed for purposes of that assessment. If I'm reading wrong, and you're saying we need to avoid putting costs on > the larger Firefox development group, then the two statements are > non-contradictory. I do think expecting supporting 2 VCSes as seamlessly as > one is a large ask of the smaller team; do many other software projects > support multiple official VCSes and workflows? > 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. -Ekr > Originals to end. >> > 5. Allows vanilla git and hg on the client side, but requires something |
| Re: Intent to require `mach try` for submitting to Try | Andrew McCreight | 19/09/17 09:20 | On Tue, Sep 19, 2017 at 8:49 AM, Eric Rescorla <e...@rtfm.com> wrote: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 |
| Re: Intent to require `mach try` for submitting to Try | Bobby Holley | 19/09/17 10:01 | On Tue, Sep 19, 2017 at 9:20 AM, Andrew McCreight <amccr...@mozilla.com>
wrote: This matches my experience, FWIW, at least on mac and linux. I haven't tried on windows. |
| Re: Intent to require `mach try` for submitting to Try | Jean-Yves Avenard | 19/09/17 23:12 | On Tue, Sep 19, 2017 at 7:21 PM, Eric Rescorla <e...@rtfm.com> wrote:
> I've also had cinnabar fail badly at various times, and then it's been > pretty unclear what > the service level guarantees for that were. > > time to try again maybe? I use git with cinnabar on windows, linux and mac, and I haven't had any issues with cinnabar in a long while. I do copy my .git/config file whenever I'm switching machine because I can never be bothered to learn the various URLs. Whenever I ran into a (very rare) issue, :glandium was there to help.... Thanks Mike! |
| Re: Intent to require `mach try` for submitting to Try | Aki Sasaki | 25/09/17 08:49 | On 9/16/17 6:43 AM, Eric Rescorla wrote: On Mon, Sep 18, 2017 at 5:16 AM, Eric Rescorla <e...@rtfm.com> wrote: I might be reading the first statement wrong: I see that as an argument to If I'm reading wrong, and you're saying we need to avoid putting costs on |