Generate Your Changelog From GitHub Issues
github.com
github.com
This is a serious question for HN: Is it considered rude to make pull requests to fix grammar? The English is great, but is made more apparent in some locations (such as headers in the README) that it is a second language, but the first thing I thought to myself was "that'd be rude".
When merging a patch means getting it out of the email and applying it to your branch, confirming it's valid / what changed, running your tests, then merging and pushing up the new version, it's quick to see why single-character or grammar/spelling fixes can be a burden.
With GitHub, I can see the PR, the diff, whether it'll merge cleanly, and whether my TravisCI tests pass right from the PR's page, and all I need to do is hit the Merge button. It makes me much more likely to review/merge PRs.
The `git changelog` command from the git-extras package is also quite useful. It just takes the git log messages from the git history until the last tag and updates the `{History,Changelog}.md`. https://github.com/tj/git-extras/blob/master/bin/git-changel...
He does answer the FAQ "I already use GitHub Releases. Why do I need this?" but his answer doesn't really address the point that this comes down to missing functionality in such tooling and should be fixed there, rather than in a static file generator.
Personally, I wouldn't want to go to Github every time I download a new version of a library. Text files are fine.
A CHANGELOG.md is part of your repo/project. You can change where you host your git repos (eg: gitlab), and carry that over.
Disclaimer: I don't use changelogs either. I can't be bothered with them. Users technical enough to want to know what's been changed in such fine grained detail can use `git log --oneline`.
As an user I'm not interested in source details, minor cosmetic fixes and internals. I want to know what's new compared to the last release, what are the user facing changes, and any upgrade issues I might be facing. These are usually expressed just in a few paragraphs in a very discursive fashion. I personally hate straight-form-source changelogs. I do not read them as an user (too verbose), I don't use them as a developer (I use the scm directly!).
There's a tendency for developers using git to conflate the two, since history can be rewritten. I think it's a major mistake. Commit logs are meant to aid developers. Commit logs will inevitably contain redundant information about the same logical change, even when you try hard to hide it. This is all useless information for users. On the contrary, dumbing down the history just for the sake of readability will also hurt the developers in the long run.
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=bu...
It's very hard to maintain it in a good maner. The Issues fits for this purpose much better. (JMHO)
--exclude-labels x,y,zDo you prefer `changelog.md` or the releases tool built into github (IE: https://github.com/evantahler/actionhero/releases).
That said, I feel that changelogs are way better, being more flexible and more in control of the user. I do feel that a lot of people can't keep one that well though. We don't need fine-grained details of every internal code refactor on a major-release changelog, since it's only relevant to devs (and they'll usually see the commit logs anyway).
- Thats why you shouldn't dump commit messages to logs!
> since it's only relevant to devs
Since you are hosting your project on GitHub - you are expecting, that it not only for end-users, and for Developers also, huh? So, why not to maintain neat change log for them? (And use GitHub Releases for end-users change log, without "fine-grained details of every internal code refactor")
git log v0.3...v0.4 --oneline | grep -oh -B 1 "CODENAME-[0-9][0-9][0-9]" | sort | uniq