unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: Eli Zaretskii <eliz@gnu.org>, gscrivano@gnu.org, emacs-devel@gnu.org
Subject: Re: Stupid git!
Date: Mon, 14 Sep 2015 11:09:20 +0000	[thread overview]
Message-ID: <20150914110920.GC3208@acm.fritz.box> (raw)
In-Reply-To: <55F5DC69.1040104@yandex.ru>

Hello, Dmitry.

On Sun, Sep 13, 2015 at 11:28:25PM +0300, Dmitry Gutov wrote:
> On 09/13/2015 12:51 AM, Alan Mackenzie wrote:

> > On branch master
> > Your branch and 'origin/master' have diverged,
> > and have 1 and 1 different commit each, respectively.
> >    (use "git pull" to merge the remote branch into yours)
> > All conflicts fixed but you are still merging.
> >    (use "git commit" to conclude merge)

> I think what Git says here is pretty transparent: commit to conclude the 
> merge.

What confused me is that git aborted the merge despite there being no
conflicts (i.e., nothing requiring the use of an editor to resolve).
git could quite easily have just completed the merge itself instead of
aborting it then requiring me to take mechanical actions to complete it.

> > :-).  OK, but the immediate problem is that _I_ didn't modify
> > file-notify-tests.el.  Somebody else did, and git put his changes into
> > my working directory and `git add'ed it.

> Yes, it did. Have you done any non-trivial merges before? That's how 
> they usually look.

No, I've never done a non-trivial merge in git.  This one presumably
must count as a trivial merge.

> The merge commit shouldn't, generally, include any non-mergy changes, so 
> you're not expected to stage any of the files you've been working on, 
> before committing.

I take it that by "shouldn't .. include include .. non-mergy changes"
you mean that when initiating a merge commit, git won't include any
non-merge changes in the commit.  (The alternative interpretation is
that in a merge commit, the user shouldn't include any other changes.)

> > I don't have the log entry for
> > this change.  So am I supposed to just commit this, with my own log
> > entry?

> The log entry should describe the merge (you could leave the default 
> message there, unless it's necessary to add more info).

I did actually have this log entry, but `git log' didn't display it.
The flag --all was needed for that.

> > I don't really understand what "you are still merging" is supposed to
> > mean.  How do I get out of the "merging" state cleanly, without
> > commiting somebody else's changes?

> The merge commit is *supposed to* include all the changes that have been 
> merged in. If you take it upon yourself to remove those changes from the 
> staging area, as a result Emacs won't include them, and it won't be 
> obvious to most of the people who read emacs-diffs, and then someone 
> will have to find out the hard way that something's missing.

OK, I've got it now.  For some reason, git choses to abort the merge,
despite there being no conflicts between the changes from upstream and
the changes I've committed locally - indeed, to complete the merge is a
fully mechanical action, `git commit'.  This seeming illogicality is
what confused me in the first place.

-- 
Alan Mackenzie (Nuremberg, Germany).



  parent reply	other threads:[~2015-09-14 11:09 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-12 10:15 Stupid git! Alan Mackenzie
2015-09-12 10:21 ` Alan Mackenzie
2015-09-12 10:40 ` Dmitry Gutov
2015-09-12 12:29   ` Alan Mackenzie
2015-09-12 12:34     ` David Kastrup
2015-09-12 12:59       ` Alan Mackenzie
2015-09-12 20:14     ` Dmitry Gutov
2015-09-14 10:09     ` Steinar Bang
2015-09-12 20:37   ` Stefan Monnier
2015-09-12 10:40 ` David Kastrup
2015-09-12 10:53   ` Dmitry Gutov
2015-09-12 12:52   ` Alan Mackenzie
2015-09-12 11:45 ` Giuseppe Scrivano
2015-09-12 13:02   ` Alan Mackenzie
2015-09-12 14:12     ` Andreas Schwab
2015-09-12 15:16     ` Eli Zaretskii
2015-09-12 20:36       ` Alan Mackenzie
2015-09-12 20:43         ` Dmitry Gutov
2015-09-12 21:51           ` Alan Mackenzie
2015-09-13  6:22             ` Sven Axelsson
2015-09-14 10:21               ` Alan Mackenzie
2015-09-14 10:29                 ` David Kastrup
2015-09-14 12:19                   ` Eli Zaretskii
2015-09-14 12:28                     ` David Kastrup
2015-09-14 12:37                       ` Eli Zaretskii
2015-09-14 12:47                         ` David Kastrup
2015-09-14 13:38                           ` Eli Zaretskii
2015-09-14 13:44                             ` David Kastrup
2015-09-14 12:38                   ` Stefan Monnier
2015-09-13  6:49             ` Eli Zaretskii
2015-09-14 10:49               ` Alan Mackenzie
2015-09-15  0:24                 ` Stephen J. Turnbull
2015-09-13 20:28             ` Dmitry Gutov
2015-09-14  3:11               ` Stephen J. Turnbull
2015-09-14 13:47                 ` Dmitry Gutov
2015-09-14 11:09               ` Alan Mackenzie [this message]
2015-09-14 12:22                 ` Eli Zaretskii
2015-09-14 13:42                 ` Dmitry Gutov
2015-09-14 17:05                   ` Steinar Bang
2015-09-14 10:37             ` Steinar Bang
2015-09-13  6:42         ` 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=20150914110920.GC3208@acm.fritz.box \
    --to=acm@muc.de \
    --cc=dgutov@yandex.ru \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=gscrivano@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).