./mach try fuzzy: A Try Syntax Alternative

Andrew Halberstadt ahalberstadt at mozilla.com
Mon Aug 14 20:53:22 UTC 2017

Btw, there's now a non-interactive mode landed with -q/--query. E.g to run
all browser-chrome:
./mach try fuzzy -q "'browser-chrome"

(You may want to first enter interactive mode to make sure your query will
actually select what you want, ctrl-c, then retype the query with -q so
it's in your shell history)


On Wed, Aug 2, 2017 at 10:30 AM Andrew Halberstadt <ahalberstadt at mozilla.com>

> I'm pleased to announce an alternative method for scheduling tasks on try
> is now landed on mozilla-central. It makes use of the awesome fzf [1]
> project to filter down the list of all task labels with a fuzzy matching
> algorithm.
> It works both with mercurial or git. If using mercurial, you'll need to
> make sure you're updated to the latest version-control-tools:
> $ ./mach mercurial-setup --update
> To push to try, run:
> $ ./mach try fuzzy
> This will prompt you to install fzf. After bootstrapping is complete,
> it'll generate the task list. This takes around ~10-20 seconds, but will be
> cached so subsequent invocations won't incur this penalty again.
> Now you'll be in the fzf interface. Basic usage is to start typing to
> filter down the task list. You can use the arrow keys to move the cursor up
> or down, <tab> to select a task, <ctrl-a> to select all tasks and <enter>
> to schedule the current selection (and their dependencies) on try.
> There are a ton more keyboard shortcuts and features you can use to tweak
> fzf just to your liking. For extra help, see:
> $ ./mach try fuzzy --help
> or
> $ man fzf
> For a demo and more information on implementation details, see:
> https://ahal.ca/blog/2017/mach-try-fuzzy/
> I expect this to work on all platforms including Windows for both
> mercurial (with push-to-try) and git (with git-cinnabar). But it's a new
> tool without a lot of real world testing, so a few bumps are likely. If you
> find any bugs or bad UX, please file a bug under Testing :: General and let
> me know (we should find a better component for this).
> Cheers,
> Andrew
> p.s When running the fzf bootstrap, you'll be prompted to install some
> shell extensions. These aren't necessary for |mach try fuzzy| to work so
> feel free to hit 'N' at each prompt. That being said, the fzf shell
> extensions are awesome. I highly encourage you to look into setting it up
> for your shell. The fzf vim plugin is also great. See the project [1] for
> more details.
> [1] https://github.com/junegunn/fzf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/firefox-dev/attachments/20170814/6798668a/attachment.html>

More information about the firefox-dev mailing list