From mboxrd@z Thu Jan 1 00:00:00 1970 From: zimoun Subject: bug#38529: Make --ad-hoc the default for guix environment proposed deprecation mechanism Date: Thu, 12 Dec 2019 17:47:23 +0100 Message-ID: References: <87eexeu8mo.fsf@ambrevar.xyz> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:51864) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ifRdG-00069x-Gp for bug-guix@gnu.org; Thu, 12 Dec 2019 11:48:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ifRdD-0007c8-UN for bug-guix@gnu.org; Thu, 12 Dec 2019 11:48:06 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:54888) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ifRdC-0007at-ML for bug-guix@gnu.org; Thu, 12 Dec 2019 11:48:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ifRdC-0001ne-Ib for bug-guix@gnu.org; Thu, 12 Dec 2019 11:48:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: =?UTF-8?Q?G=C3=A1bor?= Boskovits Cc: Guix-devel , 38529@debbugs.gnu.org Hi G=C3=A1bor, Thank you for summarizing the discussion on IRC that I missed. Maybe I miss a point. Is the aim to conserve the "--ad-hoc" option with a different effect? Or why do we want to conserve this option name? It appears to me simpler to give another name, for example "--inputs-of". And it is more meaningful. To be concrete, the different cases; (-) means current behavior and (+) the new one: 1. - guix environment foo + guix environment --inputs-of foo 2. - guix environment --ad-hoc bar + guix environment bar First, when "--ad-hoc" is used then it reports a warning: deprecated option and falls in the current behavior. When "--inputs-of" is used then it falls in the new behavior. Therefore, no needs of the ugly "--ignore-deprecated-ad-hoc". In other words, with the same future guix version, # Alice $ guix environment foo --ad-hoc bar Warning: deprecated... explanations... instead use: guix environment bar --inputs-of foo # Bob $ guix environment bar --inputs-of foo Second, the previous "guix environment foo" (dependencies of foo) is inconsistent with the new "guix environment bar" (only the package bar). Therefore, let introduce the GUIX_ENVIRONMENT_DEPRECATED variable to distinguish both, as you said. # Alice $ guix environment foo Warning: previous behavior requires GUIX_ENVIRONMENT_DEPRECATED=3D1 turn off the warning: GUIX_ENVIRONMENT_NOWARNING=3D1 And Alice has now a new shell with the package foo. If she wants the dependencies, she has two options: $ GUIX_ENVIRONMENT=3D1 guix environment foo or $ guix environment --inputs-of foo # Bob $ guix environment bar Warning: previous behavior requires GUIX_ENVIRONMENT And if Bob is annoyed by the warnings each time, he globally turns off with the variable GUIX_ENVIRONMENT_NOWARNING=3D1. Couple of months later -- after the period adoption -- we remove the variables GUIX_ENVIRONMENT_NOWARNING and GUIX_ENVIRONMENT_DEPRECATED; still keeping the warning with the "--ad-hoc" option. And then, after we can remove the "--ad-hoc" option if required. Maybe a miss a point. But the addition of the flag appears "--too-long-to-type" to me ugly. What do you think? All the best, simon