iv-mexx / git-releaselog Goto Github PK
View Code? Open in Web Editor NEWGenerate a changelog from a git repository
License: MIT License
Generate a changelog from a git repository
License: MIT License
When generating the Changelog with a to_ref
which does not exist as tag, we could assume that that is the name for the next release and thus print the name instead of "Unreleased"
E.g. See https://github.com/iv-mexx/git-releaselog/blob/master/CHANGELOG.md
This Changelog was generated for the release "0.7.0", but before the tag was created (--> The updated changelog should be part of the tag, so the tag needs to be created later than the changelog).
Since git-changelog is already taken on rubygems, it would probably be good to change the project's name rather sooner than later.
Some suggestions to get us started (all of them are available on rubygems), but please feel free to pick whatever you like: gitch
, git-releaselog
, git-whatsnew
Currently, the Version Header (Current-Tag + Date) is always generated. When using the Changelog in a Github Release Message, the information is redundant, because the version is already a separate attribute of the release.
So, it would be nice to be able to skip the Version Header
The stripping of from_ref_name
and to_ref_name
from 6b24431 causes errors in case one of them is nil
.
For example with the execution of git-releaselog 0.10.0
(without a to_ref, the expectation being that a releaselog is generated from 0.10.0 up to the current commit):
git-releaselog-0.7.1/lib/git-releaselog.rb:12:in `generate_releaselog': undefined method `strip' for nil:NilClass (NoMethodError)
In Rails you could think about handling such cases with NilClass.try?
, but Iโm not perfectly sure this is how it should be handled here.
When calling git-changelog for my project like this: git-changelog 0.9.0 0.8.0 --format slack
it contains a line like the following: Version 0.9.0 (_03.09.2015_)
But 03.09.2015
is in fact the date of the tag 0.8.0
. Instead, I would have expected it to pick up the date from the tag 0.9.0
, which would be 17.09.2015
.
I think the cause may be this line and this line (this should probably be DRYed up by abstracting the information retrieval to a new class for example), which should be str << " (_#{@commit_from.time.strftime("%d.%m.%Y")}_)"
(from
instead of to
) instead.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.