all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Yuri Khan <yuri.v.khan@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Robert Pluim <rpluim@gmail.com>,
	Andreas Schwab <schwab@linux-m68k.org>,
	Lars Ingebrigtsen <larsi@gnus.org>,
	Emacs developers <emacs-devel@gnu.org>
Subject: Re: master bdda935 2/2: Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Date: Wed, 19 Aug 2020 01:47:02 +0700	[thread overview]
Message-ID: <CAP_d_8XPSXBKa=wjeiNouTuHX4j2dg_8QLe3y8zStC3dCbgTGQ@mail.gmail.com> (raw)
In-Reply-To: <jwvsgcj6gve.fsf-monnier+emacs@gnu.org>

On Tue, 18 Aug 2020 at 23:48, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

> The question then becomes: how does Magit do that?  (or does it come
> with the same caveats that I mentioned regarding execution time,
> treatment of non-committed changes, the set of files whose mtime is
> affected, ...)

I think it checks out the other branch, then merges the current
branch, then does whatever cleanup necessary. (That does not include
restoring mtimes and recovering spent time.)

Generally speaking, merging while the working copy is dirty is not
recommended, the reason being, if the merge results in conflicts,
you’d probably like to be able to use the working copy to resolve
them. Having uncommitted changes there makes things confusing,
especially if they themselves conflict with the changes in any of the
branches being merged.

Mtime probably changes for every file that changes during the
intermediate checkout and the subsequent merge.

Raymond Chen of Microsoft once described a technique to craft commits
in a Git repository without ever touching the working copy, because
that would change the mtimes of some files and subsequently trigger a
rebuild, and/or be slow due to updating the working copy:

1. [Building a commit manually out of a
tree](https://devblogs.microsoft.com/oldnewthing/20190506-00/?p=102478)
2. [Building a merge commit manually out of a
tree](https://devblogs.microsoft.com/oldnewthing/20190507-00/?p=102480)

That assumes that the hard part of the merge (i.e. actual merge and
conflict resolution) is already done and the result recorded in a tree
somewhere in Git, though.



  reply	other threads:[~2020-08-18 18:47 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20200816182558.16607.52991@vcs0.savannah.gnu.org>
     [not found] ` <20200816182601.16F2A209AC@vcs0.savannah.gnu.org>
2020-08-16 18:34   ` master bdda935 2/2: Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs Lars Ingebrigtsen
2020-08-16 19:03     ` Eli Zaretskii
2020-08-16 19:13       ` Lars Ingebrigtsen
2020-08-17 14:15     ` Robert Pluim
2020-08-17 14:57       ` Stefan Monnier
2020-08-17 15:37         ` Robert Pluim
2020-08-17 16:58           ` Eli Zaretskii
2020-08-17 16:03         ` Andreas Schwab
2020-08-17 19:54           ` Stefan Monnier
2020-08-17 20:05             ` Andreas Schwab
2020-08-17 20:31               ` Stefan Monnier
2020-08-18  9:41                 ` Yuri Khan
2020-08-18 16:48                   ` Stefan Monnier
2020-08-18 18:47                     ` Yuri Khan [this message]
2020-08-19  5:16                     ` Madhu
2020-08-19 13:15                       ` Stefan Monnier
2020-08-17 15:58       ` Eli Zaretskii
2020-08-17 16:11         ` Paul Eggert
2020-08-17 16:26           ` Lars Ingebrigtsen
2020-08-17 16:29             ` Paul Eggert
2020-08-17 17:01               ` Lars Ingebrigtsen
2020-08-17 17:08             ` Eli Zaretskii
2020-08-17 18:03               ` Lars Ingebrigtsen
2020-08-17 18:16                 ` Eli Zaretskii
2020-08-17 18:43                   ` Lars Ingebrigtsen
2020-08-17 19:28                     ` Eli Zaretskii
2020-08-17 20:05                     ` David De La Harpe Golden
2020-08-18 19:02                       ` Basil L. Contovounesios
2020-08-19  3:56                         ` Amin Bandali
2020-08-19 13:04                         ` Stephen Leake
2020-08-19  9:13                     ` Rebasing vs. merging Teemu Likonen
2020-08-19  9:49                       ` Kévin Le Gouguec
2020-08-19 14:51                       ` Eli Zaretskii
2020-08-19 16:09                         ` Paul Eggert
2020-08-19 16:22                         ` John Wiegley
2020-08-17 18:45                   ` Rebasing vs merging (was: master bdda935 2/2: Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs) Óscar Fuentes
2020-08-17 17:02           ` master bdda935 2/2: Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 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='CAP_d_8XPSXBKa=wjeiNouTuHX4j2dg_8QLe3y8zStC3dCbgTGQ@mail.gmail.com' \
    --to=yuri.v.khan@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=rpluim@gmail.com \
    --cc=schwab@linux-m68k.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.