From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#60126: 30.0.50; vc-git-checkin: Offer to unstage conflicting changes Date: Tue, 20 Dec 2022 17:13:10 +0200 Message-ID: <392bbde0-9d6e-83c4-0639-af406e279ef1@yandex.ru> References: <38d4d719-8f3c-9bb6-b141-f7e9ca66333c@yandex.ru> <871qovjabq.fsf@melete.silentflame.com> <4513ac99-76d1-cdd6-fcc9-59208b5002f3@yandex.ru> <87zgbih8wv.fsf@melete.silentflame.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6263"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Cc: 60126@debbugs.gnu.org, juri@linkov.net To: Sean Whitton Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Dec 20 16:14:27 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p7eK2-0001RN-3T for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 20 Dec 2022 16:14:26 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p7eJg-0001yx-Ms; Tue, 20 Dec 2022 10:14:04 -0500 Original-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 ) id 1p7eJe-0001yX-Uz for bug-gnu-emacs@gnu.org; Tue, 20 Dec 2022 10:14:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p7eJe-0007u7-64 for bug-gnu-emacs@gnu.org; Tue, 20 Dec 2022 10:14:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p7eJe-0005fz-0q for bug-gnu-emacs@gnu.org; Tue, 20 Dec 2022 10:14:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 20 Dec 2022 15:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60126 X-GNU-PR-Package: emacs Original-Received: via spool by 60126-submit@debbugs.gnu.org id=B60126.167154920121786 (code B ref 60126); Tue, 20 Dec 2022 15:14:01 +0000 Original-Received: (at 60126) by debbugs.gnu.org; 20 Dec 2022 15:13:21 +0000 Original-Received: from localhost ([127.0.0.1]:45421 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p7eIy-0005fJ-LY for submit@debbugs.gnu.org; Tue, 20 Dec 2022 10:13:20 -0500 Original-Received: from mail-wr1-f45.google.com ([209.85.221.45]:45850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p7eIx-0005fD-01 for 60126@debbugs.gnu.org; Tue, 20 Dec 2022 10:13:19 -0500 Original-Received: by mail-wr1-f45.google.com with SMTP id h16so11991692wrz.12 for <60126@debbugs.gnu.org>; Tue, 20 Dec 2022 07:13:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=5xeEHCXHF8b3bmkoajZUd97vcKCCKxBLzASn7HoI49c=; b=gEmk9PCqTtHc2SgRqq242/bPSPOGYucXOGC3NEoiA2J/Rjdj6RLiyQhbGhXyQs1Cts d1uZ7F603KzEdpK4dU7orl/CXcaRLKBSR6gkVLiDC9IjIUgPbt2+4bYhBwa1AfPKb79L sjtT5IMiBd3SWgsphoH0Qw43ZyHju+B7j7CWSM55IKfrlRik1dxI/gmGuh4MaSv5vOUU +CZ6t5OoDAEZ8OaiE/Fy9oeCVQHdNDNy/jSQdsW+01PhRjILvoG428GzLqfmZNaHz4Wo z6pzMVuz20E4uA2lNBKhoQ03KCyGGjxtJUlNVkDjh194beMgTHFVWQKYxYt6mwNHaPTn +U3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5xeEHCXHF8b3bmkoajZUd97vcKCCKxBLzASn7HoI49c=; b=l5fMA4O5LiTzWsAba9XHT7fvuIknX/fC0oJTisS3qzCzDGMJ4zQ1x7gSBdxoVVrB4h kxhhcOnviidcR7/yYnuBsz6O5ux4HemrppfLCZ3EHlyM5GeXdauRA39exleadHh3I3sf 3YhBPRs3SK+TYJNPnoEOD7xO/8XdohEvGxToOp2tbHr4PkMxuAsfkuhVzYIDqa/rk0Bh ggBphuq1HIEXFBKd9AIiItDpzNAwjaolozHHE5fiquLQPbp4wJullW91G63cQ7fTNav5 6ApFHiswd7Nyc5gFTYWaTDtYbVyUNbhPrcHEd172a3IFb5GhHxhNNtBcZqr5oB9iqlZh ShCg== X-Gm-Message-State: ANoB5pnG0lkYPVs+YNpLwp2fqfL2Df4Yr1V5xZ8kSs7rCroXSLv7YfwK 6Qbg8al9RiBSS75kQN4HxJM= X-Google-Smtp-Source: AA0mqf4OxzyTaYM0V17X9JeKRV0nIEVy0/vgR9nMKGyRHeQDCPZ4CqIrPtRwDeyOpOeNXqfsoNsuMg== X-Received: by 2002:a05:6000:12d0:b0:242:14f5:7a96 with SMTP id l16-20020a05600012d000b0024214f57a96mr30116762wrx.47.1671549193027; Tue, 20 Dec 2022 07:13:13 -0800 (PST) Original-Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id r2-20020adfe682000000b0022cc3e67fc5sm12751156wrm.65.2022.12.20.07.13.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 20 Dec 2022 07:13:12 -0800 (PST) Content-Language: en-US In-Reply-To: <87zgbih8wv.fsf@melete.silentflame.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:251514 Archived-At: On 20/12/2022 08:43, Sean Whitton wrote: > So, I'm now thinking: > > - automatically stash index+worktree for any files with changes staged > that are*not* modified by the patch to be committed I think it's possible to just skip those when checking the index area. And then, when committing, specify individual files to commit from the index. E.g. this way: diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index b5959d535c0..dee102d8586 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -1052,7 +1052,7 @@ vc-git-checkin (lambda (value) (when (equal value "yes") (list argument))))) ;; When operating on the whole tree, better pass "-a" than ".", since "." ;; fails when we're committing a merge. - (apply #'vc-git-command nil 0 (if (and only (not vc-git-patch-string)) files) + (apply #'vc-git-command nil 0 (if only files) (nconc (if msg-file (list "commit" "-F" (file-local-name msg-file)) (list "commit" "-m")) (I'm not sure if the list of files is passed to this function correctly when committing a patch; if not, fixing that would also be needed.) > - offer to unstage any files with changes staged that*are* modified by > the patch to be committed. Or we could just abort, like we do now. Up to you (do you encounter this particular situation often?). These could be two separate changes anyway.