emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Referring to revisions in the git future.


From: Alan Mackenzie
Subject: Re: Referring to revisions in the git future.
Date: Wed, 29 Oct 2014 11:18:37 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

Hello, David.

On Wed, Oct 29, 2014 at 09:50:28AM +0100, David Kastrup wrote:
> Alan Mackenzie <address@hidden> writes:

> > Hello, Emacs.

> > We are switching to git, soon.

> > git doesn't have revision numbers.  Instead it uses cryptic
> > identifiers, which are not very useful in day to day conversation.  A
> > bit like in George Orwell's "Newspeak", where lingusists constantly
> > removed words and meanings so as to render certain notions literally
> > inexpressible, we seem to be faced with the same situation.

> > On this list, one quite often sees statements such as:

> >     "That was fixed in revision 118147, have you updated since then?"

> > or

> >     "The bug seems to have been introduced between 118230 and 118477.
> >     Maybe you could do a bisect to track it down.".

> So what are people going to do with this kind of information?
> Copy&paste it into some command line.  A 40-letter string works just as
> well as a 6 letter string for that.

Copy&paste using a mouse is a tedious operation which interrupts
workflow.  A number like 118230 can be easily memorised and typed in to a
command line.

What else am I going to do with the information?  A revision number
contains useful meta-information: how old the revision is (more or less),
and whether it comes before or after another revision (more or less).  In
the above "fancy doing a bisect?" example, it's immediately clear that
the bisect operation is going to be taking around 7 or 8 repetitions,
that clarity being more immediate and subconscious than calculated.  One
can estimate, quasi subconsciously, whether the tedium involved in the
bisection would be well spent, or whether some other approach would be
better.

A revision number tells you how old the repository is.  With 118230, the
repository is clearly decades old.  With 729, it might be as young as a
few months.

With revision hashes, all that information is absent.  To get it, one is
forced to enter tedious command line commands, likely having to use a
mouse to cut and paste the hash - twice.  It is analogous to being able
to refer to people by their names, compared with having to use some sort
of random identifier.

Having revision numbers clearly works very well.  bzr and hg both have
them in addition to the universe-unique hashes.  git is missing this
useful feature.

> -- 
> David Kastrup

-- 
Alan Mackenzie (Nuremberg, Germany).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]