From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Adam Porter Newsgroups: gmane.emacs.devel Subject: Re: Reconsider defaults for use-package-vc-prefer-newest Date: Thu, 26 Sep 2024 19:17:59 -0500 Message-ID: <52cb7653-6eb3-487c-9713-edfa95894891@alphapapa.net> References: <3BC7EB33-504C-4532-A2DF-83712B64878E@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29269"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: emacs-devel@gnu.org To: kickingvegas@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Sep 27 02:18:50 2024 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 1styh8-0007UG-7J for ged-emacs-devel@m.gmane-mx.org; Fri, 27 Sep 2024 02:18:50 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1stygS-0007ad-Jw; Thu, 26 Sep 2024 20:18:08 -0400 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 1stygQ-0007aU-Qu for emacs-devel@gnu.org; Thu, 26 Sep 2024 20:18:06 -0400 Original-Received: from butterfly.birch.relay.mailchannels.net ([23.83.209.27]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1stygP-0003lW-2G for emacs-devel@gnu.org; Thu, 26 Sep 2024 20:18:06 -0400 X-Sender-Id: dreamhost|x-authsender|adam@alphapapa.net Original-Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 1A27D24AE5; Fri, 27 Sep 2024 00:18:01 +0000 (UTC) Original-Received: from pdx1-sub0-mail-a277.dreamhost.com (trex-0.trex.outbound.svc.cluster.local [100.99.145.32]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id BCE4C24B6C; Fri, 27 Sep 2024 00:18:00 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1727396280; a=rsa-sha256; cv=none; b=rtuxf/hPUCBHKiGTC23u2P/KKM0gPCwHSVkLpQAndUOPirrsLoqfsy7vstBSVkyavZtynQ 2Ct1roHrbw9+hfxMEyL2oi6+URRQS1ZN9R5pZEgBgoOG2oOW0uz++A13sqjw38NE66zZ5M dG31YQYuO3fEgHrw5IYG5AE8g/Ob2bML6s42sbdmQ7DoamyUPg4sD9fRjZcHqLDfyKHteH pyo7sUSwHHS70/BhWd6MSyxS+ILObEvLWlqLgct5GXaNH2AqgoVhz3BYgWkwFMAuDHXCbE +8W6W5j3V304ZHtWyOFU8gy3ZbZDxhaNcN0aOK6rPrK/lk+K3ei8MAQsOUUPLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1727396280; h=from:from:reply-to:subject:subject: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:dkim-signature; bh=O+sEBpqm+c06cTaAUot67p2pj9uSr1FE27BxgngeQUc=; b=GV6oMb5fyGQzYyRhjR/zg8Gj1M31jjxIDBNz8TAotPkYPC38fJaH15IRIzw4DAj9T8U0rt dcN+ZpzNScJWHo0VQlSxfLnMVGVW4KlemOR1e+Y/+pKy82rlo4LId9JsHg5MT1sMd//ijS Jg+m6huDfr5QO5r6/yq7TsOweaVaVa5lbDDuWKzxtyXm71GK1XKvOTnStdnn95CJMc/Ed1 QLVyTpM2TaFT5nhA9PtnIaBqkbtLSbwEusGdh/sVZwBAt2iTVYB3vUq0zu8l9ANbQ5VFle N3tqn1AkdgTo693ilmk3gU5bGL4JHIp/doBNh5HMssW/GlIrtX8QMPOwcCgDug== ARC-Authentication-Results: i=1; rspamd-85f445d9dc-g95f6; auth=pass smtp.auth=dreamhost smtp.mailfrom=adam@alphapapa.net X-Sender-Id: dreamhost|x-authsender|adam@alphapapa.net X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|adam@alphapapa.net X-MailChannels-Auth-Id: dreamhost X-Plucky-Cold: 014c295508aeb6a2_1727396280989_21628645 X-MC-Loop-Signature: 1727396280989:1940097143 X-MC-Ingress-Time: 1727396280989 Original-Received: from pdx1-sub0-mail-a277.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.99.145.32 (trex/7.0.2); Fri, 27 Sep 2024 00:18:00 +0000 Original-Received: from [10.66.178.13] (unknown [91.193.232.98]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: adam@alphapapa.net) by pdx1-sub0-mail-a277.dreamhost.com (Postfix) with ESMTPSA id 4XF9zD2HL0z6W; Thu, 26 Sep 2024 17:18:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alphapapa.net; s=dreamhost; t=1727396280; bh=O+sEBpqm+c06cTaAUot67p2pj9uSr1FE27BxgngeQUc=; h=Date:To:Cc:Subject:From:Content-Type:Content-Transfer-Encoding; b=IJCStRBvznzn6kcCXkG+/treMj7xUw1rCDpHU+e7wtBpR6oEiHXXhil41B4DvRnAV JptSHzRCxKI4vqpgocPj0IpfpGo2llEchkw8gWviyjwNhPWTdffqHvS/N57BOVn0EZ FDzlBkiedkCnHiDKhviNDJHsItYpv+PO1fbNUCZUIDFsDuEqquzD7I7vpHgdNCeif8 maRHMhLtBwi3FP3JQbRpz9IxFe3UBGp+iq6x14/B4Nw1xo10rUwzqc6QOT88lj0ucB C9qApKwKiUjz8ePHFzqhpCM5OMn+/KqhEaMt5bnOxuysX6u1MUxJ+g5qslp5mW5pc8 6Dg8ptuo5TyRA== Content-Language: en-US In-Reply-To: <3BC7EB33-504C-4532-A2DF-83712B64878E@gmail.com> Received-SPF: neutral client-ip=23.83.209.27; envelope-from=adam@alphapapa.net; helo=butterfly.birch.relay.mailchannels.net X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 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_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:324123 Archived-At: > As my package `casual-dired` has been mentioned in this thread, I'd > like to understand better what the recommended practice for package > versioning is. > > At current my development practice is to: > > - Create a feature branch from the `main` branch and bump the > `Version:` header. - Make commits to the feature branch. - Merge the > feature branch back to `main`. - Tag `main` with the `Version:` > header value. > > The above practice seems to violate whatever logic is being used to > determine if a package is versioned correctly as it raises a COMMIT > MISMATCH warning. My interpretation of this is that the `Version:` > header is being used to track the build of a package which seems to > me too strict. As long as the tag is in sync with the `Version:` > header, I think it should be fine as a package can have many files. > > Just my 2ยข. This is described in the ELPA documentation. See and search for occurrences of "version". The procedure I recommend, which you can see in the commit history of my ELPA packages is: 1. Configure the ELPA recipe to build from a "stable" release branch. Develop new versions on the master branch. 2. On master, make a new "Meta:" commit that updates the "Y" in the version header and adds a suffix, like "X.Y-pre" (e.g. "0.1-pre"). 3. Develop the next version (the "Y" version, in SemVer terms) on master. 4. When that version is ready to release, make a new "Release:" commit that updates the version header, removing the suffix, to "X.Y" (e.g. "0.1"). 5. Merge that commit into the "stable" branch, from which ELPA will build. 6. When ready to start developing the next version, goto 2. 7. To make a bug-fix release on a stable version, apply the same steps but on the stable branch (i.e. a "Meta:" commit setting the version header to "X.Y.Z-pre", then add commits fixing bugs, then a "Release:" commit setting the version header to "X.Y.Z"); then push the stable branch so ELPA will build it; and merge the stable branch into master to apply the bug fixes to master as appropriate. This workflow is simple and only requires a few moments to update the version headers when needed. It clearly separates commits that update source code from commits that update version information. It ensures that only one commit (on each branch) has a version header with a certain version number (so there is no confusion about which commit with version X.Y a user actually has). And it results in a simple commit graph. YMMV, IWFM, etc. --Adam