From: Adam Porter <adam@alphapapa.net>
To: kickingvegas@gmail.com
Cc: emacs-devel@gnu.org
Subject: Re: Reconsider defaults for use-package-vc-prefer-newest
Date: Thu, 26 Sep 2024 19:17:59 -0500 [thread overview]
Message-ID: <52cb7653-6eb3-487c-9713-edfa95894891@alphapapa.net> (raw)
In-Reply-To: <3BC7EB33-504C-4532-A2DF-83712B64878E@gmail.com>
> 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
<https://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/README> 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
next prev parent reply other threads:[~2024-09-27 0:17 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-14 12:09 Reconsider defaults for use-package-vc-prefer-newest Martin Edström
2024-09-19 11:49 ` Philip Kaludercic
2024-09-19 18:50 ` Suhail Singh
2024-09-19 20:11 ` Philip Kaludercic
2024-09-19 20:31 ` Philip Kaludercic
2024-09-20 6:15 ` Eli Zaretskii
2024-09-20 15:14 ` Philip Kaludercic
2024-09-20 15:45 ` Eli Zaretskii
2024-09-20 16:56 ` Philip Kaludercic
2024-09-20 17:37 ` Eli Zaretskii
2024-09-20 20:43 ` Philip Kaludercic
2024-09-21 7:14 ` Eli Zaretskii
2024-09-21 14:31 ` Philip Kaludercic
2024-09-21 15:18 ` Eli Zaretskii
2024-09-21 15:43 ` Philip Kaludercic
2024-09-19 21:02 ` Suhail Singh
2024-09-20 20:34 ` Philip Kaludercic
2024-09-20 23:38 ` Suhail Singh
2024-09-21 7:06 ` chad
2024-09-21 14:27 ` Suhail Singh
2024-09-21 15:59 ` Philip Kaludercic
2024-09-21 19:04 ` Suhail Singh
2024-09-22 15:30 ` Philip Kaludercic
2024-09-22 20:08 ` Suhail Singh
2024-09-25 12:06 ` Suhail Singh
2024-09-25 13:15 ` Philip Kaludercic
2024-09-25 12:07 ` Philip Kaludercic
2024-09-25 15:15 ` Suhail Singh
2024-09-25 20:11 ` Philip Kaludercic
2024-09-25 20:48 ` Suhail Singh
2024-09-29 2:13 ` Richard Stallman
2024-09-29 7:25 ` Philip Kaludercic
2024-09-29 13:55 ` Suhail Singh
2024-09-26 23:23 ` Charles Choi
2024-09-27 0:17 ` Adam Porter [this message]
2024-09-27 0:33 ` Suhail Singh
2024-09-27 6:46 ` Eli Zaretskii
2024-09-29 14:22 ` Stefan Kangas
2024-09-29 14:35 ` Eli Zaretskii
2024-10-11 18:54 ` Suhail Singh
2024-10-12 5:46 ` Eli Zaretskii
2024-09-20 4:57 ` Tony Zorman
2024-09-20 19:37 ` Martin Edström
2024-09-20 21:05 ` Philip Kaludercic
2024-09-21 14:44 ` Philip Kaludercic
2024-09-21 14:58 ` Tony Zorman
2024-09-21 15:10 ` Suhail Singh
2024-09-21 16:09 ` Philip Kaludercic
-- strict thread matches above, loose matches on Subject: below --
2024-09-15 17:38 Martin Edström
2024-09-15 18:24 ` Eli Zaretskii
2024-09-15 19:46 ` Martin Edstrom
2024-09-16 11:34 ` Eli Zaretskii
2024-09-16 15:24 ` Martin Edström
2024-09-16 16:15 ` Martin Edström
2024-09-16 17:57 ` Eli Zaretskii
2024-09-18 14:30 ` Martin Edström
2024-09-15 19:52 Martin Edström
2024-09-15 20:41 ` chad
2024-09-15 21:09 ` Martin Edstrom
2024-09-15 22:12 ` chad
2024-09-15 23:51 ` Martin Edstrom
2024-09-16 11:50 ` Eli Zaretskii
2024-09-16 16:46 ` Martin Edström
2024-09-16 18:10 ` Eli Zaretskii
2024-09-16 20:16 ` Suhail Singh
2024-09-17 11:44 ` Eli Zaretskii
2024-09-19 3:38 ` Suhail Singh
2024-09-19 6:28 ` Eli Zaretskii
2024-09-19 12:08 ` Suhail Singh
2024-09-19 12:39 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52cb7653-6eb3-487c-9713-edfa95894891@alphapapa.net \
--to=adam@alphapapa.net \
--cc=emacs-devel@gnu.org \
--cc=kickingvegas@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.