Why builds from master are not tagged as such in brew? #888
-
|
Hi! I have a small question. brew install emacs-plus@31 [options] # install Emacs 31 (master)Why not something like The reason why I'm asking is that I don't follow Emacs releases that closely, and I'm running Emacs built from master for several years already. Previously, I've built it myself on Linux, but since I got a Mac, I migrated to emacs-plus. What bothers me with this naming convention is that it can break my configuration unexpectedly - I often use new features from the master branch in my configuration. However, when Emacs developers cut a new stable release, not all features from the master branch go there. For One of the somewhat recent examples of that was when Emacs introduced So, why not something like Sorry if this question was already asked - I searched over the issue tracker and discussions but couldn't find it. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
|
Hey @andreyorst. Not sure I have something super intelligent to say, but let me try 😅 How versioning worksemacs-plus tracks Emacs versions because build requirements change between major releases - configure flags, dependencies, patches differ. This follows Homebrew conventions (
Note: When Emacs 31 releases, On stabilityVersion branches are cut from master at a point in time - you stop receiving new features, but nothing is taken away. The scenario you describe (config breaking because a feature disappears after a version cut) is (seems like) possible but rare - Emacs releases happen roughly once a year. Meanwhile, master breaks things regularly. Over 10 years of maintaining emacs-plus, I've seen far more breakage from tracking master than from version transitions. So ironically, the versioned approach might give you more stability, not less. That said, I understand wanting to not think about version numbers at all. Would
|
Beta Was this translation helpful? Give feedback.
Hey @andreyorst. Not sure I have something super intelligent to say, but let me try 😅
How versioning works
emacs-plus tracks Emacs versions because build requirements change between major releases - configure flags, dependencies, patches differ. This follows Homebrew conventions (
gcc@13,postgresql@16).emacs-plus- alias to current stable (currently @30)emacs-plus@30- Emacs 30 stableemacs-plus@31- Emacs 31 (currently master)Note:
--HEADbuilds from the version branch (e.g.emacs-30), not master. This matches how Emacs releases work.When Emacs 31 releases,
@31will track stable and@32will become the new master formula.On stability
Version branches are cut from master at a point…