Subject: bug#22083: 25.0.50; hg: adding tag enhances the rev, modeline does not reflect

From: Eli Zaretskii <[email-masked]>
Date: Fri, 04 Dec 2015 10:55:17 +0200

> From: Dmitry Gutov <[email-masked]>
> Date: Fri, 4 Dec 2015 05:09:14 +0200
> 
> > Closing  and reopening the buffer the modline reflects  HG-30
> >
> > Instead of HG-31.
> >
> > Can anybody confirm this, bug or feature?
> 
> I don't know if it's a bug, but it's definitely lack of a feature: 
> unlike, say, Git, the Hg backend doesn't define its own mode-line-string 
> handler, so the mode line displays what vc-default-mode-line-string 
> returns, and it uses the current revision without any tags.
> 
> Do we really want to display the current tag in the mode-line? Do we 
> want to see the word "tip" in there?

IMO, the answer depends on 2 factors:

  . what the hg users expect
  . what can be usefully shown in the small space we can afford for
    this on the modeline

More generally, I don't see the current display as a bug, because this
part of the mode line shouldn't be expected to tell too much about the
version anyway.  Modern dVCSes are not like RCS or CVS: showing
something like rXX.YY is no longer possible, or meaningful.  A file
under Git shows me a (silly, IMO) "Git-BRANCH_NAME" string that tells
absolutely nothing about the current revision.  If we wanted to be
sure some useful revision-specific information is shown, we would need
to change the Git implementation to show what "git describe" returns,
for example.

So IMO before we discuss Uwe's request, we should decide what exactly
is the meaning of that string we show in the modeline.  I don't think
it is well defined as things stand now.