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.devel Subject: Re: master 4803fba487 1/2: 'C-x v v' on a diff buffer commits it as a patch (bug#52349) Date: Tue, 30 Aug 2022 23:59:46 +0300 Message-ID: <17c4f8ff-d24b-72d6-7fd2-af048b017c45@yandex.ru> References: <166171593185.16640.41619657947456727@vcs2.savannah.gnu.org> <20220828194533.23A6BC00889@vcs2.savannah.gnu.org> <87r10znm0y.fsf@gnus.org> <83fshfvvyn.fsf@gnu.org> <999d1cb2-6b7f-8020-5202-e919278d895e@yandex.ru> <505371c4-43ac-e988-e5c2-f532b987c237@yandex.ru> 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="20265"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Cc: "Alfred M. Szmidt" , eliz@gnu.org, larsi@gnus.org, juri@jurta.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Aug 30 23:02:04 2022 Return-path: Envelope-to: ged-emacs-devel@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 1oT8N2-00058W-92 for ged-emacs-devel@m.gmane-mx.org; Tue, 30 Aug 2022 23:02:04 +0200 Original-Received: from localhost ([::1]:55942 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oT8N1-0006hu-2T for ged-emacs-devel@m.gmane-mx.org; Tue, 30 Aug 2022 17:02:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50544) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oT8LX-0005qX-0i for emacs-devel@gnu.org; Tue, 30 Aug 2022 17:00:32 -0400 Original-Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:45834) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oT8LU-0002Hf-Mi; Tue, 30 Aug 2022 17:00:30 -0400 Original-Received: by mail-wm1-x32b.google.com with SMTP id bd26-20020a05600c1f1a00b003a5e82a6474so6838301wmb.4; Tue, 30 Aug 2022 13:59:55 -0700 (PDT) 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; bh=odQfvZE/KZ62+roKlopJR6/VhEonq/H1QiO4m4ORkes=; b=PDkYlNM707j8vKMYCB2zQxcNL6/Q10eb4wBAi7pBd/fMbxuJL9V/QnusfWmu92JQju VoXWI3UK/xZOwOW1v+H4bEobcQBXnrzHMfdnGI0lWtFyGvnAd2jmwyPCFImYg+PXQh/k 18s/4L5FR+aenzzwI8/MzYm8Y0eWrNFrSjU6HFPR35HF5mx9isHh+x3TinUfg6Ucu8sc VTqTkng5ZJc4ZW0e8wzOpgbJudJhES7vVr2AYraAohO2W3N558aTdpWx5lPBsvaiQIaK 4kM8Je1DVz4a/LFuSy6dmLn6ynhBMUlp7sRsRtIPfvznFsMrfS8sm17027Rhbb/+/IGf j4jQ== 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; bh=odQfvZE/KZ62+roKlopJR6/VhEonq/H1QiO4m4ORkes=; b=YTas2R8Rb9fRGwWdXkE0ToZ44Vd7DSPwXK92N+AZIWnANScv3pUIq0YvesZ+GfMSsG VMnyFC3yji12GSSA5g1m9ZCn5wOJpje2IepyU56yeHSX/fJAThBGfr+a4c+PNZRdeauW UmwoY0SDzr4Zv/FQhTmK1jNKl3LqmB+1MOrtlVXFAmgDO0KYZR5gwcQGbm22FCbIXxnu HAgvE76/phUYWQeZEUQdSa0Fzxg+b0N/JFehpBLM/syA94X6Lfh+d96K7jdlFWe8/Xen Lzi0qZl6IbyIFLdOAYYRTj4UJ+1i7yTaSURJIy73ggTkhQigH5femITkOYWJRQR69s11 5gYA== X-Gm-Message-State: ACgBeo1xmTBKwliLfKsaWDg3+/daGKuw+ELSZI5AEZ9dFxG5z8TPv4pR LpHf3jDwGMH5O58GUw4OX48= X-Google-Smtp-Source: AA6agR7knQCqAbnUFDx0lWdZ9ukGDmx3AJafErnKqmQtEHyFJhPZU8lPnJdz2HV5EfHcTp6+fgr5Dw== X-Received: by 2002:a05:600c:4e8a:b0:3a6:d89:aa24 with SMTP id f10-20020a05600c4e8a00b003a60d89aa24mr30490wmq.149.1661893193431; Tue, 30 Aug 2022 13:59:53 -0700 (PDT) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id t17-20020a05600c199100b003a5f2cc2f1dsm14010435wmq.42.2022.08.30.13.59.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 30 Aug 2022 13:59:52 -0700 (PDT) Content-Language: en-US In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=raaahh@gmail.com; helo=mail-wm1-x32b.google.com X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, GAPPY_SUBJECT=0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:294385 Archived-At: On 30.08.2022 21:36, Stefan Monnier wrote: > Dmitry Gutov [2022-08-30 18:26:41] wrote: >> On 30.08.2022 18:16, Stefan Monnier wrote: >>>> I can look into adapting this approach for other VCS if nobody beats me to >>>> it. As long as we fundamentally agree on the behavior. >>> Fine by me. I'll just mention that I think we should be careful to make >>> sure no info is lost if Emacs crashes in the middle of the operation. >> File contents' backups should remain somewhere in /tmp, *shrug*. >> It might take some effort to find them, though. > > We could do something like: > > run-the-vcs-diff-on-the FILES >VC-pending-changes > patch -R ...do the vc-checkin-patch... > patch rm VC-pending-changes > > or (closer to Git's behavior): > > tar -cf VC-pending-changes.tar FILES > vc-revert FILES > ...do the vc-checkin-patch... > tar xf VC-pending-changes.tar > rm VC-pending-changes.tar Except we probably can't rely on 'patch' or 'tar' being installed on the user's system. >> I think it's hard to implement this with even more safety somehow. > > I'm just worried that the uncommmitted changes we need to temporarily > remove are the rare parts that contain information that's not yet > duplicated in the VCS's data, so if we only store it in an Emacs buffer > it's vulnerable to an Emacs crash (which is something that *does* > happen, especially for us poor souls who run with experimental code and > with all assertions enabled :-). The /tmp approach implied 'cp', not storing contents of files in background buffers.