From: Matthieu Moy <Matthieu.Moy@univ-lyon1.fr>
To: Guillaume Cogoni <cogoni.guillaume@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Cc: Jonathan <git.jonathan.bressat@gmail.com>,
BRESSAT JONATHAN p1802864 <jonathan.bressat@etu.univ-lyon1.fr>,
"git@vger.kernel.org" <git@vger.kernel.org>,
"guillaume.cogoni@gmail.com" <guillaume.cogoni@gmail.com>
Subject: Re: [PATCH v1 0/2] Be nicer to the user on tracked/untracked merge conflicts
Date: Tue, 26 Apr 2022 08:38:43 +0200 [thread overview]
Message-ID: <243b40ef-a720-46aa-6657-87ac8d3c3bdc@univ-lyon1.fr> (raw)
In-Reply-To: <fdd9f13d14e942f3a1572866761b9580@SAMBXP02.univ-lyon1.fr>
On 4/26/22 00:28, Guillaume Cogoni wrote:
> Junio C Hamano <gitster@pobox.com> writes:
>
>> So, I am not sure if this is really a good idea to begin with. It
>> certainly would make it slightly simpler in a trivial case, but it
>> surely looks like a dangerous behaviour change, especially if it is
>> done unconditionally.
>
> Can we create a configuration variable to avoid this problem?
> We keep the old behavior by default, and make a configuration variable
> for people who wants to have this new behavior, but if the user set the variable
> a message informs it about the problem that you mention.
>
> Or, we add an option like git pull --doSomething.
>
> Maybe, we can think about another behaviour.
> When the user git pull and this error occurs:
> error: The following untracked working tree files would be overwritten by merge:
> file1.txt
> file2.txt
> Please move or remove them before you merge.
> Aborting
> We don't abort, but we prompt a yes/no for each file, if the user
> wants to remove it.
Git very rarely goes interactive like this (only a few special command
like git send-email, git clean -i, git add -i/-p prompt the user).
Prompting the user in the middle of an operation has several drawbacks:
- When the command is launched from a script, the script may work most
of the time, and sometimes pause on an interactive prompt which wasn't
expected from the author of the script. This can be a bit nasty when the
script isn't ran from a place where you can type to the standard input
of the command or when its output is redirected.
- Asking for each individual file can be tedious when there are many
files. Similarly, "rm -i" (plain rm, not "git rm") is a nice safety
measure, but not really convenient to me at least.
In this particular case, actually, I can't imagine a sane behavior when
the user wants a mix of "yes" / "no". If a single untracked file
conflicts with what's being merged, the merge aborts, even if you're OK
to replace other files. So I can only imagine a single yes/no answer.
And then the question can be replaced with a suggestion to re-run with a
command-line flag when all the conflicting files are unmodified.
--
Matthieu Moy
https://matthieu-moy.fr/
next prev parent reply other threads:[~2022-04-26 6:38 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-27 15:41 [WIP]: make merge nicer to the user Guillaume Cogoni
2022-04-12 19:15 ` [PATCH 0/1] Be nicer to the user on tracked/untracked merge conflicts Jonathan
2022-04-12 19:15 ` [PATCH 1/1] Merge with untracked file that are the same without failure and test Jonathan
2022-04-12 19:21 ` Ævar Arnfjörð Bjarmason
2022-04-13 18:18 ` Junio C Hamano
2022-04-25 20:27 ` [PATCH v1 0/2] Be nicer to the user on tracked/untracked merge conflicts Jonathan
2022-04-25 20:27 ` [PATCH v1 1/2] t7615: test how merge behave when there is untracked file Jonathan
2022-04-25 20:27 ` [PATCH v1 2/2] merge with untracked file that are the same without failure Jonathan
2022-04-25 21:16 ` [PATCH v1 0/2] Be nicer to the user on tracked/untracked merge conflicts Junio C Hamano
2022-04-25 22:28 ` Guillaume Cogoni
2022-04-25 23:10 ` Junio C Hamano
[not found] ` <fdd9f13d14e942f3a1572866761b9580@SAMBXP02.univ-lyon1.fr>
2022-04-26 6:38 ` Matthieu Moy [this message]
2022-04-26 16:13 ` Junio C Hamano
2022-04-28 10:33 ` Jonathan Bressat
2022-05-27 19:55 ` [PATCH v2 0/4] " Jonathan Bressat
2022-05-27 19:55 ` [PATCH v2 1/4] t6436: tests how merge behave when there is untracked file with the same content Jonathan Bressat
2022-05-27 19:55 ` [PATCH v2 2/4] merge with untracked file that are the same without failure Jonathan Bressat
2022-05-27 19:55 ` [PATCH v2 3/4] add configuration variable corresponding to --overwrite-same-content Jonathan Bressat
2022-05-27 19:55 ` [PATCH v2 4/4] error message now advice to use the new option Jonathan Bressat
[not found] ` <dfea1d98c15047428b1a11adbc002eef@SAMBXP02.univ-lyon1.fr>
2022-06-04 9:44 ` [PATCH v2 1/4] t6436: tests how merge behave when there is untracked file with the same content Matthieu Moy
[not found] ` <be2297bdcd724c3f8abfde2d5d74fb18@SAMBXP02.univ-lyon1.fr>
2022-06-04 9:45 ` [PATCH v2 2/4] merge with untracked file that are the same without failure Matthieu Moy
[not found] ` <82beb916d9c44a069f30ec4ff261e3be@SAMBXP02.univ-lyon1.fr>
2022-06-04 9:45 ` [PATCH v2 4/4] error message now advice to use the new option Matthieu Moy
2022-06-10 12:58 ` Guillaume Cogoni
[not found] ` <4efbe7d9c95841c691f51954670a1d9f@SAMBXP02.univ-lyon1.fr>
2022-06-04 9:49 ` [PATCH v2 3/4] add configuration variable corresponding to --overwrite-same-content Matthieu Moy
[not found] ` <eca66375d8b34154856b7da303bf96d7@SAMBXP02.univ-lyon1.fr>
2022-04-26 6:48 ` [PATCH v1 1/2] t7615: test how merge behave when there is untracked file Matthieu Moy
2022-04-12 19:24 ` [PATCH 0/1] Be nicer to the user on tracked/untracked merge conflicts Ævar Arnfjörð Bjarmason
2022-04-14 8:57 ` Jonathan Bressat
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=243b40ef-a720-46aa-6657-87ac8d3c3bdc@univ-lyon1.fr \
--to=matthieu.moy@univ-lyon1.fr \
--cc=cogoni.guillaume@gmail.com \
--cc=git.jonathan.bressat@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=guillaume.cogoni@gmail.com \
--cc=jonathan.bressat@etu.univ-lyon1.fr \
/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.
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 NNTP newsgroup(s).