On Sat, 19 Jan 2019 05:12:36 -0800, Ludovic Chabant wrote: > # HG changeset patch > # User Ludovic Chabant <ludo...@chabant.com> > # Date 1547180577 28800 > # Thu Jan 10 20:22:57 2019 -0800 > # Node ID 5686d56d5a2cebaa504383b270e359156352090f > # Parent ef0e2f7224358c32b0f62b13e83e89ba2399c8cf > extdiff: add --per-file and --confirm options
> +def _checktool(ui, tool): > + if not procutil.gui(): > + needsgui = (ui.config('diff-tools', tool+'.gui') or > + ui.config('merge-tools', tool+'.gui')) > + if needsgui: > + ui.warn(_("tool %s requires a GUI\n") % tool) > + return False > + return True Can you split this to a separate patch? It'll need a bit more churn, and we wouldn't want to make it a blocker of the --per-file/--confirm feature. What I pointed out last time was that we shouldn't spawn non-GUI tools asynchronously. You can see the problem by the following command on Unix. $ hg --config extdiff.vimdiff= vimdiff -c. --per-file > def __call__(self, ui, repo, *pats, **opts): > + if not _checktool(ui, self._cmd): > + return 2 Nit: just raise error.Abort(). And perhaps, it's too late to compare ui.config value based on self._cmd here. If self._cmd is the key of [diff-tools] for example, we shouldn't look for [merge-tools]. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel