all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: David Kastrup <dak@gnu.org>
To: emacs-devel@gnu.org
Subject: Re: Obscure error/warning/information message from git pull
Date: Wed, 19 Nov 2014 11:08:05 +0100	[thread overview]
Message-ID: <87wq6rh5a2.fsf@fencepost.gnu.org> (raw)
In-Reply-To: 83sihf97hm.fsf@gnu.org

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Tue, 18 Nov 2014 16:59:58 -0500
>> From: John Yates <john@yates-sheets.org>
>> Cc: Sergey Organov <sorganov@gmail.com>, Emacs developers <emacs-devel@gnu.org>
>> On Tue, Nov 18, 2014 at 1:18 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> 
>>     You cannot help people understand new tools if you start by telling
>>     them to forget everything they've learned. You should instead build
>>     on what they know, or think they know, gradually replacing that with
>>     new knowledge.
>> 
>> Earlier VCS often had more reified branches. A phrase that crops up a
>> lot in git descriptions is "lightweight branching". This was achieved
>> by paring back the branch concept - leaving nothing more than the nodes
>> reachable from a named ref - and by making ref manipulation very common.
>> 
>> When contrasting git to earlier VCS in none of the git intros I have
>> read have I seen that particular point made.
>
> You are again talking about differences in implementation.  "Branch"
> the concept does not change a bit, no matter what VCS are you using.

When "Branch the concept" leads you to conclude "this can't happen" for
things that clearly can, it is of moderate usefulness.

In a Git repository, the branching structure evolves.  The original
branches something was committed on may no longer exist (this is the
rule rather than the exception for user-committed changes "directly" in
master).  In Git, a branch is a throwaway entity, created on a whim,
renamed, moved, merged, rebased on a whim.  In CVS, it was something
really expensive IIRC.

Git has a record of the "real history".  This record is kept in
"reflogs" which are periodically cleaned out, are ephemeral, limited to
local access and tied into one particular repository.  The reflogs are
good for analyzing major oopses and recovering from them.  But they are
not part of the _distributed_ version control.

Reflogs contain the _actual_ history.  In contrast, everything one
shares with others is a deliberate, vetted history.  And that's what on
public and shared record.  This deliberate vetted history does not
include information about what branch some commit originated from.  You
may put something about it in the commit message, but it is not part of
the automatically managed metadata.  Keeping it consistent would be
really hard, and Git does not even try.

Pretending that it must nevertheless be a part of Git's concepts does
not really buy you anything.  You cannot make useful deductions about
Git's behavior based on theories that ascribe magic properties to
branches that have no reflection in the data Git actually stores.

-- 
David Kastrup




  reply	other threads:[~2014-11-19 10:08 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
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 [this message]
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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wq6rh5a2.fsf@fencepost.gnu.org \
    --to=dak@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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.