GNU bug report logs - #69220
[PATCH] smerge-mode: add a function to resolve all conflicts in a file

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: Konstantin Kharlamov <Hi-Angel@HIDDEN>; Keywords: patch; dated Sun, 18 Feb 2024 18:24:03 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Severity set to 'wishlist' from 'normal' Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 20 Feb 2024 15:35:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 20 10:35:07 2024
Received: from localhost ([127.0.0.1]:46371 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rcS9C-0004T6-L8
	for submit <at> debbugs.gnu.org; Tue, 20 Feb 2024 10:35:07 -0500
Received: from forward502c.mail.yandex.net ([178.154.239.210]:60212)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rcS9A-0004Sw-2r
 for 69220 <at> debbugs.gnu.org; Tue, 20 Feb 2024 10:35:05 -0500
Received: from mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net
 [IPv6:2a02:6b8:c12:1726:0:640:5719:0])
 by forward502c.mail.yandex.net (Yandex) with ESMTPS id E080961341;
 Tue, 20 Feb 2024 18:34:09 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id 8YTvnYFPsmI0-EXhMUu4Q; 
 Tue, 20 Feb 2024 18:34:09 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708443249; bh=rjKA3k2YW0zJq432/XU5XPqHiQkQwG/LAOjVqtje324=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=n2L4VRF9t3i1+gu0Wqs5ftoCz8FI0Bqo13ArfBt+R6N55mFawUR3lOwngo5J2hnFi
 NsHWXwlv/8Mr3wZIaKg8c7ZnYriycr74Ltk9A2c0yC9LmBt4b32MCCeXSQUP+HDUwJ
 AyEpcmbRbjChTx3SsyyOHiS7EPJYVHY4Efx/mzcs=
Authentication-Results: mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <a687f04964bff84057824d934f8a7772c0c33248.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Date: Tue, 20 Feb 2024 18:34:08 +0300
In-Reply-To: <e05822b67f95312d6a899f105f3682d6f0fa3e91.camel@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
 <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
 <e05822b67f95312d6a899f105f3682d6f0fa3e91.camel@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Mon, 2024-02-19 at 20:07 +0300, Konstantin Kharlamov wrote:
> On Mon, 2024-02-19 at 15:17 +0300, Konstantin Kharlamov wrote:
> > On Mon, 2024-02-19 at 14:03 +0200, Eli Zaretskii wrote:
> > > > From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
> > > > Date: Sat, 17 Feb 2024 13:16:14 +0300
> > > >=20
> > > > This implements a feature request from here=C2=B9 about having a
> > > > function to
> > > > resolve all conflicts simultaneously. Although question author
> > > > didn't
> > > > reply, but either way I think it's a useful functional. I
> > > > needed
> > > > it
> > > > so
> > > > many times, but before stumbling upon this question I just
> > > > didn't
> > > > know
> > > > there are functions `smerge-keep-upper/base/lower`, and so ofc
> > > > I
> > > > never
> > > > though of writing a new one that would apply them to all
> > > > conflicts.
> > >=20
> > > I use SMerge quite a lot, but never yet had a situation where the
> > > same
> > > resolution was applicable to all of the conflicts, let alone knew
> > > that
> > > in advance, before looking at each conflict.
> >=20
> > Well, in Emacs it is allowed to create large commits with many
> > functional changes, which I think is why you never saw such
> > functional
> > to be necessary.
> >=20
> > Offhand I can tell at least two situations where it is needed; both
> > imply you have more than one commit on the branch:
> >=20
> > 1. You got a commit that does two different functional changes to a
> > hunk. So you want to split it. You do an interactive rebase to the
> > previous commit, then do one of the changes and create a commit
> > from
> > it. Then you do a `git rebase --continue` and you get conflicts;
> > but
> > you know beforehand exactly that you want it to be solved in
> > preference
> > of the newer commit.=C2=B9
> > 2. You noted, either yourself or as part of codereview, that one of
> > the
> > older commits on the branch has a bug; but you know the bug is non-
> > existent in newer commits. So you fix it in the older commit, then
> > upon
> > `git rebase --continue` you again know exactly that you want just
> > the
> > newer version.=C2=B9
>=20
> Well, I understand these two points do not sound like something
> unsolvable with `git-checkout` theirs/ours options. It's just the
> general workflow that I remembered offhand.
>=20
> I don't remember the distinction down to technical details, only that
> I
> stumbled upon that quite often (which I usually noted because I
> thought
> theirs/ours checkout is gonna work but then it wouldn't; and then I
> had
> to abort everything because I needed conflicts back lol).
>=20
> I think this happens because git is often quite good in making
> conflict
> as small as possible. So I think if you have case like this: 1. you
> modify return value in older commit, 2. You do `git rebase --
> continue`,
> 3. you get conflicts because there're unrelated modifications in the
> same hunks as `return`s; then you might get conflicts that only
> contain
> lines you just modified and nothing else. So resolving every conflict
> becomes trivially choosing "ours" (IIRC, I confuse theirs/ours)
> everywhere; but you don't want to `checkout --ours`.
>=20
> ----------------
>=20
> Incidentally, for me it feels like having the case where you want to
> solve *all* conflicts in preference of either side happens more
> often,
> then the case where you want to solve only *only one* conflict in
> preference of either side. IOW, if I had to rate by frequency
> conflict
> types I meet during my everyday work, it would be (in order: most
> frequent to less frequent):
>=20
> 1. Conflicts requiring manual intervention to take changes from both
> sides.
> 2. Conflicts, where all of them at once may be solved in preference
> of
> theirs or ours.
> 3. Conflicts where some require manual intervention and some may be
> solved in preference of either side.

Ok, did anyone order a case for "solve all to one side" that isn't
solvable with git's theirs/ours? Here, fresh from the bakery =F0=9F=98=8A

1. I edit a Makefile at hcl-mode=C2=B9 to try to introduce a separate optio=
n
for compiling tests and renamed the older `compile` one to `compile-
pkg`
2. While doing so I realize the Emacs call is wrong: it uses both `-Q`
and `-batch` options, whereas `-batch` implies "no init file". Strictly
speaking it implies `-q` not `-Q`, but it is very unlikely this
distinction is intentional. So I save the current changes and
interactively-rebase to the previous commit.
3. I remove `-Q` from all `-batch` calls and save it as a new commit
4. I do `git rebase --continue` and obviously I get conflicts

Now, git turns out to be very good in reducing conflicts, so it only
leaves me with the two lines that I change and nothing more from the
surrounding hunk. Now, since in the newer commit I don't have -Q
anymore, I know I want the newer version for all conflicts. But I can't
use `git --theirs/ours`, because that would return the `-Q`s that I
removed in the previous commit.

P.S.: with that said, in this case it was just one conflict, simply
because their Makefile is very small. But I hope you get the idea: if
there were more distinct lines where I'd removed `-Q` option both in
newer and older commits, they all would be solvable in preference of
the single side of the conflict.

1: https://github.com/hcl-emacs/hcl-mode




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 20 Feb 2024 14:11:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 20 09:11:29 2024
Received: from localhost ([127.0.0.1]:44631 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rcQqH-0001yP-FL
	for submit <at> debbugs.gnu.org; Tue, 20 Feb 2024 09:11:29 -0500
Received: from forward502c.mail.yandex.net ([178.154.239.210]:40186)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rcQqB-0001yA-Eg
 for 69220 <at> debbugs.gnu.org; Tue, 20 Feb 2024 09:11:28 -0500
Received: from mail-nwsmtp-smtp-production-main-69.iva.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-69.iva.yp-c.yandex.net
 [IPv6:2a02:6b8:c0c:7c8c:0:640:8942:0])
 by forward502c.mail.yandex.net (Yandex) with ESMTPS id 2C9F36111A;
 Tue, 20 Feb 2024 17:10:59 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-69.iva.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id vASVVq0To0U0-voQlngW1; 
 Tue, 20 Feb 2024 17:10:58 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708438258; bh=9h7G3hJDDBB3BR2NePRa2j2lernDYOvonWnc9qK0wjk=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=fBn6nEFzBPxc2eGdRjv7ZgDJKHkHWPcDfg16JioHg/cGrRLzCksYH3K426XxGtUi0
 Zr1zikJSwF0l0+id2JHTfph+r7UjNQRlB0AncWzJqZgG+ORfcv7N0YjvPBcVNZIDpW
 jwc/mEyrMRwk3BS2854PqrqnxI+FFk35UPUfW+uA=
Authentication-Results: mail-nwsmtp-smtp-production-main-69.iva.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <56a63a9d3230440385c5104dc10a4c8f042e28ae.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Date: Tue, 20 Feb 2024 17:10:57 +0300
In-Reply-To: <jwvzfvvqm15.fsf-monnier+emacs@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN> <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
 <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
 <jwvwmqzuba4.fsf-monnier+emacs@HIDDEN>
 <e7113d3e9afccc4d558df173c7d5da3c92590c28.camel@HIDDEN>
 <jwvmsrvsufh.fsf-monnier+emacs@HIDDEN>
 <d76a426a703af0c5a31cf961d7d4fa2f24e07c2e.camel@HIDDEN>
 <jwvzfvvqm15.fsf-monnier+emacs@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Tue, 2024-02-20 at 09:03 -0500, Stefan Monnier wrote:
> > > BTW, your use of [upper base lower] as a completion table is both
> > > cute and horrible at the same time :-)
> > Hahah, why? =F0=9F=98=85
>=20
> It's cute because it's concise and it kinda works.
> It's horrible because vectors are not among the supported formats for
> completion-tables: what you wrote will be assumed to be an obarray
> and what
> you wrote is not a correct obarray.=C2=A0 The resulting behavior could be
> surprising (e.g. include more entries than the one you wrote).

Hahah, that's funny, thank you for explanation!




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 20 Feb 2024 14:04:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 20 09:04:10 2024
Received: from localhost ([127.0.0.1]:44618 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rcQj2-0001nl-1g
	for submit <at> debbugs.gnu.org; Tue, 20 Feb 2024 09:04:10 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:48687)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rcQiz-0001nW-T5
 for 69220 <at> debbugs.gnu.org; Tue, 20 Feb 2024 09:03:58 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 93B9580758;
 Tue, 20 Feb 2024 09:03:30 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1708437809;
 bh=kZCH3k8k2ljNLVc65EyxZWAAbVeCywbsIRaYQMPdKGc=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=H0O7i7WgUXTCulPVOhkNq1+O2x7dwOwcUsVh3ZiqajtOY8T+PXG7kK7gwadV51+qN
 7WHeqz6dyK+ngpZjuMlJBjwUheR7QwFS4NBOe+nPH+KcJYDKF/gkcGPoI2pHgwlqFH
 k4jQGcLDxdqXNmROfJEVkgr1WL5Wj3Ri/mjrsT5cIqKipTYPqw8BSHCO/Cv6A2kf36
 b28gxnaSLTKxsUkcaOEIrwjrE0RcAPvF7ZlaiqxgVX8iTihRCSGw5UNet8WbgWqDsq
 9QNBCE3oKZeFQ7x3Ew04JE5RjrDNN66+mBSF7l84xO/tZQF+E7CP3ahqInifArdVwI
 d2sqofVBxJAyA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 4D3FC8090D;
 Tue, 20 Feb 2024 09:03:29 -0500 (EST)
Received: from pastel (unknown [45.72.205.238])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 0AF5D12034B;
 Tue, 20 Feb 2024 09:03:29 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Konstantin Kharlamov <Hi-Angel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
In-Reply-To: <d76a426a703af0c5a31cf961d7d4fa2f24e07c2e.camel@HIDDEN>
 (Konstantin Kharlamov's message of "Tue, 20 Feb 2024 06:24:10 +0300")
Message-ID: <jwvzfvvqm15.fsf-monnier+emacs@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN> <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
 <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
 <jwvwmqzuba4.fsf-monnier+emacs@HIDDEN>
 <e7113d3e9afccc4d558df173c7d5da3c92590c28.camel@HIDDEN>
 <jwvmsrvsufh.fsf-monnier+emacs@HIDDEN>
 <d76a426a703af0c5a31cf961d7d4fa2f24e07c2e.camel@HIDDEN>
Date: Tue, 20 Feb 2024 09:03:26 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.046 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

>> BTW, your use of [upper base lower] as a completion table is both
>> cute and horrible at the same time :-)
> Hahah, why? =F0=9F=98=85

It's cute because it's concise and it kinda works.
It's horrible because vectors are not among the supported formats for
completion-tables: what you wrote will be assumed to be an obarray and what
you wrote is not a correct obarray.  The resulting behavior could be
surprising (e.g. include more entries than the one you wrote).


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 20 Feb 2024 14:00:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 20 09:00:24 2024
Received: from localhost ([127.0.0.1]:44608 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rcQfX-0001iT-Pr
	for submit <at> debbugs.gnu.org; Tue, 20 Feb 2024 09:00:24 -0500
Received: from forward501b.mail.yandex.net ([178.154.239.145]:48746)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rcQfW-0001iK-2P
 for 69220 <at> debbugs.gnu.org; Tue, 20 Feb 2024 09:00:23 -0500
Received: from mail-nwsmtp-smtp-production-main-22.iva.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-22.iva.yp-c.yandex.net
 [IPv6:2a02:6b8:c0c:2cad:0:640:fa29:0])
 by forward501b.mail.yandex.net (Yandex) with ESMTPS id 2583360CAF;
 Tue, 20 Feb 2024 16:59:29 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-22.iva.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id RxRImPR3SmI0-Tz2CfaF2; 
 Tue, 20 Feb 2024 16:59:28 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708437568; bh=2kmkT1yjSL5ClD+H4qqyuQf78itunkSFA24M+vzHtXA=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=qnU2eB6FnNIdEwX55DHJIRtfDH+8Muh6BNwqni6zRjasYTgFLRy1NsfVUc4gQJRLm
 B0NeN0UIaTIyO1VOZU6GFgaIh81ZQu7Trct7R/bKC5N9Rn8lsgYwOFUGRyuR+I3NRl
 fBG5370CgvQyrDHgHu7A/x2MNY6qOw7LEMFTR9dg=
Authentication-Results: mail-nwsmtp-smtp-production-main-22.iva.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <9f683392348159d92a7d141b3b8774ad365334d5.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Date: Tue, 20 Feb 2024 16:59:26 +0300
In-Reply-To: <jwv5xyjs0tv.fsf-monnier+emacs@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN> <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
 <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
 <jwvwmqzuba4.fsf-monnier+emacs@HIDDEN>
 <e7113d3e9afccc4d558df173c7d5da3c92590c28.camel@HIDDEN>
 <jwvmsrvsufh.fsf-monnier+emacs@HIDDEN>
 <d76a426a703af0c5a31cf961d7d4fa2f24e07c2e.camel@HIDDEN>
 <19beac5b9be5696e57c4d8e3759990ef9d04ae69.camel@HIDDEN>
 <jwv5xyjs0tv.fsf-monnier+emacs@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Tue, 2024-02-20 at 08:53 -0500, Stefan Monnier wrote:
> > > Sorry, I'm not following =F0=9F=98=85 The closest thing I see is you =
want
> > > a prefix to each of smerge-keep-(upper/base/lower) commands to be
> > > added, so that pressing a `C-u 0 smerge-keep-upper` would call
> > > the
> > > command for each conflict in the buffer. But that seems both less
> > > discoverable and more code to implement. But maybe I understood
> > > you wrong.
>=20
> No, `C-u` `universal-argument` is a prefix command and it's the most
> common *but* not the only one.=C2=A0 There's also `C-x RET c`
> (`universal-coding-system-argument`), for instance, or `C-x 4 4`
> (`other-window-prefix`) and `C-x 5 5` (`other-frame-prefix`).
> I'm suggesting we define a new such prefix command.
>=20
> > Aaah, I think I get it. You want a command that would iterate
> > through
> > conflicts and ask a user which solution side to apply?
>=20
> But it asks only once.

Okay, I see now. So a user calls the command, the command asks once
which side to apply, and then does that automatically for all other
conflicts. So=E2=80=A6 what's the difference compared to my patch, only tha=
t it
asks a user after going to a conflict? Or do you want it to
additionally stop at each conflict and ask a user if they want to apply
the "resolution"?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 20 Feb 2024 13:54:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 20 08:54:25 2024
Received: from localhost ([127.0.0.1]:44599 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rcQZl-0001Yb-Dl
	for submit <at> debbugs.gnu.org; Tue, 20 Feb 2024 08:54:25 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:25985)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rcQZg-0001YI-Dg
 for 69220 <at> debbugs.gnu.org; Tue, 20 Feb 2024 08:54:24 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id A08D98090D;
 Tue, 20 Feb 2024 08:53:51 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1708437230;
 bh=IGTxbHwBvAbY4PcyyYoHQ/2RF0MuwVJ+POQj/JZl1QM=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=XsngoiH2uZYhHJMEMI0A1bVZjyDD6Ts/6z0VNED/I5q1yk0lTul2SNYKcKzqbm1Su
 83H4PrUd8EYuRFOlmxAHJxgQzU7A4MADys8i6EFBvaUaxEUmuPWUH3OmHr0W9WHgac
 +bM7IslezOmUZgwNdaWAnQVYIDcnxLgiZ+BbXWniXv7rzFWYK1pq4YFY6ELODteBsZ
 M0xL4wmP9rZzw3rABGKrjQQ4C6hedbntF2a3ZFo8a17BUwNO/YdhiM3zigr/Cfeh40
 v1FZ1vw8jy1ual/z0VtfN5tCPc03nxubjrH3JdUVX8VCcjKhw9PQC3RKw48rwfEV79
 1mVYdTm6Z4njg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8906580813;
 Tue, 20 Feb 2024 08:53:50 -0500 (EST)
Received: from pastel (unknown [45.72.205.238])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 6329912020C;
 Tue, 20 Feb 2024 08:53:50 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Konstantin Kharlamov <Hi-Angel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
In-Reply-To: <19beac5b9be5696e57c4d8e3759990ef9d04ae69.camel@HIDDEN>
 (Konstantin Kharlamov's message of "Tue, 20 Feb 2024 06:40:01 +0300")
Message-ID: <jwv5xyjs0tv.fsf-monnier+emacs@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN> <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
 <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
 <jwvwmqzuba4.fsf-monnier+emacs@HIDDEN>
 <e7113d3e9afccc4d558df173c7d5da3c92590c28.camel@HIDDEN>
 <jwvmsrvsufh.fsf-monnier+emacs@HIDDEN>
 <d76a426a703af0c5a31cf961d7d4fa2f24e07c2e.camel@HIDDEN>
 <19beac5b9be5696e57c4d8e3759990ef9d04ae69.camel@HIDDEN>
Date: Tue, 20 Feb 2024 08:53:48 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.047 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.2 (-----)

>> Sorry, I'm not following =F0=9F=98=85 The closest thing I see is you want
>> a prefix to each of smerge-keep-(upper/base/lower) commands to be
>> added, so that pressing a `C-u 0 smerge-keep-upper` would call the
>> command for each conflict in the buffer. But that seems both less
>> discoverable and more code to implement. But maybe I understood
>> you wrong.

No, `C-u` `universal-argument` is a prefix command and it's the most
common *but* not the only one.  There's also `C-x RET c`
(`universal-coding-system-argument`), for instance, or `C-x 4 4`
(`other-window-prefix`) and `C-x 5 5` (`other-frame-prefix`).
I'm suggesting we define a new such prefix command.

> Aaah, I think I get it. You want a command that would iterate through
> conflicts and ask a user which solution side to apply?

But it asks only once.


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 20 Feb 2024 03:40:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 22:40:33 2024
Received: from localhost ([127.0.0.1]:44079 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rcGzh-00077I-7K
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 22:40:33 -0500
Received: from forward502c.mail.yandex.net ([178.154.239.210]:40424)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rcGzc-000772-2r
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 22:40:32 -0500
Received: from mail-nwsmtp-smtp-production-main-37.myt.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-37.myt.yp-c.yandex.net
 [IPv6:2a02:6b8:c12:291a:0:640:791e:0])
 by forward502c.mail.yandex.net (Yandex) with ESMTPS id 5F7E060BB6;
 Tue, 20 Feb 2024 06:40:03 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-37.myt.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id 1eHXFukvI0U0-ixffBnR0; 
 Tue, 20 Feb 2024 06:40:02 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708400402; bh=W76C7/+Fi9ck98cIPLVlcepnZaljquq/ebGNObK6h7k=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=qOJjKW/ZtNW7vuNOtf9Q6f5ZV4CCBwMKlEilFcZC/sSz4izixEFxZzhRYEP7DqVj5
 cG6ENYUSPFEFtXEVEPgKb+0vEaObfsxHB+m19hx4DXfM+y3BD6uf4GGgtT+K0q+nxB
 k5XrcXy0yDxVl3WGaec/fezrnaI+GxS8iCtPN3p0=
Authentication-Results: mail-nwsmtp-smtp-production-main-37.myt.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <19beac5b9be5696e57c4d8e3759990ef9d04ae69.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Date: Tue, 20 Feb 2024 06:40:01 +0300
In-Reply-To: <d76a426a703af0c5a31cf961d7d4fa2f24e07c2e.camel@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN> <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
 <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
 <jwvwmqzuba4.fsf-monnier+emacs@HIDDEN>
 <e7113d3e9afccc4d558df173c7d5da3c92590c28.camel@HIDDEN>
 <jwvmsrvsufh.fsf-monnier+emacs@HIDDEN>
 <d76a426a703af0c5a31cf961d7d4fa2f24e07c2e.camel@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Tue, 2024-02-20 at 06:24 +0300, Konstantin Kharlamov wrote:
> On Mon, 2024-02-19 at 22:15 -0500, Stefan Monnier wrote:
> > > > No: `smerge-apply-all-conflicts` would *be* the prefix command.
> > > > Instead of a prefix `C-u 8` which causes the next command to be
> > > > executed 8 times, your use `M-x smerge-apply-all-conflicts` to
> > > > cause
> > > > the next command to be applied to every conflict in the buffer.
> > [...]
> > > I think I see, so you suggest a function that would apply
> > > resolution to
> > > the next N conflicts.
> >=20
> > No, that's not what I'm suggesting.=C2=A0 If you re-read the above I sa=
y
> > "applied to every conflict in the buffer" (rather than some
> > specific
> > N),
> > and I don't say "resolve" or anything like "resolution".
> >=20
> > It's really doing the same as your patch, except that the command
> > to
> > apply at each iteration is not limited to one of
> > `smerge-keep-(upper/base/lower)` (and that it's specified by
> > hitting
> > the
> > command's key binding rather than by choosing a string in the
> > minibuffer).
>=20
> Sorry, I'm not following =F0=9F=98=85 The closest thing I see is you want=
 a
> prefix to each of smerge-keep-(upper/base/lower) commands to be
> added,
> so that pressing a `C-u 0 smerge-keep-upper` would call the command
> for
> each conflict in the buffer. But that seems both less discoverable
> and
> more code to implement. But maybe I understood you wrong.

Aaah, I think I get it. You want a command that would iterate through
conflicts and ask a user which solution side to apply?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 20 Feb 2024 03:24:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 22:24:40 2024
Received: from localhost ([127.0.0.1]:44045 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rcGkK-0006fJ-9K
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 22:24:40 -0500
Received: from forward501b.mail.yandex.net ([178.154.239.145]:51292)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rcGkG-0006f5-J5
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 22:24:38 -0500
Received: from mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net
 [IPv6:2a02:6b8:c12:1726:0:640:5719:0])
 by forward501b.mail.yandex.net (Yandex) with ESMTPS id AAFC4613AA;
 Tue, 20 Feb 2024 06:24:12 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id AOHnFB7PoKo0-EqrFchSn; 
 Tue, 20 Feb 2024 06:24:12 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708399452; bh=ocjP5bw7vif9JgS95fmuBh90AJTo1wGZMQq6ejNY5sY=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=EbzKUB6kUaj5L1wB8m5m5UKsF//tAvr1uO9lKxRyvenMLuPz+c8+Dh03zSgffKeAt
 J2be36CTyihz7sReIF0exV68w0fndvUtwqERBT+W5Z0wyFK5J7WK9ncZbS8r9vGYLR
 D4OJQ1ZVUFCyAfK9U8cuMCTQDjdSXLxNcW9Y8pqo=
Authentication-Results: mail-nwsmtp-smtp-production-main-45.myt.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <d76a426a703af0c5a31cf961d7d4fa2f24e07c2e.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Date: Tue, 20 Feb 2024 06:24:10 +0300
In-Reply-To: <jwvmsrvsufh.fsf-monnier+emacs@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN> <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
 <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
 <jwvwmqzuba4.fsf-monnier+emacs@HIDDEN>
 <e7113d3e9afccc4d558df173c7d5da3c92590c28.camel@HIDDEN>
 <jwvmsrvsufh.fsf-monnier+emacs@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Mon, 2024-02-19 at 22:15 -0500, Stefan Monnier wrote:
> > > No: `smerge-apply-all-conflicts` would *be* the prefix command.
> > > Instead of a prefix `C-u 8` which causes the next command to be
> > > executed 8 times, your use `M-x smerge-apply-all-conflicts` to
> > > cause
> > > the next command to be applied to every conflict in the buffer.
> [...]
> > I think I see, so you suggest a function that would apply
> > resolution to
> > the next N conflicts.
>=20
> No, that's not what I'm suggesting.=C2=A0 If you re-read the above I say
> "applied to every conflict in the buffer" (rather than some specific
> N),
> and I don't say "resolve" or anything like "resolution".
>=20
> It's really doing the same as your patch, except that the command to
> apply at each iteration is not limited to one of
> `smerge-keep-(upper/base/lower)` (and that it's specified by hitting
> the
> command's key binding rather than by choosing a string in the
> minibuffer).

Sorry, I'm not following =F0=9F=98=85 The closest thing I see is you want a
prefix to each of smerge-keep-(upper/base/lower) commands to be added,
so that pressing a `C-u 0 smerge-keep-upper` would call the command for
each conflict in the buffer. But that seems both less discoverable and
more code to implement. But maybe I understood you wrong.

> BTW, your use of [upper base lower] as a completion table is both
> cute
> and horrible at the same time :-)

Hahah, why? =F0=9F=98=85




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 20 Feb 2024 03:16:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 22:16:11 2024
Received: from localhost ([127.0.0.1]:44019 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rcGc7-0006RO-Da
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 22:16:11 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:62629)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rcGc2-0006Qf-EB
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 22:16:09 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 11A218090D;
 Mon, 19 Feb 2024 22:15:39 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1708398937;
 bh=LmO2npe8bK6JUU7SL6KhT5inu7Ruz3RO4gHNGUqWJHU=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=BCHCRtr+ZrJF+1IETti8rJCSfRzb6fFeLSwv2/Ema5HhsWrcKrAd9hCqIwtEdvoDH
 EVuJf+p+ES1C77fa3jUjrui1NOkBWovhMJ69icbDhSr5hl9Zyr4mNpyR+luy/cmuFH
 xjKeKDlBUMQ9zirE/r3NaeBSR9bSfNmoNY4+r1gwrbyDVFAlWAIL4R7BmUGzDbXaJO
 vIeosOoylj5V62kM/5+sTqtgsGLzGbcG9jqYnoJzA0pmQdf4nc94BtrjCtiaccA6xg
 4a17V4QdQffY1SwWcc2CiF9dqtjJhep4MnLKgeILzyraCZhnLlrjFtcRTQnTrQWqdo
 758+zdLBsWP9g==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B16A3807A5;
 Mon, 19 Feb 2024 22:15:37 -0500 (EST)
Received: from pastel (unknown [45.72.205.238])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 87248120434;
 Mon, 19 Feb 2024 22:15:37 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Konstantin Kharlamov <Hi-Angel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
In-Reply-To: <e7113d3e9afccc4d558df173c7d5da3c92590c28.camel@HIDDEN>
 (Konstantin Kharlamov's message of "Tue, 20 Feb 2024 06:02:30 +0300")
Message-ID: <jwvmsrvsufh.fsf-monnier+emacs@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN> <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
 <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
 <jwvwmqzuba4.fsf-monnier+emacs@HIDDEN>
 <e7113d3e9afccc4d558df173c7d5da3c92590c28.camel@HIDDEN>
Date: Mon, 19 Feb 2024 22:15:36 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.048 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.2 (-----)

>> No: `smerge-apply-all-conflicts` would *be* the prefix command.
>> Instead of a prefix `C-u 8` which causes the next command to be
>> executed 8 times, your use `M-x smerge-apply-all-conflicts` to cause
>> the next command to be applied to every conflict in the buffer.
[...]
> I think I see, so you suggest a function that would apply resolution to
> the next N conflicts.

No, that's not what I'm suggesting.  If you re-read the above I say
"applied to every conflict in the buffer" (rather than some specific N),
and I don't say "resolve" or anything like "resolution".

It's really doing the same as your patch, except that the command to
apply at each iteration is not limited to one of
`smerge-keep-(upper/base/lower)` (and that it's specified by hitting the
command's key binding rather than by choosing a string in the minibuffer).

BTW, your use of [upper base lower] as a completion table is both cute
and horrible at the same time :-)


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 20 Feb 2024 03:03:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 22:03:28 2024
Received: from localhost ([127.0.0.1]:43990 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rcGPn-000671-SQ
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 22:03:28 -0500
Received: from forward500c.mail.yandex.net ([178.154.239.208]:35696)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rcGPk-00066s-Rz
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 22:03:26 -0500
Received: from mail-nwsmtp-smtp-production-main-78.myt.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-78.myt.yp-c.yandex.net
 [IPv6:2a02:6b8:c12:5202:0:640:875:0])
 by forward500c.mail.yandex.net (Yandex) with ESMTPS id 9EBDE60E83;
 Tue, 20 Feb 2024 06:02:31 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-78.myt.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id U2HgjS3hA0U0-jdufj2jD; 
 Tue, 20 Feb 2024 06:02:31 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708398151; bh=UTGMBCPEPffvVBoZ8R1SajK75liMykX/jZcs0c5iPvM=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=HaKqQPl1VpX4e0mZ9DxyHk1/4RX1zlL0Nz0O3TWOl9V5uX6qZPUQIoXT448j0E07F
 u1sh+nWci9qBBHls7RdA1kmg887rRi2b9/TJfQI/cTjUwFSg7S3uBC2JuTYY+C0FjH
 SaFUtXNaM/cgsoFbYhj4QwX64jAkTr6RgZppB3vo=
Authentication-Results: mail-nwsmtp-smtp-production-main-78.myt.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <e7113d3e9afccc4d558df173c7d5da3c92590c28.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Date: Tue, 20 Feb 2024 06:02:30 +0300
In-Reply-To: <jwvwmqzuba4.fsf-monnier+emacs@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN> <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
 <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
 <jwvwmqzuba4.fsf-monnier+emacs@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Mon, 2024-02-19 at 21:24 -0500, Stefan Monnier wrote:
> > > It would be easy enough to provide a kind of prefix command
> > > `smerge-apply-all-conflicts` which reads the next key and calls
> > > the
> > > corresponding command in every conflict in the file.
> > > It would generalize `smerge-resolve-all`.
> >=20
> > Sorry, I'm not sure I understand=E2=80=A6 =F0=9F=98=85 You want a funct=
ion `smerge-
> > apply-
> > all-conflicts` that would accept a prefix command
>=20
> No: `smerge-apply-all-conflicts` would *be* the prefix command.
> Instead of a prefix `C-u 8` which causes the next command to be
> executed
> 8 times, your use `M-x smerge-apply-all-conflicts` to cause the next
> command to be applied to every conflict in the buffer.
>=20
> > If so, that would be almost the same as what I did,
>=20
> I think so, yes.

I think I see, so you suggest a function that would apply resolution to
the next N conflicts. But unless I'm missing something, sounds like
this would be less useful. The "resolve all conflicts" function caters
to specific situation where you want all conflicts to be resolved in
preference of either side. Whereas making a function to do that to the
next N conflicts I don't see how it's better, given that:

1. I just don't see what usecase it solves. The case where you know
that exactly 2 next conflicts needs to be solved for "upper" but not
more? I don't remember stumbling upon such situation and there's a
reason for that: you either know beforehand that all conflicts are
solved "in preference of X", or they require manual intervention; in
the latter case having to solve them one by one means that you
typically don't look up next conflict before you figured out the
current one.=C2=A0
   Also, it is rare to have even 3 full conflicts simultaneously in a
window, so even if you looked up next conflicts before solving them,
you're very unlikely to use the command with prefix more than 3.
2. I posted elsewhere in the thread a frequency list of types of
conflicts I usually see, and the case where there are simultaneously
conflicts of mixed type "manual intervention" + "preference to some
side" is just more rare than other two cases, in particular the one
where everything needs to be solved "in preference". So if we're
discussing whether to accept the new function based on the number of
people that are going to use it, then I think the "resolve all
conflicts" wins just because it's a more frequent situation.

> > > I have needed such a thing in the past, but there are several
> > > ways to
> > > do
> > > that already: beside telling Git beforehand how to resolve the
> > > conflicts, you can also use things like
> > >=20
> > > =C2=A0=C2=A0=C2=A0 C-x ( C-c ^ n C-c ^ u C-x e e e e e e e e e
> >=20
> > I fear to even try to decypher that combination.
>=20
> `C-x (` starts a keyboard macro
> `C-x ^ n` is `smerge-next`
> `C-x ^ u` is `smerge-keep-upper`
> `C-x e` terminates the keyboard macro and repeats it immediately.
> Every `e` after that repeats the keyboard macro.
>=20
> > For the record, I have lots of commands that I use situationally,
> > but
> > I do not care to remember their bindings because it's easier to
> > just
> > call `M-x` ...
>=20
> I like `M-x` too :-)
>=20
>=20
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Stefan
>=20





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 20 Feb 2024 02:25:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 21:25:26 2024
Received: from localhost ([127.0.0.1]:43949 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rcFp0-00051V-5k
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 21:25:26 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:52906)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rcFox-00051C-5c
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 21:25:24 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E53048090D;
 Mon, 19 Feb 2024 21:24:55 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1708395895;
 bh=hE/dcT4t+k8qXFiigZmig4T8KX1x6IiilALz9JsMQVo=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=ccCuKZHQgAYEle6C9Bmqe/SLBwEMpP9f/feeS4pSgfByK504mUA8L7oSoirm/Qh9I
 Psy+mQp4/Pedh76Px+7fkF4004hBfe9RfnrCuxts/kU/pEPmh6/Ln8G8GUSrV1RPXh
 Df/RaHh4qnaJ4FnhgEV44mn4HQJj2kDDB34QaJskPo6no3wK5f+t8z3taMI7kISGxV
 h6EPB/Sp1N/KcQapJrhwQxR/0CAIDjp4k2mccDkMcWfyqupjSisp5gUcQ7e1SZhowY
 IlDj3EyzS8UNoXYWqQ5mqyJFP0n4bfqOH5C3P4AqEozBqbDhfV3RVYJY0pn7mCMTrQ
 Eg0KrlbBaCHqQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id EA6B6807A5;
 Mon, 19 Feb 2024 21:24:54 -0500 (EST)
Received: from pastel (unknown [45.72.205.238])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C2CE112021C;
 Mon, 19 Feb 2024 21:24:54 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Konstantin Kharlamov <Hi-Angel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
In-Reply-To: <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
 (Konstantin Kharlamov's message of "Mon, 19 Feb 2024 20:25:53 +0300")
Message-ID: <jwvwmqzuba4.fsf-monnier+emacs@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN> <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
 <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
Date: Mon, 19 Feb 2024 21:24:53 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.050 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.2 (-----)

>> It would be easy enough to provide a kind of prefix command
>> `smerge-apply-all-conflicts` which reads the next key and calls the
>> corresponding command in every conflict in the file.
>> It would generalize `smerge-resolve-all`.
>
> Sorry, I'm not sure I understand=E2=80=A6 =F0=9F=98=85 You want a functio=
n `smerge-apply-
> all-conflicts` that would accept a prefix command

No: `smerge-apply-all-conflicts` would *be* the prefix command.
Instead of a prefix `C-u 8` which causes the next command to be executed
8 times, your use `M-x smerge-apply-all-conflicts` to cause the next
command to be applied to every conflict in the buffer.

> If so, that would be almost the same as what I did,

I think so, yes.

>> I have needed such a thing in the past, but there are several ways to
>> do
>> that already: beside telling Git beforehand how to resolve the
>> conflicts, you can also use things like
>>=20
>> =C2=A0=C2=A0=C2=A0 C-x ( C-c ^ n C-c ^ u C-x e e e e e e e e e
>
> I fear to even try to decypher that combination.

`C-x (` starts a keyboard macro
`C-x ^ n` is `smerge-next`
`C-x ^ u` is `smerge-keep-upper`
`C-x e` terminates the keyboard macro and repeats it immediately.
Every `e` after that repeats the keyboard macro.

> For the record, I have lots of commands that I use situationally, but
> I do not care to remember their bindings because it's easier to just
> call `M-x` ...

I like `M-x` too :-)


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 17:26:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 12:26:20 2024
Received: from localhost ([127.0.0.1]:43330 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc7PI-0004M8-5l
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 12:26:20 -0500
Received: from forward502c.mail.yandex.net ([178.154.239.210]:46442)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rc7PF-0004Lz-No
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 12:26:19 -0500
Received: from mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net
 [IPv6:2a02:6b8:c0c:319b:0:640:ce08:0])
 by forward502c.mail.yandex.net (Yandex) with ESMTPS id EF1EA60B59;
 Mon, 19 Feb 2024 20:25:53 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id rPUI0pDSgSw0-XH4En21k; 
 Mon, 19 Feb 2024 20:25:53 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708363553; bh=mlavuqdtyWyRw1y7rqV+kcf6DqM3pJfJ/z84r8oGwwM=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=FI5ofxFcqgFISqdI8MO9DunGW59O0GkPnXYzNyUKNG/KacDpGDvBoeC2x+G8e/sxm
 L3lqyZWKyIGdxU1/Pmn5amLFXflmj5A31caSHd/hvqVNN+P7jz+Mn2OKO1ywDZFKFA
 4L5tnLEaoJ8QjhsTWrirLR0pw6NjJ+WZOm+OLJUY=
Authentication-Results: mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <e915218b93a9f679d98eb32a9f2da1f1edef6551.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Date: Mon, 19 Feb 2024 20:25:53 +0300
In-Reply-To: <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN> <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Mon, 2024-02-19 at 10:31 -0500, Stefan Monnier wrote:
> > I use SMerge quite a lot, but never yet had a situation where the
> > same
> > resolution was applicable to all of the conflicts, let alone knew
> > that
> > in advance, before looking at each conflict.
>=20
> Yeah, I'm not sure we need this.
>=20
> It would be easy enough to provide a kind of prefix command
> `smerge-apply-all-conflicts` which reads the next key and calls the
> corresponding command in every conflict in the file.
> It would generalize `smerge-resolve-all`.

Sorry, I'm not sure I understand=E2=80=A6 =F0=9F=98=85 You want a function =
`smerge-apply-
all-conflicts` that would accept a prefix command instead of an
explicit parameter? If so, that would be almost the same as what I did,
except with non-intuitive usability. Or I misunderstand something.

> I have needed such a thing in the past, but there are several ways to
> do
> that already: beside telling Git beforehand how to resolve the
> conflicts, you can also use things like
>=20
> =C2=A0=C2=A0=C2=A0 C-x ( C-c ^ n C-c ^ u C-x e e e e e e e e e

I fear to even try to decypher that combination. For the record, I have
lots of commands that I use situationally, but I do not care to
remember their bindings because it's easier to just call `M-x` and get
a smex menu with "last history" that fuzzily autocompletes by typing a
few characters.

As an example: I have no idea what binding a `smerge-vc-next-conflict`
has; more over, I don't even remember the full name of this function. I
just type `M-x next-con` or `M-x confli` and it pops up as the most
recent command with that infix.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 17:08:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 12:08:42 2024
Received: from localhost ([127.0.0.1]:43318 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc78E-0003s0-GS
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 12:08:42 -0500
Received: from forward502b.mail.yandex.net ([178.154.239.146]:41346)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rc789-0003ro-UZ
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 12:08:41 -0500
Received: from mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net
 [IPv6:2a02:6b8:c0c:319b:0:640:ce08:0])
 by forward502b.mail.yandex.net (Yandex) with ESMTPS id 8BA955E533;
 Mon, 19 Feb 2024 20:07:44 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id g7UNddDSluQ0-uHg3NGhd; 
 Mon, 19 Feb 2024 20:07:43 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708362463; bh=9rCtJW0buWgls1xpXP7w1sImMCkrpg39P2HEneD8vWo=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=p9u8hZ8HPQLMuRSBCs2OYo4wKkMrKIacCeHjmCr/vgB8jySfwOGL8D25lMf0ishSi
 avB/5tmGHSkzS+R4gA0jDEHzrk3UnclkvKwEu7ny/msh1gCOKK99BeokzspBckXnvV
 uUbcF+42BMM/J2D02Jzzwtejyy2N7/obciWRO8VQ=
Authentication-Results: mail-nwsmtp-smtp-production-main-59.iva.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <e05822b67f95312d6a899f105f3682d6f0fa3e91.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Date: Mon, 19 Feb 2024 20:07:41 +0300
In-Reply-To: <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
 <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Mon, 2024-02-19 at 15:17 +0300, Konstantin Kharlamov wrote:
> On Mon, 2024-02-19 at 14:03 +0200, Eli Zaretskii wrote:
> > > From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
> > > Date: Sat, 17 Feb 2024 13:16:14 +0300
> > >=20
> > > This implements a feature request from here=C2=B9 about having a
> > > function to
> > > resolve all conflicts simultaneously. Although question author
> > > didn't
> > > reply, but either way I think it's a useful functional. I needed
> > > it
> > > so
> > > many times, but before stumbling upon this question I just didn't
> > > know
> > > there are functions `smerge-keep-upper/base/lower`, and so ofc I
> > > never
> > > though of writing a new one that would apply them to all
> > > conflicts.
> >=20
> > I use SMerge quite a lot, but never yet had a situation where the
> > same
> > resolution was applicable to all of the conflicts, let alone knew
> > that
> > in advance, before looking at each conflict.
>=20
> Well, in Emacs it is allowed to create large commits with many
> functional changes, which I think is why you never saw such
> functional
> to be necessary.
>=20
> Offhand I can tell at least two situations where it is needed; both
> imply you have more than one commit on the branch:
>=20
> 1. You got a commit that does two different functional changes to a
> hunk. So you want to split it. You do an interactive rebase to the
> previous commit, then do one of the changes and create a commit from
> it. Then you do a `git rebase --continue` and you get conflicts; but
> you know beforehand exactly that you want it to be solved in
> preference
> of the newer commit.=C2=B9
> 2. You noted, either yourself or as part of codereview, that one of
> the
> older commits on the branch has a bug; but you know the bug is non-
> existent in newer commits. So you fix it in the older commit, then
> upon
> `git rebase --continue` you again know exactly that you want just the
> newer version.=C2=B9

Well, I understand these two points do not sound like something
unsolvable with `git-checkout` theirs/ours options. It's just the
general workflow that I remembered offhand.

I don't remember the distinction down to technical details, only that I
stumbled upon that quite often (which I usually noted because I thought
theirs/ours checkout is gonna work but then it wouldn't; and then I had
to abort everything because I needed conflicts back lol).

I think this happens because git is often quite good in making conflict
as small as possible. So I think if you have case like this: 1. you
modify return value in older commit, 2. You do `git rebase --continue`,
3. you get conflicts because there're unrelated modifications in the
same hunks as `return`s; then you might get conflicts that only contain
lines you just modified and nothing else. So resolving every conflict
becomes trivially choosing "ours" (IIRC, I confuse theirs/ours)
everywhere; but you don't want to `checkout --ours`.

----------------

Incidentally, for me it feels like having the case where you want to
solve *all* conflicts in preference of either side happens more often,
then the case where you want to solve only *only one* conflict in
preference of either side. IOW, if I had to rate by frequency conflict
types I meet during my everyday work, it would be (in order: most
frequent to less frequent):

1. Conflicts requiring manual intervention to take changes from both
sides.
2. Conflicts, where all of them at once may be solved in preference of
theirs or ours.
3. Conflicts where some require manual intervention and some may be
solved in preference of either side.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 15:37:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 10:37:00 2024
Received: from localhost ([127.0.0.1]:43203 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc5hS-0006P1-Vy
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 10:37:00 -0500
Received: from smtp-out2.suse.de ([195.135.223.131]:42946)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <schwab@HIDDEN>) id 1rc5hO-0006Og-JO
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 10:36:58 -0500
Received: from hawking.nue2.suse.org (unknown [10.168.4.11])
 by smtp-out2.suse.de (Postfix) with ESMTP id 34D7B1FD15;
 Mon, 19 Feb 2024 15:35:57 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
 t=1708356957; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=xeAN+41bWyzQzrDwMkIoCHTvoMrGX8UFyjRSvwVmGDY=;
 b=gLCH6OupmuFT3qzSfImhW2cYn32nGs5My//iSF3PvMJxIYZztHLeDaxxoXoLOSLoLXQQDk
 5L4cizA4Ln7kqonL3gAMJggp5+6yFAmloZZxBoBmrS7J5nb7EE8ohRELBDWpUnHoe7oU6U
 5IQWCR/idr2W0r53+NDUGHls2msUyWY=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
 s=susede2_ed25519; t=1708356957;
 h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=xeAN+41bWyzQzrDwMkIoCHTvoMrGX8UFyjRSvwVmGDY=;
 b=Ya0zPrXsV1YXtkv1AoH17bg7rNiewNXn4RefptchTuLuM4veYMRrPGYI8UTW9fv+t5rb68
 9pE73RoNInajPUCg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
 t=1708356957; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=xeAN+41bWyzQzrDwMkIoCHTvoMrGX8UFyjRSvwVmGDY=;
 b=gLCH6OupmuFT3qzSfImhW2cYn32nGs5My//iSF3PvMJxIYZztHLeDaxxoXoLOSLoLXQQDk
 5L4cizA4Ln7kqonL3gAMJggp5+6yFAmloZZxBoBmrS7J5nb7EE8ohRELBDWpUnHoe7oU6U
 5IQWCR/idr2W0r53+NDUGHls2msUyWY=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
 s=susede2_ed25519; t=1708356957;
 h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=xeAN+41bWyzQzrDwMkIoCHTvoMrGX8UFyjRSvwVmGDY=;
 b=Ya0zPrXsV1YXtkv1AoH17bg7rNiewNXn4RefptchTuLuM4veYMRrPGYI8UTW9fv+t5rb68
 9pE73RoNInajPUCg==
Received: by hawking.nue2.suse.org (Postfix, from userid 17005)
 id 2689F4A0389; Mon, 19 Feb 2024 16:35:57 +0100 (CET)
From: Andreas Schwab <schwab@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
In-Reply-To: <4eed07a3-1df5-48f9-be9a-1655721118f1@HIDDEN> (Dmitry Gutov's
 message of "Mon, 19 Feb 2024 17:20:45 +0200")
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
 <4eed07a3-1df5-48f9-be9a-1655721118f1@HIDDEN>
X-Yow: ONE:  I will donate my entire ``BABY HUEY'' comic book collection
 to the downtown PLASMA CENTER..
 TWO:  I won't START a BAND called ``KHADAFY & THE HIT SQUAD''..
 THREE:  I won't ever TUMBLE DRY my FOX TERRIER again!!
Date: Mon, 19 Feb 2024 16:35:57 +0100
Message-ID: <mvm34toxy8y.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
Authentication-Results: smtp-out2.suse.de;
	none
X-Spamd-Result: default: False [-0.72 / 50.00]; ARC_NA(0.00)[];
 FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[];
 FREEMAIL_ENVRCPT(0.00)[yandex.ru];
 TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain];
 RCPT_COUNT_FIVE(0.00)[5];
 DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email];
 FUZZY_BLOCKED(0.00)[rspamd.com]; RCVD_COUNT_ZERO(0.00)[0];
 FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+];
 FREEMAIL_CC(0.00)[gnu.org,yandex.ru,iro.umontreal.ca,debbugs.gnu.org];
 MID_RHS_MATCH_FROM(0.00)[]; BAYES_HAM(-0.62)[82.06%]
X-Spam-Level: 
X-Spam-Flag: NO
X-Spam-Score: -0.72
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 69220 <at> debbugs.gnu.org, Konstantin Kharlamov <Hi-Angel@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.2 (-----)

On Feb 19 2024, Dmitry Gutov wrote:

> Like Andreas described, doing a merge using an "ours" or "theirs" strategy
> is something that people do on occasion.

I did not talk about the ours stategy (and there is no theirs strategy),
only about the ours and theirs option of the ort and recursive strategy.
The difference is that the ours strategy completely throws away the
other side of the merge, whereas the ours/theirs options of the
ort/recursive strategies control only how conflicts are handled.

-- 
Andreas Schwab, SUSE Labs, schwab@HIDDEN
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 15:32:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 10:32:15 2024
Received: from localhost ([127.0.0.1]:43199 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc5ct-0006GO-5P
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 10:32:15 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:51581)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rc5cq-0006G8-GW
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 10:32:13 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id C4F1680841;
 Mon, 19 Feb 2024 10:31:45 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1708356704;
 bh=mWyylgylbCgeo2kaisxjWv98FZelVlLKuMNZoHUUF1A=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=BiwURWYocCJFCUeoRinf8Qas8t00/s5cUajL5UnCy7vjxleijfi8pybXLYMZ0z2dr
 rR281DRJcVzurplRAD5e8LyoYVcmT6hf9FSNO9zeVvBnE16TqHCJtttoB3BiI52kRY
 ICcTHFuCd6NTLk8J1hSQrcHuns4mEGOLzCJ2uweAWfl9upLT01DvLylKQx+h5OT2Qh
 5ZCGTldhNE66tMZ9HBNmdnOWDUlxChOMSFpBTV2lce+XZUkOQuUD3toxLxC+4VFcXs
 ae0OKKpXMzzlujmCtpWxOVtvwfhZUs7ZKXqWjncFOKdw0wW6/s+CaSrzuxDeUSKLtA
 RxKkqNjGQKgbg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id DC7FE8014F;
 Mon, 19 Feb 2024 10:31:44 -0500 (EST)
Received: from milanesa (unknown [23.233.149.155])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id BC4DA12068A;
 Mon, 19 Feb 2024 10:31:44 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
In-Reply-To: <865xykr79f.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 19 Feb
 2024 14:03:08 +0200")
Message-ID: <jwvbk8cwk5s.fsf-monnier+emacs@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
Date: Mon, 19 Feb 2024 10:31:44 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.010 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69220
Cc: 69220 <at> debbugs.gnu.org, Konstantin Kharlamov <Hi-Angel@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.2 (-----)

> I use SMerge quite a lot, but never yet had a situation where the same
> resolution was applicable to all of the conflicts, let alone knew that
> in advance, before looking at each conflict.

Yeah, I'm not sure we need this.

It would be easy enough to provide a kind of prefix command
`smerge-apply-all-conflicts` which reads the next key and calls the
corresponding command in every conflict in the file.
It would generalize `smerge-resolve-all`.

I have needed such a thing in the past, but there are several ways to do
that already: beside telling Git beforehand how to resolve the
conflicts, you can also use things like

    C-x ( C-c ^ n C-c ^ u C-x e e e e e e e e e


- Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 15:21:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 10:21:17 2024
Received: from localhost ([127.0.0.1]:43185 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc5SH-0005y4-6W
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 10:21:17 -0500
Received: from out2-smtp.messagingengine.com ([66.111.4.26]:34517)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1rc5SF-0005xr-QJ
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 10:21:16 -0500
Received: from compute7.internal (compute7.nyi.internal [10.202.2.48])
 by mailout.nyi.internal (Postfix) with ESMTP id 5D49E5C00BB;
 Mon, 19 Feb 2024 10:20:49 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute7.internal (MEProxy); Mon, 19 Feb 2024 10:20:49 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm2; t=1708356049;
 x=1708442449; bh=KmmsaCD8mA/LL/Zcoil5f8Cb2djoU3QlPLZl0hnMPqQ=; b=
 RANecLTDdEtlc1uedfdoALgQvleXzJR2oC5jW6AtSya+7TeZzkiBKsMRfjzYnt4G
 E3fQXOAAvHZ60bG1U/6HS3dnacjl1N6fgaNv9V63qzxRBSnGLlA8WQ+HgZGGR+AJ
 NmoZ1u7yjOIM8QiqMylVD85Z7VrjBxKAGzWUJ88SUIA3Tykc7nUqLTgJn5wJlmVE
 5PkVgT3EIMIQFRJwChL73FQCxrAmtR9Yl+1xv5/QYsXq4R2/M9fLXDyWfR+4emaK
 m3AixN3/rtKOyXjlRHbtgiaGLz770he3qhC8mHLLLQ9kKc+6FaKv7BkBjAGCiE2I
 z6HkDHlFcHH/VgC1/N4NbA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1708356049; x=
 1708442449; bh=KmmsaCD8mA/LL/Zcoil5f8Cb2djoU3QlPLZl0hnMPqQ=; b=a
 rw/kLLo7ewp/r1/6Q99p9HCr1jL8oRQXC1SGAXwf9jiK93EYiOYqicMRVEZriesf
 OrNfAp7wQV2odLeCE8DEyALcZ4PruWSMrfEDYOVbtjUWGh7M5BfRQYGhPza1oCge
 GWaeh6KuVPpsZjtrK//vAq0paPHXxXlNVmzVlcousY74E0RLw4+SAMp0wTAGC56D
 LtfsH+5fzfRiROk2+oUDMbBmXJrCLw/5myofsLlpZpNgR4PisnhQ2hJV7tuLYHV3
 nSqGV4j5ttBPNIWQ8QmWpzsFlZNqGCXEKP00uBzX1tAED8eqCAPY2slVQlIxEVYC
 ycBWfFivAgBpOHLSkCPCw==
X-ME-Sender: <xms:0XHTZRCNRF-N7qizG0nMAXRKeKOyARNbKbxcWJH3gWQHD35V_pfGNg>
 <xme:0XHTZfiLoln0mPvmYLa4ed-8S3igzK9Uw_8O1S65ZanAirwpahb3bRcTBADsIa2Ww
 4CJdFqI2ZhvnERTMk0>
X-ME-Received: <xmr:0XHTZcnA9kM15U9NlwgjK6p2cx0ifvQX-Gt5FbSH3NfupUA9OTeEaFZpCpPhMMTwl4_Q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvdekgdejfecutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
 fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomhepffhmihht
 rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth
 gvrhhnpeetudeljeegheetgfehgeejkeeuhedvveeikeeufedtvddtveefhfdvveegudej
 heenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh
 hithhrhiesghhuthhovhdruggvvh
X-ME-Proxy: <xmx:0XHTZbwXdO1pLnUS9FNdzzLFinbByA3NjNMLRdOxJ-mglyyIHtToAw>
 <xmx:0XHTZWTHVI30XlxZM2TCP4yG26tXlNk4Cx0qs2qw7TGnVXrAy1H9-g>
 <xmx:0XHTZeZZU2EBWTv8ZY7G4zIe82LpeLcjUT8Yr46aDsKzXJw8Og5Glw>
 <xmx:0XHTZRfdA4oBx7t_z3UBhRIJsO-RhNJJ6Jje3VRWcgaEKKFKP9yUZg>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Feb 2024 10:20:47 -0500 (EST)
Message-ID: <4eed07a3-1df5-48f9-be9a-1655721118f1@HIDDEN>
Date: Mon, 19 Feb 2024 17:20:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
Content-Language: en-US
To: Eli Zaretskii <eliz@HIDDEN>, Konstantin Kharlamov <Hi-Angel@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <865xykr79f.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -2.6 (--)
X-Debbugs-Envelope-To: 69220
Cc: 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.6 (---)

On 19/02/2024 14:03, Eli Zaretskii wrote:
> Having said that, if this is deemed useful, why not?  Adding Stefan to
> the discussion, in case he has comments.  I'd also be interested in
> Dmitry's opinions.

Like Andreas described, doing a merge using an "ours" or "theirs" 
strategy is something that people do on occasion.

Whether it's a good option to be able to do in smerge as well, I don't 
have a relevant experience to comment on, but the patch looks short 
enough, so the added complexity is minimal.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 12:54:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 07:54:32 2024
Received: from localhost ([127.0.0.1]:40658 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc3AE-0004c0-L1
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:54:32 -0500
Received: from forward502c.mail.yandex.net ([178.154.239.210]:52846)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rc3AA-0004bm-1F
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:54:29 -0500
Received: from mail-nwsmtp-smtp-production-main-19.sas.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-19.sas.yp-c.yandex.net
 [IPv6:2a02:6b8:c24:5a6:0:640:ee22:0])
 by forward502c.mail.yandex.net (Yandex) with ESMTPS id C6B7C60CE9;
 Mon, 19 Feb 2024 15:53:32 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-19.sas.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id UrPHWpB5N0U0-HRKhio7P; 
 Mon, 19 Feb 2024 15:53:32 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708347212; bh=70kegglWugKxc00pkAKoAc1qle2H0te4VIPF/w/X4tc=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=OMBEqibXorLnBHk89amzPME2WoEeL+nJXlHEWQ9rt0QObzX8+yCryHK4ehma64YYB
 RCuSBK/bpduBA8E+Ckc1e/wpqy85/11RSVcwIPpFpaBXtAj6Gg2G122XieLUILcY25
 EL6Ebzw20NOzEMGwPRzR4kaDpy70giw+9LSDAGuk=
Authentication-Results: mail-nwsmtp-smtp-production-main-19.sas.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <3beba6eff9e1a4c74b470737ed299106fe5538ab.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Andreas Schwab <schwab@HIDDEN>
Date: Mon, 19 Feb 2024 15:53:30 +0300
In-Reply-To: <mvmedd8y66f.fsf@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
 <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
 <mvmmsrwy72w.fsf@HIDDEN>
 <0f2cffca61b65ef7c0bd65e3029068d05d64b513.camel@HIDDEN>
 <mvmil2ky6pl.fsf@HIDDEN>
 <bf3b48721501fbe29cac687ba19576869c6c630a.camel@HIDDEN>
 <mvmedd8y66f.fsf@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Mon, 2024-02-19 at 13:44 +0100, Andreas Schwab wrote:
> On Feb 19 2024, Konstantin Kharlamov wrote:
>=20
> > So, I just created an artificial conflict. Then I get these errors:
> >=20
> > =C2=A0=C2=A0=C2=A0 =CE=BB git merge -X theirs
> > =C2=A0=C2=A0=C2=A0 error: Merging is not possible because you have unme=
rged files.
>=20
> You need to pass it when you start the merge/rebase.

Oh, I see=E2=80=A6 Well, thank you, good to know it's there. Although that =
does
limit the application of these options, not sure I'll be using them too
often=E2=80=A6 Because you need to plan beforehand that you'll get a confli=
ct
which you'll want to resolve in preference of theirs or ours. And AFAIK
ours/theirs may be swapped between different commands (I don't remember
which, maybe cherry-pick, but I'm not sure), so that leaves a margin
for mistakes with the cost of digging into git-reflog to get the older
version of the branch and then re-apply changes anew. So=E2=80=A6 I guess I=
'll
prefer Emacs's smerge functional for resolving conflicts, it's just
more reliable.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 12:46:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 07:46:13 2024
Received: from localhost ([127.0.0.1]:40617 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc32B-0004IO-Ox
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:46:13 -0500
Received: from smtp-out2.suse.de ([195.135.223.131]:59618)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <schwab@HIDDEN>) id 1rc329-0004Dt-NB
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:46:11 -0500
Received: from hawking.nue2.suse.org (unknown [10.168.4.11])
 by smtp-out2.suse.de (Postfix) with ESMTP id E19E81F7F7;
 Mon, 19 Feb 2024 12:45:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
 t=1708346712; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=UM0EBW2E/7rtqxo85W11tVafNf2HLvB4oqkFVRtM7kI=;
 b=hXWTmcae9ucqtHWWbCG7TBWhjnapVwBD5GiEGY5iyIBinEKO0+T8lY0WkfWoypBpEoXoE5
 DdbHKCE7HtHLqb1xFYk4ujabsJeMcRmv8R7vAPuuaoTiSU66KNFCllVmBRmHjQxvkCAPcl
 ZWT2zK5rslkRZoo2vCi1KNIMKiHcGIY=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
 s=susede2_ed25519; t=1708346712;
 h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=UM0EBW2E/7rtqxo85W11tVafNf2HLvB4oqkFVRtM7kI=;
 b=cLbWOYJS1PjQ+uyQcoefSKyQ0Vi1WnpeMemtV3VzhYtDG9QOXfB4bIZw2GJ0NQO2EOwIn+
 ia3/ggGk3iuLY6Ag==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
 t=1708346710; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=UM0EBW2E/7rtqxo85W11tVafNf2HLvB4oqkFVRtM7kI=;
 b=cxwr7Q04bNx/ytN/0D8b9ms5ngWOQzEog8sCO5Tq2XO5XqdtV4hOrrc5N1D71sJ2VU6USW
 TLCsqyk+lup3ISwYNV/LVuQ4DFLS/c6eDbrAZXAA/63KjkOii12pzN3qKQ8P0/V0nd1oT5
 UcUXXojNoI8qCveXW6lAn2aZfxfbUCU=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
 s=susede2_ed25519; t=1708346710;
 h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=UM0EBW2E/7rtqxo85W11tVafNf2HLvB4oqkFVRtM7kI=;
 b=YwuEsomNZbuUU6re3XUoomPLYgg6B5EaKyXpogFgmle0xGaKTAB2Y6M35Da8xkxuwAzBRL
 NbrVWnLXaWJZHhAg==
Received: by hawking.nue2.suse.org (Postfix, from userid 17005)
 id CA7914A0389; Mon, 19 Feb 2024 13:44:40 +0100 (CET)
From: Andreas Schwab <schwab@HIDDEN>
To: Konstantin Kharlamov <Hi-Angel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
In-Reply-To: <bf3b48721501fbe29cac687ba19576869c6c630a.camel@HIDDEN>
 (Konstantin Kharlamov's message of "Mon, 19 Feb 2024 15:38:51 +0300")
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
 <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
 <mvmmsrwy72w.fsf@HIDDEN>
 <0f2cffca61b65ef7c0bd65e3029068d05d64b513.camel@HIDDEN>
 <mvmil2ky6pl.fsf@HIDDEN>
 <bf3b48721501fbe29cac687ba19576869c6c630a.camel@HIDDEN>
X-Yow: Alright, you!!  Imitate a WOUNDED SEAL pleading for a PARKING SPACE!!
Date: Mon, 19 Feb 2024 13:44:40 +0100
Message-ID: <mvmedd8y66f.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -2.56
X-Spamd-Result: default: False [-2.56 / 50.00]; ARC_NA(0.00)[];
 FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_HAS_DN(0.00)[];
 RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_ENVRCPT(0.00)[yandex.ru];
 TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain];
 NEURAL_HAM_LONG(-1.00)[-1.000]; TO_DN_SOME(0.00)[];
 DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
 NEURAL_HAM_SHORT(-0.06)[-0.294];
 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email];
 FREEMAIL_TO(0.00)[yandex.ru]; RCVD_COUNT_ZERO(0.00)[0];
 FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+];
 MID_RHS_MATCH_FROM(0.00)[]; BAYES_HAM(-1.40)[90.94%]
X-Spam-Flag: NO
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.2 (-----)

On Feb 19 2024, Konstantin Kharlamov wrote:

> So, I just created an artificial conflict. Then I get these errors:
>
>     λ git merge -X theirs
>     error: Merging is not possible because you have unmerged files.

You need to pass it when you start the merge/rebase.

-- 
Andreas Schwab, SUSE Labs, schwab@HIDDEN
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 12:39:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 07:39:21 2024
Received: from localhost ([127.0.0.1]:40599 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc2vY-0001Ny-OR
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:39:21 -0500
Received: from forward502b.mail.yandex.net ([178.154.239.146]:42664)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rc2vV-0001No-E7
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:39:19 -0500
Received: from mail-nwsmtp-smtp-production-main-24.iva.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-24.iva.yp-c.yandex.net
 [IPv6:2a02:6b8:c0c:c022:0:640:bf6e:0])
 by forward502b.mail.yandex.net (Yandex) with ESMTPS id 1E1E55EB92;
 Mon, 19 Feb 2024 15:38:54 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-24.iva.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id qcPItwDOkGk0-SrM3JEIe; 
 Mon, 19 Feb 2024 15:38:53 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708346333; bh=hOwmQDu2il+5ZcWGj2jQpYe6T5JTxuiPm2WOHmAjrV4=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=hPLIbSkXPtd4bM3FKqMo3jow/Q7dtYB5Q7q1C7vCUcodS3pdN77EI0NYC4bu4rtd2
 NNfn7lIJhYPcPKkG2uf48EZpB2nUbF/noMtwt22Tc2gy2YqfQNz9ozs0hPy85kNBBf
 W2vT8p5hHrcCf7kDiC9OlV8S5JBOnS5f8wfjv0aM=
Authentication-Results: mail-nwsmtp-smtp-production-main-24.iva.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <bf3b48721501fbe29cac687ba19576869c6c630a.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Andreas Schwab <schwab@HIDDEN>
Date: Mon, 19 Feb 2024 15:38:51 +0300
In-Reply-To: <mvmil2ky6pl.fsf@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
 <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
 <mvmmsrwy72w.fsf@HIDDEN>
 <0f2cffca61b65ef7c0bd65e3029068d05d64b513.camel@HIDDEN>
 <mvmil2ky6pl.fsf@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Mon, 2024-02-19 at 13:33 +0100, Andreas Schwab wrote:
> On Feb 19 2024, Konstantin Kharlamov wrote:
>
> > On Mon, 2024-02-19 at 13:25 +0100, Andreas Schwab wrote:
> > > On Feb 19 2024, Konstantin Kharlamov wrote:
> > >
> > > > 1: Actually, git provides a functional that should work for
> > > > that
> > > > usecase; but in my experience it is more confusing than it's
> > > > useful. It
> > > > is options `--theirs/ours`, i.e. `git checkout --theirs ./` and
> > > > `git
> > > > checkout --ours ./`. But these options are problematic because
> > > > instead
> > > > of resolving conflict in preference of `theirs` or `ours` they
> > > > do a
> > > > complete checkout of the code from either of the branches. I
> > > > can't
> > > > count how many times I was burned by trying to resolve
> > > > conflicts
> > > > with
> > > > these options and then was getting wrong code because together
> > > > with
> > > > the
> > > > conflicting part the options change everything else.
> > >
> > > I think what you actually want is the 'ours'/'theirs' options of
> > > the
> > > merge strategy (available to both the ort and recursive
> > > strategies).
> >
> > Oh, thanks for mentioning, I didn't know! So=E2=80=A6 how do I use them=
?
>
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 -X <strategy-option>, --strategy-opt=
ion=3D<strategy-option>
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Pass the <st=
rategy-option> through to the merge strategy.
> This
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 implies --me=
rge and, if no strategy has been specified, -s
> ort.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Note the rev=
ersal of ours and theirs as noted above for
> the -m
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 option.
>

Sorry, I'm not following.

So, I just created an artificial conflict. Then I get these errors:

    =CE=BB git merge -X theirs
    error: Merging is not possible because you have unmerged files.
    hint: Fix them up in the work tree, and then use 'git add/rm <file>'
    hint: as appropriate to mark resolution and make a commit.
    fatal: Exiting because of an unresolved conflict.
    =CE=BB git add -u
    =CE=BB git merge -X theirs
    fatal: No current branch.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 12:34:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 07:34:10 2024
Received: from localhost ([127.0.0.1]:40574 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc2qX-0001Ei-Nl
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:34:10 -0500
Received: from smtp-out1.suse.de ([195.135.223.130]:38036)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <schwab@HIDDEN>) id 1rc2qV-0001E9-Kb
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:34:08 -0500
Received: from hawking.nue2.suse.org (unknown [10.168.4.11])
 by smtp-out1.suse.de (Postfix) with ESMTP id 7688422201;
 Mon, 19 Feb 2024 12:33:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
 t=1708345990; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=4ioMtn5Jr0juetckYVwavKVvMz6HgdRdFkZnScCzC8o=;
 b=eRu5Ej2mueGznPcQlOqtFe8s4M5x5Jgma3pMUtoO8sETHPfcxqFFBQsm7sSlo6ZHYMNdYe
 eXzze+DxUQKlm3qtSJXDp+K+wS18JzOydr7fIYRFSkHyTK8k2BOQ7ulb9hjK1HQNxK/TVi
 XQHQyXE2WIidbwC3lDmGIIcd5/PwUl4=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
 s=susede2_ed25519; t=1708345990;
 h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=4ioMtn5Jr0juetckYVwavKVvMz6HgdRdFkZnScCzC8o=;
 b=y8aqJqYxwNkbZAviOf6FXC2zH0XiNZGzpe83AAYFRBupmp8kmtyrq2uFAvDx07ZZIJ4ruo
 KXWBSoV/8MMt9rBQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
 t=1708345990; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=4ioMtn5Jr0juetckYVwavKVvMz6HgdRdFkZnScCzC8o=;
 b=eRu5Ej2mueGznPcQlOqtFe8s4M5x5Jgma3pMUtoO8sETHPfcxqFFBQsm7sSlo6ZHYMNdYe
 eXzze+DxUQKlm3qtSJXDp+K+wS18JzOydr7fIYRFSkHyTK8k2BOQ7ulb9hjK1HQNxK/TVi
 XQHQyXE2WIidbwC3lDmGIIcd5/PwUl4=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
 s=susede2_ed25519; t=1708345990;
 h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=4ioMtn5Jr0juetckYVwavKVvMz6HgdRdFkZnScCzC8o=;
 b=y8aqJqYxwNkbZAviOf6FXC2zH0XiNZGzpe83AAYFRBupmp8kmtyrq2uFAvDx07ZZIJ4ruo
 KXWBSoV/8MMt9rBQ==
Received: by hawking.nue2.suse.org (Postfix, from userid 17005)
 id 6BC6F4A0389; Mon, 19 Feb 2024 13:33:10 +0100 (CET)
From: Andreas Schwab <schwab@HIDDEN>
To: Konstantin Kharlamov <Hi-Angel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
In-Reply-To: <0f2cffca61b65ef7c0bd65e3029068d05d64b513.camel@HIDDEN>
 (Konstantin Kharlamov's message of "Mon, 19 Feb 2024 15:28:50 +0300")
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
 <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
 <mvmmsrwy72w.fsf@HIDDEN>
 <0f2cffca61b65ef7c0bd65e3029068d05d64b513.camel@HIDDEN>
X-Yow: I'm continually AMAZED at th'breathtaking effects of WIND EROSION!!
Date: Mon, 19 Feb 2024 13:33:10 +0100
Message-ID: <mvmil2ky6pl.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spamd-Result: default: False [-0.12 / 50.00]; ARC_NA(0.00)[];
 FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_HAS_DN(0.00)[];
 RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_ENVRCPT(0.00)[yandex.ru];
 TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain];
 TO_DN_SOME(0.00)[];
 DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email];
 FREEMAIL_TO(0.00)[yandex.ru]; RCVD_COUNT_ZERO(0.00)[0];
 FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+];
 MID_RHS_MATCH_FROM(0.00)[]; BAYES_HAM(-0.02)[52.43%]
X-Spam-Level: 
X-Spam-Flag: NO
X-Spam-Score: -0.12
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.2 (-----)

On Feb 19 2024, Konstantin Kharlamov wrote:

> On Mon, 2024-02-19 at 13:25 +0100, Andreas Schwab wrote:
>> On Feb 19 2024, Konstantin Kharlamov wrote:
>> 
>> > 1: Actually, git provides a functional that should work for that
>> > usecase; but in my experience it is more confusing than it's
>> > useful. It
>> > is options `--theirs/ours`, i.e. `git checkout --theirs ./` and
>> > `git
>> > checkout --ours ./`. But these options are problematic because
>> > instead
>> > of resolving conflict in preference of `theirs` or `ours` they do a
>> > complete checkout of the code from either of the branches. I can't
>> > count how many times I was burned by trying to resolve conflicts
>> > with
>> > these options and then was getting wrong code because together with
>> > the
>> > conflicting part the options change everything else.
>> 
>> I think what you actually want is the 'ours'/'theirs' options of the
>> merge strategy (available to both the ort and recursive strategies).
>
> Oh, thanks for mentioning, I didn't know! So… how do I use them?

       -X <strategy-option>, --strategy-option=<strategy-option>
           Pass the <strategy-option> through to the merge strategy. This
           implies --merge and, if no strategy has been specified, -s ort.
           Note the reversal of ours and theirs as noted above for the -m
           option.

-- 
Andreas Schwab, SUSE Labs, schwab@HIDDEN
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 12:29:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 07:29:49 2024
Received: from localhost ([127.0.0.1]:40558 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc2mL-0006oV-8z
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:29:49 -0500
Received: from forward500c.mail.yandex.net ([178.154.239.208]:54246)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rc2mH-0006oF-Ju
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:29:47 -0500
Received: from mail-nwsmtp-smtp-production-main-90.myt.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-90.myt.yp-c.yandex.net
 [IPv6:2a02:6b8:c12:2502:0:640:9ff9:0])
 by forward500c.mail.yandex.net (Yandex) with ESMTPS id 567E760B5D;
 Mon, 19 Feb 2024 15:28:52 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-90.myt.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id oSP85O9h0eA0-UloGlq0M; 
 Mon, 19 Feb 2024 15:28:51 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708345731; bh=xTESqkGUg912TKqAj+TeYDCqpkhuo2QxIoo1elGFcCc=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=Ho4A4BX6A/Hb++yHQZmpMPK1xP6LkFlok/R5Kb7jqITnVJ4F7sxkcRlEMnjZ0OIht
 70nmPP1hnpoLLAun+m1ygpz4eYeXdjpPDPzDVDYtozSrFoA3y0w0OqJpNoI78YSCY8
 Wb/bEUWZujMrn6LivIER/Xgpkx12vE/ixIunBhb0=
Authentication-Results: mail-nwsmtp-smtp-production-main-90.myt.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <0f2cffca61b65ef7c0bd65e3029068d05d64b513.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Andreas Schwab <schwab@HIDDEN>
Date: Mon, 19 Feb 2024 15:28:50 +0300
In-Reply-To: <mvmmsrwy72w.fsf@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
 <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
 <mvmmsrwy72w.fsf@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Mon, 2024-02-19 at 13:25 +0100, Andreas Schwab wrote:
> On Feb 19 2024, Konstantin Kharlamov wrote:
>=20
> > 1: Actually, git provides a functional that should work for that
> > usecase; but in my experience it is more confusing than it's
> > useful. It
> > is options `--theirs/ours`, i.e. `git checkout --theirs ./` and
> > `git
> > checkout --ours ./`. But these options are problematic because
> > instead
> > of resolving conflict in preference of `theirs` or `ours` they do a
> > complete checkout of the code from either of the branches. I can't
> > count how many times I was burned by trying to resolve conflicts
> > with
> > these options and then was getting wrong code because together with
> > the
> > conflicting part the options change everything else.
>=20
> I think what you actually want is the 'ours'/'theirs' options of the
> merge strategy (available to both the ort and recursive strategies).

Oh, thanks for mentioning, I didn't know! So=E2=80=A6 how do I use them?

So, a usual workflow:

1. `git rebase -i HEAD~4`
2. do some edits
3. `git add -u && git rebase --continue`

*boom* I get conflicts and I want them to be solved in preference
"theirs". What command do I call here?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 12:25:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 07:25:41 2024
Received: from localhost ([127.0.0.1]:40549 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc2iL-0006ii-5j
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:25:41 -0500
Received: from smtp-out1.suse.de ([195.135.223.130]:40222)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <schwab@HIDDEN>) id 1rc2iI-0006iT-BM
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:25:40 -0500
Received: from hawking.nue2.suse.org (unknown [10.168.4.11])
 by smtp-out1.suse.de (Postfix) with ESMTP id 45B5F21E76;
 Mon, 19 Feb 2024 12:25:11 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
 t=1708345511; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=HUlD9NJFDVUqVJYIr4TLgJs+14OAksUIM1owTQQDfnQ=;
 b=K2IZz0xMb+ik4mojN++UYjJrdy8RrZjpopplJGclUMEgu/I6yHuHFvTrsRpaBFd5xWlMPh
 WybrEGp06cemRD9rZU2+btpzIbABv+rsuIGI/N5HNy0yAoL0xkvOgjT73ko6rGhF0i1Uhd
 bHcS1U4AXNhOH7hmlqAuiq8X/3hZimQ=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
 s=susede2_ed25519; t=1708345511;
 h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=HUlD9NJFDVUqVJYIr4TLgJs+14OAksUIM1owTQQDfnQ=;
 b=ojnUj3B9MJCSkr/gRQ+EJ/36lszen21A1P+gH5Ih0gcq7nYFXfQKvJOxXnj+w93IpxkIqu
 xjb7yZM7RMxhCPCw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
 t=1708345511; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=HUlD9NJFDVUqVJYIr4TLgJs+14OAksUIM1owTQQDfnQ=;
 b=K2IZz0xMb+ik4mojN++UYjJrdy8RrZjpopplJGclUMEgu/I6yHuHFvTrsRpaBFd5xWlMPh
 WybrEGp06cemRD9rZU2+btpzIbABv+rsuIGI/N5HNy0yAoL0xkvOgjT73ko6rGhF0i1Uhd
 bHcS1U4AXNhOH7hmlqAuiq8X/3hZimQ=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
 s=susede2_ed25519; t=1708345511;
 h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
 mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=HUlD9NJFDVUqVJYIr4TLgJs+14OAksUIM1owTQQDfnQ=;
 b=ojnUj3B9MJCSkr/gRQ+EJ/36lszen21A1P+gH5Ih0gcq7nYFXfQKvJOxXnj+w93IpxkIqu
 xjb7yZM7RMxhCPCw==
Received: by hawking.nue2.suse.org (Postfix, from userid 17005)
 id 3A5C84A0389; Mon, 19 Feb 2024 13:25:11 +0100 (CET)
From: Andreas Schwab <schwab@HIDDEN>
To: Konstantin Kharlamov <Hi-Angel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
In-Reply-To: <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
 (Konstantin Kharlamov's message of "Mon, 19 Feb 2024 15:17:55 +0300")
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
 <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
X-Yow: Will it improve my CASH FLOW?
Date: Mon, 19 Feb 2024 13:25:11 +0100
Message-ID: <mvmmsrwy72w.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
Authentication-Results: smtp-out1.suse.de;
	none
X-Spamd-Result: default: False [-0.50 / 50.00]; ARC_NA(0.00)[];
 FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_HAS_DN(0.00)[];
 RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_ENVRCPT(0.00)[yandex.ru];
 TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain];
 TO_DN_SOME(0.00)[];
 DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email];
 FREEMAIL_TO(0.00)[yandex.ru]; RCVD_COUNT_ZERO(0.00)[0];
 FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+];
 MID_RHS_MATCH_FROM(0.00)[]; BAYES_HAM(-0.40)[77.81%]
X-Spam-Level: 
X-Spam-Flag: NO
X-Spam-Score: -0.50
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69220
Cc: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.2 (-----)

On Feb 19 2024, Konstantin Kharlamov wrote:

> 1: Actually, git provides a functional that should work for that
> usecase; but in my experience it is more confusing than it's useful. It
> is options `--theirs/ours`, i.e. `git checkout --theirs ./` and `git
> checkout --ours ./`. But these options are problematic because instead
> of resolving conflict in preference of `theirs` or `ours` they do a
> complete checkout of the code from either of the branches. I can't
> count how many times I was burned by trying to resolve conflicts with
> these options and then was getting wrong code because together with the
> conflicting part the options change everything else.

I think what you actually want is the 'ours'/'theirs' options of the
merge strategy (available to both the ort and recursive strategies).

-- 
Andreas Schwab, SUSE Labs, schwab@HIDDEN
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 12:18:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 07:18:56 2024
Received: from localhost ([127.0.0.1]:40530 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc2bo-0006XQ-8q
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:18:56 -0500
Received: from forward500a.mail.yandex.net ([178.154.239.80]:56808)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rc2bi-0006XE-Me
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:18:55 -0500
Received: from mail-nwsmtp-smtp-production-main-69.iva.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-69.iva.yp-c.yandex.net
 [IPv6:2a02:6b8:c0c:5402:0:640:2835:0])
 by forward500a.mail.yandex.net (Yandex) with ESMTPS id 8E2FA60F8D;
 Mon, 19 Feb 2024 15:17:57 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-69.iva.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id tHPMJDuuBOs0-RTlr2oyO; 
 Mon, 19 Feb 2024 15:17:57 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708345077; bh=FS+m1i+qAh6k0EG2V4d+mzNAWklibjX5p4c4V4Se+GQ=;
 h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID;
 b=aHZ3dVwCbhMNN/mQ/o6klzihd3uiFaFq7hLrZBatDaM6qvBocTbc/eOB8V+4/UUDp
 KyywzyFO8LHCoLSrguOQ7Lg+xAD/YFFIRiXQ3G/J+J5mLX62Uj9u5ZVW1L/bwMrqn6
 VqVUU1gmYVZPJCLn1VKDxSpycd0p4CYUo6EtIV/o=
Authentication-Results: mail-nwsmtp-smtp-production-main-69.iva.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <de2c91108f8ee51278b924fe1437b3622f5aae21.camel@HIDDEN>
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Date: Mon, 19 Feb 2024 15:17:55 +0300
In-Reply-To: <865xykr79f.fsf@HIDDEN>
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 <865xykr79f.fsf@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69220
Cc: 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On Mon, 2024-02-19 at 14:03 +0200, Eli Zaretskii wrote:
> > From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
> > Date: Sat, 17 Feb 2024 13:16:14 +0300
> >=20
> > This implements a feature request from here=C2=B9 about having a
> > function to
> > resolve all conflicts simultaneously. Although question author
> > didn't
> > reply, but either way I think it's a useful functional. I needed it
> > so
> > many times, but before stumbling upon this question I just didn't
> > know
> > there are functions `smerge-keep-upper/base/lower`, and so ofc I
> > never
> > though of writing a new one that would apply them to all conflicts.
>=20
> I use SMerge quite a lot, but never yet had a situation where the
> same
> resolution was applicable to all of the conflicts, let alone knew
> that
> in advance, before looking at each conflict.

Well, in Emacs it is allowed to create large commits with many
functional changes, which I think is why you never saw such functional
to be necessary.

Offhand I can tell at least two situations where it is needed; both
imply you have more than one commit on the branch:

1. You got a commit that does two different functional changes to a
hunk. So you want to split it. You do an interactive rebase to the
previous commit, then do one of the changes and create a commit from
it. Then you do a `git rebase --continue` and you get conflicts; but
you know beforehand exactly that you want it to be solved in preference
of the newer commit.=C2=B9
2. You noted, either yourself or as part of codereview, that one of the
older commits on the branch has a bug; but you know the bug is non-
existent in newer commits. So you fix it in the older commit, then upon
`git rebase --continue` you again know exactly that you want just the
newer version.=C2=B9

1: Actually, git provides a functional that should work for that
usecase; but in my experience it is more confusing than it's useful. It
is options `--theirs/ours`, i.e. `git checkout --theirs ./` and `git
checkout --ours ./`. But these options are problematic because instead
of resolving conflict in preference of `theirs` or `ours` they do a
complete checkout of the code from either of the branches. I can't
count how many times I was burned by trying to resolve conflicts with
these options and then was getting wrong code because together with the
conflicting part the options change everything else.

> I'm also guessing one could have the same effect by giving a prefix
> argument of suitable value to the conflict-resolution command.
>=20
> Having said that, if this is deemed useful, why not?=C2=A0 Adding Stefan
> to
> the discussion, in case he has comments.=C2=A0 I'd also be interested in
> Dmitry's opinions.
>=20
> Thanks.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at 69220 <at> debbugs.gnu.org:


Received: (at 69220) by debbugs.gnu.org; 19 Feb 2024 12:03:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 19 07:03:44 2024
Received: from localhost ([127.0.0.1]:40510 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rc2N5-0006BQ-Uw
	for submit <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:03:44 -0500
Received: from eggs.gnu.org ([209.51.188.92]:54806)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1rc2N0-0006BB-AH
 for 69220 <at> debbugs.gnu.org; Mon, 19 Feb 2024 07:03:42 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1rc2MZ-0006In-LO; Mon, 19 Feb 2024 07:03:11 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=IFZFqWZpx3qI3GZrfIhru/jfTNeVrcGXANhYeBuF2Ns=; b=Nz8q73ytFT84mI7qnZIO
 C44teK4z8LjqvBmbjBenQIPMugv6Vd011Tq9JguMlYxwI+raN/lxniODQWaIXL554D0deice4Is3Y
 dkJ7gGUckhBPm1TFIFqMQPsDGygtSlh9a3e1WQGOleun8kTOqxQh9rVrhBfoW4K6eKVS1zOKCKsoE
 taviHYVEZtTNrOID9YwaEihkbMGIsZ3XmPpTXwCuqpjPW6V56fSsbD9gHggm3wIt5VejEl4yiom7D
 N0dfvbdH4V2BkH1UJZWB7qVzPzpRM1AQ6EOs69ETjSq7DK52xjTBOz5XPz5hozYcvnC20KmhYklFg
 uIG0N9LjU01RMg==;
Date: Mon, 19 Feb 2024 14:03:08 +0200
Message-Id: <865xykr79f.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Konstantin Kharlamov <Hi-Angel@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
 (message from Konstantin Kharlamov on Sat, 17 Feb 2024 13:16:14 +0300)
Subject: Re: bug#69220: [PATCH] smerge-mode: add a function to resolve all
 conflicts in a file
References: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69220
Cc: 69220 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.2 (-----)

> From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
> Date: Sat, 17 Feb 2024 13:16:14 +0300
> 
> This implements a feature request from here¹ about having a function to
> resolve all conflicts simultaneously. Although question author didn't
> reply, but either way I think it's a useful functional. I needed it so
> many times, but before stumbling upon this question I just didn't know
> there are functions `smerge-keep-upper/base/lower`, and so ofc I never
> though of writing a new one that would apply them to all conflicts.

I use SMerge quite a lot, but never yet had a situation where the same
resolution was applicable to all of the conflicts, let alone knew that
in advance, before looking at each conflict.

I'm also guessing one could have the same effect by giving a prefix
argument of suitable value to the conflict-resolution command.

Having said that, if this is deemed useful, why not?  Adding Stefan to
the discussion, in case he has comments.  I'd also be interested in
Dmitry's opinions.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 18 Feb 2024 18:23:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 18 13:23:18 2024
Received: from localhost ([127.0.0.1]:37168 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rbloq-0003Ab-5c
	for submit <at> debbugs.gnu.org; Sun, 18 Feb 2024 13:23:17 -0500
Received: from lists.gnu.org ([209.51.188.17]:53956)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <Hi-Angel@HIDDEN>) id 1rblR4-0001mW-WB
 for submit <at> debbugs.gnu.org; Sun, 18 Feb 2024 12:58:45 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Hi-Angel@HIDDEN>)
 id 1rbHk5-00018X-UV
 for bug-gnu-emacs@HIDDEN; Sat, 17 Feb 2024 05:16:21 -0500
Received: from forward100c.mail.yandex.net ([2a02:6b8:c03:500:1:45:d181:d100])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Hi-Angel@HIDDEN>)
 id 1rbHk3-0008Lp-Ud
 for bug-gnu-emacs@HIDDEN; Sat, 17 Feb 2024 05:16:21 -0500
Received: from mail-nwsmtp-smtp-production-main-38.myt.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-38.myt.yp-c.yandex.net
 [IPv6:2a02:6b8:c12:448d:0:640:3464:0])
 by forward100c.mail.yandex.net (Yandex) with ESMTPS id 1FA9F60032
 for <bug-gnu-emacs@HIDDEN>; Sat, 17 Feb 2024 13:16:15 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-38.myt.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id EGLxZRBoGGk0-BkYeJXdM; 
 Sat, 17 Feb 2024 13:16:14 +0300
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
 t=1708164974; bh=IJOofnndvFd4SSvsqJY6HAH3zSz8TF0jLn9B6JSREXQ=;
 h=Date:To:From:Subject:Message-ID;
 b=O7FGQZs3DWbE26tTMqRY6TUZTzA9Iszc5NOqpubHbXo2RJr69lAUqMXDDBoOiRMB5
 qfUAtOWUfZZEspW/iNcCl4FGCNA6/zdiz1MUJzgZ7MRFdR7bcrYfqO1aQGZyGfjR0A
 54q3MwmIwG93sgf9kLUhQH2SPENv79vv3vofuzcc=
Authentication-Results: mail-nwsmtp-smtp-production-main-38.myt.yp-c.yandex.net;
 dkim=pass header.i=@yandex.ru
Message-ID: <d3c423c7b2ced498ff6c1b23e1e67926410d4bf0.camel@HIDDEN>
Subject: [PATCH] smerge-mode: add a function to resolve all conflicts in a file
From: Konstantin Kharlamov <Hi-Angel@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Date: Sat, 17 Feb 2024 13:16:14 +0300
Content-Type: multipart/mixed; boundary="=-1tGhaRw1K/ELi3lrR1ey"
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0
Received-SPF: pass client-ip=2a02:6b8:c03:500:1:45:d181:d100;
 envelope-from=Hi-Angel@HIDDEN; helo=forward100c.mail.yandex.net
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.5 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.5 (----)

--=-1tGhaRw1K/ELi3lrR1ey
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

This implements a feature request from here=C2=B9 about having a function t=
o
resolve all conflicts simultaneously. Although question author didn't
reply, but either way I think it's a useful functional. I needed it so
many times, but before stumbling upon this question I just didn't know
there are functions `smerge-keep-upper/base/lower`, and so ofc I never
though of writing a new one that would apply them to all conflicts.

It might be useful to make a function to do the same within a git-repo,
but for now let's have at least a function that does that within a
file.

1:
https://emacs.stackexchange.com/questions/80361/when-merging-conflicts-in-s=
merge-mode-how-to-select-mine-for-all-conflicts

--=-1tGhaRw1K/ELi3lrR1ey
Content-Disposition: attachment; filename="1.patch"
Content-Type: text/x-patch; name="1.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSAxNzAyZDdjMGY3ODJhOGUxOGIyNTM5MTk0YTViMjc2NzA3MTgxMzUzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLb25zdGFudGluIEtoYXJsYW1vdiA8SGktQW5nZWxAeWFuZGV4
LnJ1PgpEYXRlOiBTYXQsIDE3IEZlYiAyMDI0IDEyOjQzOjAyICswMzAwClN1YmplY3Q6IFtQQVRD
SF0gc21lcmdlLW1vZGU6IGFkZCBhIGZ1bmN0aW9uIHRvIHJlc29sdmUgYWxsIGNvbmZsaWN0cyBp
biBhCiBmaWxlCgoqIGxpc3AvdmMvc21lcmdlLW1vZGUuZWwgKHNtZXJnZS1yZXNvbHZlLWFsbC1p
bi1maWxlLXRvKTogYSBuZXcKaW50ZXJhY3RpdmUgZnVuY3Rpb24gdG8gcmVzb2x2ZSBhbGwgY29u
ZmxpY3RzIGluIGEgZmlsZS4KLS0tCiBldGMvTkVXUyAgICAgICAgICAgICAgIHwgIDYgKysrKysr
CiBsaXNwL3ZjL3NtZXJnZS1tb2RlLmVsIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCiAyIGZp
bGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0
Yy9ORVdTCmluZGV4IDliZGMzYWY1ZTcxLi5iN2E0ODQxMmY0ZiAxMDA2NDQKLS0tIGEvZXRjL05F
V1MKKysrIGIvZXRjL05FV1MKQEAgLTExNzAsNiArMTE3MCwxMiBAQCBTaW1pbGFybHkgdG8gYnVm
ZmVyIHJlc3RvcmF0aW9uIGJ5IERlc2t0b3AsICdyZWNlbnRmLW1vZGUnIGNoZWNraW5nCiBvZiB0
aGUgYWNjZXNzaWJpbGl0eSBvZiByZW1vdGUgZmlsZXMgY2FuIG5vdyB0aW1lIG91dCBpZgogJ3Jl
bW90ZS1maWxlLW5hbWUtYWNjZXNzLXRpbWVvdXQnIGlzIHNldCB0byBhIHBvc2l0aXZlIG51bWJl
ci4KIAorKiogU21lcmdlIG1vZGUKKworKioqIE5ldyBpbnRlcmFjdGl2ZSBmdW5jdGlvbiAnc21l
cmdlLXJlc29sdmUtYWxsLWluLWZpbGUtdG8nLgorQWxsb3dzIHRvIHJlc29sdmUgYWxsIGNvbmZs
aWN0cyBpbnNpZGUgYSBmaWxlIGluIHByZWZlcmVuY2Ugb2YgJ3VwcGVyJworb3IgJ2Jhc2UnIG9y
ICdsb3dlcicuCisKICoqIE5vdGlmaWNhdGlvbnMKIAogKysrCmRpZmYgLS1naXQgYS9saXNwL3Zj
L3NtZXJnZS1tb2RlLmVsIGIvbGlzcC92Yy9zbWVyZ2UtbW9kZS5lbAppbmRleCBhMTZjNzg3MWZm
OS4uYzMyNDEwYmNiMTUgMTAwNjQ0Ci0tLSBhL2xpc3AvdmMvc21lcmdlLW1vZGUuZWwKKysrIGIv
bGlzcC92Yy9zbWVyZ2UtbW9kZS5lbApAQCAtNzE0LDYgKzcxNCwyNyBAQCBzbWVyZ2Uta2VlcC11
cHBlcgogICAoc21lcmdlLWtlZXAtbiAxKQogICAoc21lcmdlLWF1dG8tbGVhdmUpKQogCisoZGVm
dW4gc21lcmdlLXJlc29sdmUtYWxsLWluLWZpbGUtdG8gKHRvLWtlZXApCisgICJSZXNvbHZlcyBh
bGwgY29uZmxpY3RzIGluc2lkZSBhIGZpbGUgaW4gcHJlZmVyZW5jZSBvZiBUTy1LRUVQLgorCitU
Ty1LRUVQIGRlY2lkZXMgd2hpY2ggcGFydCB0byBrZWVwIGFuZCBpcyBvbmUgb2YgYHVwcGVyJywg
YGJhc2UnLAorYGxvd2VyJyIuCisgIChpbnRlcmFjdGl2ZQorICAgKGxpc3QgKGNvbXBsZXRpbmct
cmVhZCAiS2VlcGluZzogIiBbdXBwZXIgYmFzZSBsb3dlcl0pKSkKKyAgKGxldCAoKHJlc29sdmUt
ZnVuYworICAgICAgICAgKHBjYXNlIHRvLWtlZXAKKyAgICAgICAgICAgKCJ1cHBlciIgJ3NtZXJn
ZS1rZWVwLXVwcGVyKQorICAgICAgICAgICAoImJhc2UiICAnc21lcmdlLWtlZXAtYmFzZSkKKyAg
ICAgICAgICAgKCJsb3dlciIgJ3NtZXJnZS1rZWVwLWxvd2VyKQorICAgICAgICAgICAoXyAoZXJy
b3IgIlVua25vd24gcmVzb2x1dGlvbiBhcmd1bWVudCEiKSkpKQorICAgICAgICAobnVtLWNoYXJz
LWJlZm9yZSAocG9pbnQtbWF4KSkpCisgICAgKHNhdmUtZXhjdXJzaW9uCisgICAgICAoZ290by1j
aGFyIChwb2ludC1taW4pKQorICAgICAgKHdoaWxlIChpZ25vcmUtZXJyb3JzIChub3QgKHNtZXJn
ZS1uZXh0KSkpCisgICAgICAgIChmdW5jYWxsIHJlc29sdmUtZnVuYykpKQorICAgICh3aGVuICg9
IG51bS1jaGFycy1iZWZvcmUgKHBvaW50LW1heCkpCisgICAgICAobWVzc2FnZSAiTm8gY29uZmxp
Y3RzIHdlcmUgZm91bmQiKSkpKQorCiAoZGVmaW5lLW9ic29sZXRlLWZ1bmN0aW9uLWFsaWFzICdz
bWVyZ2Uta2VlcC1taW5lICdzbWVyZ2Uta2VlcC11cHBlciAiMjYuMSIpCiAKIChkZWZ1biBzbWVy
Z2UtZ2V0LWN1cnJlbnQgKCkKLS0gCjIuNDMuMAoK


--=-1tGhaRw1K/ELi3lrR1ey--




Acknowledgement sent to Konstantin Kharlamov <Hi-Angel@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#69220; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Wed, 12 Feb 2025 03:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.