unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: David Kastrup <dak@gnu.org>, emacs-devel@gnu.org
Subject: Re: Obscure error/warning/information message from git pull
Date: Thu, 20 Nov 2014 12:01:25 +0900	[thread overview]
Message-ID: <87ioiatw1m.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <83mw7n6j83.fsf@gnu.org>

Eli Zaretskii writes:

 > > Branches are ephemeral, the commit graph is static.  Equating the two
 > > will not do your understanding favors.
 > 
 > Didn't expect to hear this from you.  Others, yes, but not you.

David tends to be overly emphatic.

In this thread AIUI we're trying to help existing Emacs developers who
find git to be new and confusing.  Eli is proposing that *they* adopt
the abstraction of "branch" as being

    a structure defined by transitive closure of the parent relation
    that "really exists" in the DAG, *with* a "branch ref" as a
    (possibly mutable) name that is an *essential* "handle" to the
    branch for operations such as commit and merge.

I think it's reasonable to say that for the purposes of these
developers, that is useful and unlikely to cause them any harm.

During the transition period (broadly speaking; I wouldn't be
surprised if people are still digging patches out of dormant bzr
branches in late 2016!), it is highly unlikely that they will
encounter any behaviors in the public Emacs repos (renamed branches,
branches that have a social identity with a different extent from
master..branch in the DAG, etc) that violate the "branch ref +
reachable commits" model.  This isn't as restrictive a model as the
one Alan Mackenzie has in mind, with branch as an actual queryable
object with persistent identity and metadata.  The branch-is-object
model is clearly wrong in git.

In other words, branches are implemented in a way that makes them
ephemeral in principle, but you won't need to notice that in Emacs
practice (and Eli advocates ignoring that fact).

On the other hand, the ephemerality of branches is one of the
principal sources of power in git.  I agree entirely with David that
confusing the DAG of commits with a collection of branches means you
lose a lot of the benefits of git, and makes it very hard to use git
as effectively as you used branch-oriented VCSes.




  reply	other threads:[~2014-11-20  3:01 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-14 12:06 Obscure error/warning/information message from git pull Alan Mackenzie
2014-11-14 13:10 ` Tassilo Horn
2014-11-14 13:44   ` Andreas Schwab
2014-11-14 14:14   ` Andrew Burgess
2014-11-14 18:05     ` Alan Mackenzie
2014-11-14 18:58       ` Andreas Schwab
2014-11-14 20:09         ` Alan Mackenzie
2014-11-14 20:41           ` Christoph
2014-11-14 20:52           ` Andreas Schwab
2014-11-14 22:04             ` Alan Mackenzie
2014-11-15  7:28               ` Tassilo Horn
2014-11-15 19:40           ` Florian Weimer
2014-11-15 21:45             ` Alan Mackenzie
2014-11-15 22:02               ` Florian Weimer
2014-11-16  9:10               ` David Kastrup
2014-11-20  2:56             ` Rob Browning
2014-11-14 20:50       ` Tassilo Horn
2014-11-14 20:57       ` Sergey Organov
2014-11-14 21:27         ` Eli Zaretskii
2014-11-14 23:56           ` Michael Welsh Duggan
2014-11-15  7:36             ` David Kastrup
2014-11-14 23:02         ` Alan Mackenzie
2014-11-14 23:17           ` David Engster
2014-11-15  7:52             ` Eli Zaretskii
2014-11-15  8:18               ` David Engster
2014-11-15  8:54                 ` Eli Zaretskii
2014-11-14 23:40           ` David Caldwell
2014-11-15  7:40           ` David Kastrup
2014-11-15  8:43             ` Eli Zaretskii
2014-11-15  9:12               ` David Kastrup
2014-11-15  9:53                 ` Eli Zaretskii
2014-11-15 10:28                   ` David Kastrup
2014-11-15 11:13                     ` Eli Zaretskii
2014-11-15 14:30                       ` David Kastrup
2014-11-15 17:56                         ` Eli Zaretskii
2014-11-15 18:17                           ` David Kastrup
2014-11-15 12:05                     ` Alan Mackenzie
2014-11-15 14:35                       ` David Kastrup
2014-11-15 15:57                         ` Michael Welsh Duggan
2014-11-15 16:56                           ` David Kastrup
2014-11-15 19:57                         ` Alan Mackenzie
2014-11-15 20:48                           ` Achim Gratz
2014-11-16  9:33                             ` David Kastrup
2014-11-16  9:23                           ` David Kastrup
2014-11-16 15:28                             ` Eli Zaretskii
2014-11-16 15:47                               ` David Kastrup
2014-11-16 13:25           ` Thien-Thi Nguyen
2014-11-16 15:26             ` Tassilo Horn
2014-11-16 15:35             ` Eli Zaretskii
2014-11-16 16:16               ` David Kastrup
2014-11-16 16:44                 ` Andreas Schwab
2014-11-16 17:54                 ` Eli Zaretskii
2014-11-16 20:24               ` Thien-Thi Nguyen
2014-11-17 11:54           ` Sergey Organov
2014-11-17 14:11             ` Alan Mackenzie
2014-11-18 16:59               ` Sergey Organov
2014-11-18 17:33                 ` Eli Zaretskii
2014-11-18 17:58                   ` Sergey Organov
2014-11-18 18:18                     ` Eli Zaretskii
2014-11-18 18:40                       ` David Kastrup
2014-11-18 18:53                         ` Eli Zaretskii
2014-11-18 20:57                       ` Sergey Organov
2014-11-18 22:43                         ` Alan Mackenzie
2014-11-19  0:48                           ` Barry Warsaw
2014-11-19  9:50                             ` David Kastrup
2014-11-19  1:12                           ` Yuri Khan
2014-11-19 16:18                             ` Eli Zaretskii
2014-11-19 16:39                               ` Sergey Organov
2014-11-19 16:49                               ` Yuri Khan
2014-11-19  4:48                           ` Teemu Likonen
2014-11-19  6:57                             ` Stephen J. Turnbull
2014-11-19 13:55                               ` Teemu Likonen
2014-11-19  8:22                           ` Thien-Thi Nguyen
2014-11-19 12:14                           ` Achim Gratz
2014-11-19 13:55                             ` Alan Mackenzie
2014-11-19 15:00                               ` David Kastrup
2014-11-19 15:15                               ` Sergey Organov
2014-11-19 15:24                               ` Achim Gratz
2014-11-19 15:36                                 ` David Kastrup
2014-11-19 16:00                                 ` Sergey Organov
2014-11-19 16:42                               ` Stephen J. Turnbull
2014-11-20  0:57                               ` Alexis
2014-11-20 15:52                                 ` Eli Zaretskii
2014-11-19 16:20                             ` Eli Zaretskii
2014-11-19 16:36                               ` Sergey Organov
2014-11-19 18:40                                 ` Stephen J. Turnbull
2014-11-19 18:48                                 ` Eli Zaretskii
2014-11-19 20:05                                   ` David Kastrup
2014-11-19 20:14                                     ` Eli Zaretskii
2014-11-20  3:01                                       ` Stephen J. Turnbull [this message]
2014-11-20 15:53                                         ` Eli Zaretskii
2014-11-19 18:29                               ` Teemu Likonen
2014-11-18 23:07                         ` Stephen J. Turnbull
2014-11-18 23:35                           ` Alan Mackenzie
2014-11-19  1:31                             ` Stephen J. Turnbull
2014-11-19  3:43                         ` Eli Zaretskii
2014-11-18 21:59                       ` John Yates
2014-11-19  3:47                         ` Eli Zaretskii
2014-11-19 10:08                           ` David Kastrup
2014-11-19 16:19                             ` Eli Zaretskii
2014-11-18 22:59                   ` Stephen J. Turnbull
2014-11-19 16:16                     ` Eli Zaretskii
2014-11-19 16:48                       ` Stephen J. Turnbull
2014-11-19 18:44                         ` Eli Zaretskii
2014-11-14 21:04       ` David Kastrup
2014-11-14 13:46 ` Andreas Schwab
2014-11-14 13:59   ` Lars Magne Ingebrigtsen
2014-11-14 14:08   ` Tassilo Horn
2014-11-14 15:51     ` Andreas Schwab
2014-11-14 15:53       ` Lars Magne Ingebrigtsen
2014-11-14 20:41         ` Tassilo Horn
2014-11-14 20:52           ` Eli Zaretskii
2014-11-14 16:48       ` Eli Zaretskii
2014-11-14 14:38   ` Eli Zaretskii
2014-11-14 15:50     ` Andreas Schwab
2014-11-14 16:47       ` Eli Zaretskii
2014-11-14 17:03     ` Michael Welsh Duggan
2014-11-14 17:23       ` Eli Zaretskii
2014-11-14 17:30         ` Andreas Schwab
2014-11-14 20:30           ` Eli Zaretskii
2014-11-14 21:12             ` Andreas Schwab
2014-11-14 21:28               ` Eli Zaretskii
2014-11-14 21:18         ` David Kastrup
2014-11-14 21:35           ` Eli Zaretskii

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=87ioiatw1m.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=dak@gnu.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.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).