Note:

This page is primarily intended for developers of Mercurial.

/!\ This is still only an idea from durin42. It does NOT yet represent a plan of record.

Rationale

We've been accumulating functionality that the average user probably wants on by default, but can't always turn on by default due to our compatibility rules. The idea of "Friendly HG" is to give us an opt-in way for users to request our best features as they become polished and ready, even in cases where that violates some of our compatibility rules.

Proposed Name

[ui]
modernize = yes

Rejected alternatives: friendly, progressive: These have negative implications we don't particularly like.

Jun: since the config is likely to be a set of individual configs. It may be better to be implemented as a rc file. So %include friendly is the way to use it. The rc could also enable pager, color, rebase, histedit extensions etc.

Proposed Items

Ideas for later

Naming

The best proposal I've heard for the name for this config knob is ui.progressive. We want something that suggests the moving-target nature of the knob, but also doesn't imply that we think hg without this is bad, just that we think this is better.

Implementation

This would change some defaults, but users can still override things (for example, if we include pager, durin42 and mpm can put [extensions] pager = ! in their hgrc.) HGPLAIN would disable all default-changes from friendlyhg, so automation tooling still works as expected.


CategoryNewFeatures