From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jonas Bernoulli Newsgroups: gmane.emacs.devel Subject: Re: feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS Date: Wed, 16 Nov 2022 19:23:34 +0100 Message-ID: <87v8neep21.fsf@bernoul.li> References: <164484721900.31751.1453162457552427931@vcs2.savannah.gnu.org> <20220214140020.04438C00891@vcs2.savannah.gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19106"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Philip Kaludercic To: Stefan Monnier , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Nov 16 19:24:22 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 1ovN5C-0004kC-Fj for ged-emacs-devel@m.gmane-mx.org; Wed, 16 Nov 2022 19:24:22 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ovN4Z-0007As-KD; Wed, 16 Nov 2022 13:23:43 -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 1ovN4Y-00079X-5R for emacs-devel@gnu.org; Wed, 16 Nov 2022 13:23:42 -0500 Original-Received: from mail.hostpark.net ([212.243.197.30]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ovN4V-0003Ob-FT for emacs-devel@gnu.org; Wed, 16 Nov 2022 13:23:41 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by mail.hostpark.net (Postfix) with ESMTP id 61DC116450; Wed, 16 Nov 2022 19:23:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bernoul.li; h= content-type:content-type:mime-version:message-id:date:date :references:in-reply-to:subject:subject:from:from:received :received; s=sel2011a; t=1668623015; bh=kXY30AIeM/A0AZ///XmqWDH8 I0fYci/H/P6C3UJrC28=; b=H8voeYTfi8ERU/MfIwEiYk2YsGkfDOzd/Q6qAuee a38hSbAYoH/juq+aisCOdAbxTvJMM+WfH9YAUjd0w0ujbrOcIuouh0cE00o/zmS7 jmQ8GUVgh5DW3I52KOIUm2PiNkyXwv+E3GKYB9n2o7px7yjrxiKOSLIlGpNIhO5/ A9A= X-Virus-Scanned: by Hostpark/NetZone Mailprotection at hostpark.net Original-Received: from mail.hostpark.net ([127.0.0.1]) by localhost (mail1.hostpark.net [127.0.0.1]) (amavisd-new, port 10224) with ESMTP id Pzm8sr3HNj74; Wed, 16 Nov 2022 19:23:35 +0100 (CET) Original-Received: from customer (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.hostpark.net (Postfix) with ESMTPSA id 23AD3162A9; Wed, 16 Nov 2022 19:23:35 +0100 (CET) In-Reply-To: Received-SPF: none client-ip=212.243.197.30; envelope-from=jonas@bernoul.li; helo=mail.hostpark.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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:299970 Archived-At: I cannot find it now, but somewhere in this thread you discussed uninstalling a vc-installed package without risking to lose any local changes. In Borg I handle it like this: Installing a package detaches the gitdir from the working tree. (Borg uses submodules, but you don't need to do that to detach the gitdir.) Uninstalling the package only removes the working tree. Keeping the gitdir preserves all branches, stashes and dangling revs. Uninstalling is only allowed if there are no uncommitted changes. The gitdir remains and if the user ever installs the same package again, they are at that time asked whether to simply restore the working tree or to start over and discard the existing gitdir.