GitPHP 0.2.0
Well, it's my birthday, which I figure is a good enough reason to finally release the GitPHP rewrite.
I'm releasing it as 0.2.0 - I figured that the architectural rewrite is significant enough to warrant some kind of larger version bump, but since it doesn't look and behave all that differently to end users, a major version bump isn't necessary.
Here's what I came up with for the changelog, although as a total rewrite from scratch, there could very well be other "features" and changes that made it in that I'm not thinking of, just by virtue of the entire codebase changing:- Major architectural rewrite - end users aren't heavily affected, but developers will appreciate it. On the other hand, PHP 4 is no longer supported
- Much more simplified config that works on an override strategy - so your config file can be much cleaner
- Can fetch snapshots of a subtree (subdirectory), rather than the entire tree - thanks to Tejas Dinkar
- When listing out projects in the projectroot (instead of explicitly listing them in the config), can optionally respect the git-daemon-export-ok magic file used by git-daemon to include/exclude projects - thanks to Calen Pennington
- When listing out projects in the projectroot (instead of explicitly listing them in the config), projects in subdirectories will be automatically "categorized" by their directories - thanks to Calen Pennington
- AJAX javascript tooltips to display the full commit message when hoving over a commit link, and the full tag message for a tag object
- Use AJAX javascript to load blame info right into the blob page, instead of posting to a separate page
- Internationalization support, although we don't have any translations yet
- Blame page now supports syntax highlighting
- New way of specifying categories for projects - in preparation for more metadata to be added to projects
- The little colored ref badges now have different colors to distinguish between heads and tags
- File sizes by blobs in the tree view
- File searching shows the matching line number
In theory this will work as a drop-in replacement for previous versions - no changes necessary. However, because of the newer and cleaner config system, it might be worth it to run through your configuration again using the example and copying from the defaults file, just to clean up the amount of stuff you have to look at in your config file. Also, if you were using the method of defining projects as an array to specify categories, you might want to have a look at the new way of specifying the categories in projects.conf.php if you have a chance. You don't gain anything from changing to the new format now so you don't have to, but eventually new features will be added to the new format, which you won't be able to benefit from if you aren't using it.
As I mentioned in the previous post, internationalization is now open again, so if you're interested in doing a translation, contact me.
Comments