nix
nix copied to clipboard
Consider a different way to manage the CHANGELOG
The CHANGELOG file is by far our biggest source of merge conflicts. It would be great if we could fix that. One approach would be that taken by https://github.com/saltstack/salt . They use a changelog directory, and each PR adds a file to that directory whose name indicates whether it is a change, addition, removal, or fix. Then when preparing a release, all the files get combined into the CHANGELOG. That eliminates merge conflicts.
merge=union ought to solve this (it's why a local rebase resolves the issue automatically), but GitHub doesn't seem to support it.
I found https://github.com/isaacs/github/issues/487 on this topic, but it appears there is a better way to submit feedback requests now. I've created https://github.com/github/feedback/discussions/9288 as an official request to support merge=union in .gitattributes files when conflicts arise in PRs.
Using merge=union solves the problem whenever git would complain about a merge conflict. But there's another problem too, when git doesn't complain about a merge conflict. That happens when somebody opens a PR against one release of Nix, then we publish a new release, and they rebase their PR putting the CHANGELOG entry into the section for the just-published release. merge=union doesn't help with that.