I'm working on a git project that uses lots of branches. For the most part, this has been a really great workflow. I'm happy merging between branches, love being able to cherry-pick code, and the overall lifecycle that comes with git and other dvcs's.
I've got one pain point that is really hurting. How to maintain a changelog.txt.
I've found it hurts whenever I do a merge (the changelog.txt often conflicts), and when cherry-picking commits I've accidentally managed to pickup changes that really weren't desired.
I'd love to see a good answer to this problem.
You could annotate your checkin comments and parse these comments once you're ready to ship a new version of your software (I guess that's the most common use case for providing a changelog).
The comments could be built the following way (obviously only those belonging to commits that do modify something noteworthy):
WHAT WHERE DESCRIPTION
Where WHAT
could be
FIX
for bug fixesCHG
for changesNEW
for new codeWHERE
should be one word describing the module where WHAT
was done. Following these two informations, you provide your DESCRIPTION
describing the modification in deep.
Once you're ready to ship, get the logs since the last version and parse them. The logs can be obtained using git log tagname_of_last_version..
. See the man page of git log
for output and filtering options.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With