now git replaces svn completely and Nifty 1.3.1 is scheduled
// September 15th, 2011 // design
The idea to keep svn around for a bugfix release 1.3.1 while keeping the main development for Nifty 1.4 in git sounded reasonable at first. But since we’ve got so quickly used to git going back to svn each time really felt odd And although its possible to use git and svn together it kinda made no sense to keep svn around at all. So now everything is git which makes things more clear. Good bye svn!
So there is now a 1.3.1 branch in git. But wait! Doesn’t Nifty consist of lots of individual jars (nifty, controls, style, renderers, sound-system implementations and so on)? So we need a branch for each individual jar, don’t we?
Yes, but fortunately we can combine all of the individual maven projects into a multi-module maven project. This way we can now build the nifty-core project together with all of the dependent jars. This gives us the additional benefit to use the parent pom to define versions for plugins we use as well as common dependencies in one place instead of all the individual poms.
To combine the different repositories into one we’ve used yet another feature of git. It’s possible to treat another git repository as a remote repo when both exist on the same filesystem. And this his how it works:
git remote add <name-we-want-to-give-this> /path/to/other/repo/.git
git fetch <name-we-want-to-give-this>
And that’s all! We can now merge with this remote one exactly the same as with any regular branch!
So with all of the projects merged into one repository and with all of the maven multi-module setup in place everything looks pretty again. Instead of the individual projects/repos we only need to branch a single git repository/maven project. Here is the Nifty 1.3.1 Branch in the Git Repository.
The current development is concentrating on Nifty 1.3.1. This version will contain bugfixes and improvements based on the Nifty 1.3 release. 1.3.1 will be compatible with 1.3 and will especially improve Niftys performance. For instance with some of the latest commits Nifty will now generate much less new objects each frame which will reduces the amout of GC runs necessary by quite a bit already
There are some other performance improvements scheduled as well especially to improve the rendering speed of text elements.