Thread (17 messages) 17 messages, 8 authors, 2016-08-11

Re: Cleaning up git user-interface warts

From: Carl Worth <hidden>
Date: 2016-08-11 20:21:40

On Tue, 14 Nov 2006 15:52:47 -0500 (EST), Nicolas Pitre wrote:
Even if I have a clear preference for GIT's _technology_, I still think
that the HG user interface is more convivial.  I even been thinking
about writing something like an hg-like frontend to GIT from time to
time just so that GIT could then be better compared to (and actually
just used like) HG.
I've actually been tempted to do the same myself. I really think that
the technology is a more important criterion than the UI so the
imagined hg-on-git interface would be an attempt to get people to look
past the interface differences and look at the technology when
deciding.

But, then, I'd be guilty of creating another cogito, and I just argued
against its existence in a separate thread. So I think we're better
off just fixing the git interface.
I still think that the GIT user interface sucks in many ways.  The
confusion between pull, fetch and push is still my favorite, along with
the locale vs remote branch issue.  Maybe we'll better handle the branch
issue eventually,
The --use-separate-remotes thing is technology in the right direction
here. But I think it's another example of very useful stuff being
improperly hidden behind another command-line option. Getting rid of
the "remote-tracking branches" as user-visible branches possible for
committing should be a priority. And that should be the default for
everyone, not just people who happen to clone with this obscure
option.

Similarly, the reflog stuff was often trumpeted in the recent git
vs. bzr debate. Why is that very useful functionality buried in a
config file option and not just stored by default?
This is really what most people expect from such a command name based
on obvious historical reasons.  The lack of any branch argument to
git-pull and git-merge could be defined as using the first defined
remote branch by default.
Once again, there's lots of useful work on "branch configuration" that
allows for commands to be able to get the "right" default repository
for push and pull. I hope that that stuff can be enabled by default
and not require --use-separate-remotes or manual configuration for
people to benefit from it.

I apologize if I sound like I'm ranting here. I love to see the many
good improvements being made to git. It's just that there seems to be
a sort of shyness about new features, (perhaps a fear of changing
existing behavior?). When it improves the user experience, let's make
the improvement the default and not add any more

	--make-this-command-do-what-it-really-should-have-always-done

options.

-Carl

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help