<div dir="ltr"><div>While |mach try fuzzy| is generally a better experience than try</div><div>syntax, there are a few cases where it can be annoying. One</div><div>common case was when you selected a bunch of tasks in the</div><div>interface and pushed. Then at a later date you wanted to push</div><div>the exact same set of tasks again. This used to be a really poor</div><div>experience as you needed to re-select all the same tasks</div><div>manually.</div><div><br></div><div>As of now, you can use |mach try again| instead. The general</div><div>workflow is:</div><div><br></div><div> $ ./mach try fuzzy</div><div><select tasks></div><div>...<br></div><div><uh oh, something failed></div><div><fix><br></div><div>$ ./mach try again</div><div><br></div><div><br></div><div><u>More Details</u></div><div><u><br></u></div><div>Whenever you push to try with a `try_task_config.json` (aka</div><div>anything but try syntax), that config will be saved in a history</div><div>file (in ~/.mozbuild/history/try_task_configs.json). You can view</div><div>your history keyed by commit message by running:</div><div><br></div><div>$ ./mach try again --list</div><div><br></div><div>If you wish to re-push an older `try_task_config.json`, you can</div><div>use:</div><div><br></div><div>$ ./mach try again --index <num><br></div><div><br></div><div>Where <num> is the number displayed by --list. By default the</div><div>last 10 pushes will be saved in history, but this can be</div><div>configured by setting:</div><div><br></div><div>[try]</div><div>maxhistory=<num></div><div><br></div><div>in your ~/.mozbuild/machrc.<br></div><div><br></div><div><br></div><div><u>Caveats</u></div><div><u><br></u></div><div>As mentioned earlier, pushes with try syntax aren't saved in</div><div>history as they don't use `try_task_config.json` files. When/if<br></div><div>bug 1400295 lands, then pushes generated with try syntax</div><div>will start working.</div><div><br></div><div>The full taskgraph might change between the time you</div><div>originally ran the push and the time you re-push with |mach try<br></div><div>again|. If this happens, it's possible the tasks you previously</div><div>scheduled were renamed (or removed) and the decision task</div><div>will fail.</div><div><br></div><div>-Andrew<br></div><div><u></u></div></div>