all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: Emacs developers <emacs-devel@gnu.org>,
	Kaushal Modi <kaushal.modi@gmail.com>
Subject: Re: Understanding a recent commit in emacs-25 branch [ed19f2]
Date: Sun, 3 Apr 2016 12:03:00 +0000	[thread overview]
Message-ID: <20160403120300.GB3537@acm.fritz.box> (raw)
In-Reply-To: <56FE1882.9030904@cs.ucla.edu>

Hello, Paul.

On Thu, Mar 31, 2016 at 11:43:14PM -0700, Paul Eggert wrote:
> Kaushal Modi wrote:
> > OK, I think I need some git education.

> > There was one section in your commit (
> > http://git.savannah.gnu.org/cgit/emacs.git/diff/lisp/isearch.el?h=emacs-25&id=ed19f207449c43f7f08285ada87ae7a46c61c8d1
> > ) which was already committed earlier (
> > http://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/isearch.el?h=emacs-25&id=91e667692ba1362ca1334b8d58fd16c305ad5e2a
> > ). As I am familiar with that single commit, I know that they are identical.

> > Also I noted that your commit has a repeat of all the backquote/straight
> > quote changes in NEWS that happened recently.

> > But without this prior knowledge, how can one separate these duplicate
> > commits from the commits that actually are new?
> > Also, what is the reason for such duplicate commits happening?

> There aren't any duplicate commits.

> When you visit 
> http://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-25&id=ed19f207449c43f7f08285ada87ae7a46c61c8d1 
> the website shows you the output of this command:

> git diff 
> ed19f207449c43f7f08285ada87ae7a46c61c8d1^..ed19f207449c43f7f08285ada87ae7a46c61c8d1

> The commit ed19f207449c43f7f08285ada87ae7a46c61c8d1 is a merge with two parents: 
> commits eabd667a9584fe5bd2422e296d256dceea67debf (which is a single incomplete 
> fix for cc-mode) and 7c1802f6ffc2704ba8042c7c1c6faa73dfa210d1 (which is the main 
> thread of the emacs-25 branch). The way Alan merged, the former commit is the 
> first parent, so the abovementioned diff output looks large -- it contains many 
> emacs-25 changes all squashed together. It might have been nicer if Alan had 
> merged the other way, so that that the main thread was the first parent, but 
> that's water under the bridge now. (In this particular case I would have avoided 
> a merge entirely, and would have rebased instead, as that makes such changes 
> easier for others to follow later; but that's also water under the bridge.)

It was git that prepared the merge, not me.  What happened was that the
"more recent" commit 22443312... created a conflict with the commits in
a git pull.  git, rather than aborting the pull operation, splurged the
contents of all the other commits in the pull into my working directory,
saying "Conflict in ....  You need to merge".  I simply merged as
directed.

Is there a better way out of this situation than just merging as
directed?  Can one somehow get out of this partially completed git pull,
then redo it with --rebase?

> Understanding what happened is somewhat complicated by the more-recent commit 
> 22443312188ff097b69d9ff4b87c2b4f7bbbc263, which finished fixing the cc-mode 
> patch and undid some of the effect of the incomplete fix.

This was what created the conflict, I think.

> You can see all this more easily by running the shell command "gitk" in a 
> directory containing a checked-out copy of the emacs-25 branch.

I haven't got gitk.  Is it supposed to be part of the main git
distribution?

-- 
Alan Mackenzie (Nuremberg, Germany).



  reply	other threads:[~2016-04-03 12:03 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-01  5:32 Understanding a recent commit in emacs-25 branch [ed19f2] Kaushal Modi
2016-04-01  5:43 ` Kaushal Modi
2016-04-01  6:43   ` Paul Eggert
2016-04-03 12:03     ` Alan Mackenzie [this message]
2016-04-03 12:10       ` Achim Gratz
2016-04-03 14:18         ` Stefan Monnier
2016-04-03 14:49           ` Óscar Fuentes
2016-04-03 18:15           ` Achim Gratz
2016-04-03 18:45             ` Andreas Schwab
2016-04-03 18:56               ` Eli Zaretskii
2016-04-03 20:02               ` Paul Eggert
2016-04-03 21:15                 ` Andreas Schwab
2016-04-03 23:11                 ` John Wiegley
2016-04-03 12:18       ` Ingo Lohmar
2016-04-03 11:17   ` Alan Mackenzie
2016-04-03 11:27     ` Andreas Schwab
2016-04-03 11:40     ` Ingo Lohmar
2016-04-03 12:14       ` Alan Mackenzie
2016-04-03 12:30         ` Ingo Lohmar
2016-04-03 14:12           ` Andreas Schwab
2016-04-03 14:57             ` Ingo Lohmar
2016-04-03 15:08               ` Andreas Schwab
2016-04-03 15:12               ` Eli Zaretskii
2016-04-03 15:01           ` Eli Zaretskii
2016-04-03 15:23             ` Ingo Lohmar
2016-04-03 15:40               ` Eli Zaretskii
2016-04-03 16:00                 ` Ingo Lohmar
2016-04-03 16:19                   ` Eli Zaretskii
2016-04-03 16:24                     ` Andreas Schwab
2016-04-03 17:09                       ` Eli Zaretskii
2016-04-03 17:35                         ` Andreas Schwab
2016-04-03 18:04                           ` Eli Zaretskii
2016-04-03 11:44     ` Dmitry Gutov

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=20160403120300.GB3537@acm.fritz.box \
    --to=acm@muc.de \
    --cc=eggert@cs.ucla.edu \
    --cc=emacs-devel@gnu.org \
    --cc=kaushal.modi@gmail.com \
    /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.