From: David Kastrup <dak@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: "Stephen J. Turnbull" <stephen@xemacs.org>, emacs-devel@gnu.org
Subject: Re: On the popularity of git [Was: Git question: when using branches, how does git treat working files when changing branches?]
Date: Sat, 31 Oct 2015 13:19:42 +0100 [thread overview]
Message-ID: <87twp72psx.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <83611nzbqr.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 31 Oct 2015 10:24:44 +0200")
Eli Zaretskii <eliz@gnu.org> writes:
> More generally, Git's main problem is that it breaks almost every
> human habit gained with the other VCSes: instead of an easily
> remembered numerical version IDs you have those inhuman hashes
Shrug. In a distributed version control system, numerical version IDs
don't make sense. Letting them make sense again requires beating some
sort of unified meaning into the distributed version graph that is not
inherently there, exactly because it is a distributed version control
system. Git does not try to do it. Other distributed version control
systems do, resulting in failure modes and/or merge complications that
are not obvious to people to whom linear numberings are obvious.
> and the HEAD^^^^ and {m,n} thingies, instead of being able to say
> "commit" and commit the entire changeset you need "git add" first,
> etc. etc.
CVS did not commit more than specified files. So nothing new here.
> _That_ is the single most important problem with Git that begets all
> the other problems in usability and user-friendliness: it doesn't give
> a damn about established VCS practices and mnemonics, and breaks them
> all one after another. It does that consciously and on purpose. And
> after all that, it expects me to like it. Ha!
Well, the point of Git's separate staging area is that it breaks the
established practice on _purpose_, but not out of _malice_. The
resulting behavior is convenient as well as logical, and it is strictly
local (so does not affect the repository state or workflow at all and
consequently is orthogonal to most web interfaces). And it is part of
the reason that people prefer Git over other "established VCS practices
and mnemonics" since those other version control systems refuse making
stuff more convenient out of principle.
Splitting operations into index operations and repository operations
means that when you look at the repository history, the additional index
stuff available for making local work more convenient does not need to
get taken into account.
So Git has an additional toolbox for preparing commits before they enter
the repository. Web interfaces concerned with the repository might
choose to do something entirely different. Read-only interfaces do not
even need to know anything about it and its workflow.
You can sort-of bypass it by using "git commit -a" all the time.
--
David Kastrup
next prev parent reply other threads:[~2015-10-31 12:19 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-28 19:20 Git question: when using branches, how does git treat working files when changing branches? Alan Mackenzie
2015-10-28 19:44 ` David Kastrup
2015-10-28 20:00 ` Steinar Bang
2015-10-28 20:04 ` Ricardo Wurmus
2015-10-28 20:10 ` Alex Bennée
2015-10-28 22:32 ` Alan Mackenzie
2015-10-28 22:56 ` Xue Fuqiao
2015-10-28 22:59 ` Óscar Fuentes
2015-10-28 23:53 ` Alan Mackenzie
2015-10-29 0:17 ` Dmitry Gutov
2015-10-29 0:28 ` Michael Heerdegen
2015-10-29 0:49 ` Michael Heerdegen
2015-10-29 2:25 ` Yuri Khan
2015-10-29 8:21 ` David Kastrup
2015-10-29 12:35 ` Alan Mackenzie
2015-10-29 13:21 ` David Kastrup
2015-10-29 17:02 ` On the popularity of git [Was: Git question: when using branches, how does git treat working files when changing branches?] Alan Mackenzie
2015-10-29 17:22 ` David Kastrup
2015-10-29 18:08 ` John Wiegley
2015-10-30 7:48 ` Paul Eggert
2015-10-30 9:27 ` Alan Mackenzie
2015-10-30 9:48 ` David Kastrup
2015-10-30 10:34 ` Eli Zaretskii
2015-10-30 21:44 ` Paul Eggert
2015-10-30 9:09 ` joakim
2015-10-30 10:49 ` Yuri Khan
2015-10-31 3:16 ` Stephen J. Turnbull
2015-10-31 8:24 ` Eli Zaretskii
2015-10-31 8:32 ` Andreas Schwab
2015-10-31 11:35 ` Oleh Krehel
2015-10-31 12:19 ` David Kastrup [this message]
2015-11-02 22:01 ` Nikolaus Rath
2015-11-03 8:42 ` David Kastrup
2015-11-03 17:38 ` Nikolaus Rath
2015-10-31 16:02 ` On the popularity of git Stephen J. Turnbull
2015-11-01 8:08 ` Uwe Brauer
2015-10-31 16:50 ` Alan Mackenzie
2015-10-31 16:58 ` Dmitry Gutov
2015-11-02 22:05 ` Nikolaus Rath
2015-11-03 8:39 ` David Kastrup
2015-10-31 19:24 ` Stephen J. Turnbull
2015-10-31 20:13 ` David Kastrup
2015-10-31 21:08 ` Steinar Bang
2015-10-31 21:15 ` David Kastrup
2015-10-31 21:48 ` Alan Mackenzie
2015-11-01 8:17 ` Steinar Bang
2015-11-01 8:54 ` David Kastrup
2015-11-01 10:17 ` Steinar Bang
2015-11-01 11:15 ` Juanma Barranquero
2015-11-02 20:11 ` John Wiegley
2015-11-03 7:00 ` Oleh Krehel
2015-11-03 10:07 ` Dmitry Gutov
2015-11-03 11:58 ` Juanma Barranquero
2015-11-03 13:08 ` John Wiegley
2015-11-03 13:30 ` Juanma Barranquero
2015-11-03 13:38 ` Dmitry Gutov
2015-11-03 13:43 ` Juanma Barranquero
2015-11-03 13:49 ` Dmitry Gutov
2015-11-03 13:58 ` Juanma Barranquero
2015-11-03 14:14 ` Alan Mackenzie
2015-11-03 14:25 ` Juanma Barranquero
2015-11-03 13:43 ` Oleh Krehel
2015-11-03 14:35 ` Óscar Fuentes
2015-11-03 14:52 ` Juanma Barranquero
2015-11-03 15:58 ` Eli Zaretskii
2015-11-03 16:04 ` Dmitry Gutov
2015-11-03 18:14 ` Óscar Fuentes
2015-11-03 19:40 ` Jay Belanger
2015-11-03 20:15 ` John Wiegley
2015-11-03 20:24 ` Drew Adams
2015-11-03 20:35 ` Changing the tone of emacs-devel (Was: On the popularity of git) John Wiegley
2015-11-03 22:05 ` Artur Malabarba
2015-11-04 7:54 ` Nicolas Petton
2015-11-03 21:47 ` Changing the subject (was: " David Kastrup
2015-11-03 23:37 ` Marcin Borkowski
2015-11-04 0:27 ` John Yates
2015-11-04 1:40 ` Changing the subject Yann Hodique
2015-11-04 15:37 ` John Wiegley
2015-11-03 22:11 ` emacs-devel etiquette (was: Re: On the popularity of git) Stephen Leake
2015-11-04 11:12 ` Future emacs mailing lists. [Was: On the popularity of git] Alan Mackenzie
2015-11-04 7:52 ` On the popularity of git Stephen J. Turnbull
2015-11-03 20:53 ` Richard Stallman
2015-11-03 13:49 ` Andreas Schwab
2015-10-30 12:50 ` On the popularity of git [Was: Git question: when using branches, how does git treat working files when changing branches?] Juanma Barranquero
2015-10-30 14:15 ` David Kastrup
2015-10-30 16:54 ` Juanma Barranquero
2015-10-30 17:31 ` David Kastrup
2015-10-29 16:31 ` Git question: when using branches, how does git treat working files when changing branches? Eli Zaretskii
2015-10-29 16:16 ` Eli Zaretskii
2015-10-29 17:45 ` Davis Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87twp72psx.fsf@fencepost.gnu.org \
--to=dak@gnu.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=stephen@xemacs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).