Improving requirement error message

Pierre-Yves David pierre-yves.david at logilab.fr
Wed Jun 22 08:45:52 CDT 2011


On Wed, Jun 22, 2011 at 09:13:12AM +0200, Adrian Buehlmann wrote:
> > Lack hint about how to solve the issue
> > --------------------
> > This is the main issue in my opinion.
> > 
> > The user just get the error and have no clue about how to handle it. 
> 
> This is not true. For 1.9 we will have:

Upgrading mercurial is not the only way to handle the issue.  Using bundle,
recreating the repository with specific flag or talking throught wireprotocol
are valid solution too. Upgrading a software is not possible in several
situation (see previous email on this thread), we *must* highlight solution
that doesn't include software upgrade.

> > Only display the first missing feature
> > --------------------
> > Hiding the full issue to the user might be very frustrating. This is something to fix in my opinion
> > 
> > The goal is to avoid the following scenario:
> 
> Which we already avoided by improving the error message for 1.9 with
> http://selenic.com/repo/hg/rev/973959fbe8ec

This error only fix version related stuff. It still only display a single
missing requirement.

I have another example where not display requirements is an issue:

1) Alice give acces to an on-disk repository to Bob. this repo use dotencode+generaldelta (again)
2) Bob use 1.6 and get abort: […] requires features 'dotencode' 
3) Bob ask Alice a repository without dotencode
4) Alice create a new repository without dotencode
5) Alice give acces to an on-disk repository to Bob. this repo use general-delta
6) Bob use 1.6 and get abort: […] requires features 'generaldelta'
7) Bob ask Alice a repository without dotencode+generaldelta
8) Alice create a new repository without dotencode+generaldelta
9) Bob access the repo

step (3)(4)(5)(6) could have been avoided.

> We can't change his 1.6 any more.

come-on read the Note attached to the scenario. "Version and requirement used
here are for demo purpose only"

> > 3) Bob check the wiki see that dotencode is introduced in 1.7,
> > 4) Bob install version 1.8.0 (may include fighting with IT departement),
> 
> If Bob doesn't install the latest and greatest version we make here,
> then it's not our fault.

We hide the full error to Bob. We are responsible for bob to think that
upgrading up to 1.7.x is enought. Please refer to previous email in the thread
about "why people don't just upgrade to lastest version".

-- 
Pierre-Yves David

http://www.logilab.fr/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20110622/653293c2/attachment.pgp>


More information about the Mercurial-devel mailing list