What I don't like about it is its only usable on a Unix or Linux type system but many developers also work in Windows on PHP projects. There are also some unneeded / buggy code in it. I've been looking for something like this for a while and after see this decided I would just have to write something myself so as least that has been a positive thing for me having ran across this class.
Erdem Uncuoglu - 2014-11-29 06:38:14 - In reply to message 1 from Michael Cummings
You can use this class both on Linux and Win. It depends on how you configured your git installation on win (git does not support win natively).
What do you mean with 'unneeded/buggy'? If you're not satisfied with the output of class you should consider to change regexps inside of 'markDownGenerator' method. Keep in mind that this class generates output from commit messages. To make use of this class it is necessary to write well formatted commit messages which will be filtered by regexp(s).
Michael Cummings - 2014-11-29 19:40:42 - In reply to message 2 from Erdem Uncuoglu
In getTags() you use 'git tag | sort -u' and sort doesn't exist in Windows so it can't work there is one thing I noticed.
'/#([0-9])/m' that only works if your issue # is a single digit it should be '/#([0-9]+)/m'
Also by using "\n" only instead of "\r\n" in the output all the lines become one in most Windows text editors/viewers. That isn't totally bad really but I tend to use PHP_EOL constant instead so it tracks the developer's platform instead. I actually have been thinking about making that another configurable thing as well that just defaults to PHP_EOL so it lets the user decide if they need it to be easily readable in Windows.
In fopen() you should always use 'wb+' for cross platform compatibility otherwise you run some risks of PHP etc changing your line ends in strange ways depending on the platform which is talked about on the PHP fopen() page.
There were some other things I noticed but can't think of them right now. If you are interested you can look at the class I wrote where I basically took the same idea you had and expanded on it and made something that is more configurable/flexible IMHO anyway ;) http://www.phpclasses.org/package/8883-PHP-Read-git-repository-logs-and-create-change-logs.html
Michael Cummings - 2014-11-29 19:50:32 - In reply to message 2 from Erdem Uncuoglu
Sorry for another post but just re-read your reply and noticed you said git does not support Windows natively which is false I use it all the time on the Windows. On http://git-scm.com/downloads it list Linux, Windows, Mac, and Solaris so it's something that is support directly.