Nathan has published an interesting video showing 8 years of QGIS development.
The video was created using Gource, detailed explanations of the process can be found on Nathan’s blog. Each cluster of files represents a directory, and branches show the directory hierarchy of the source code.
With this post I’ll try to summarise the past year.
Last year I changed jobs twice. I left the area where I had been working for more than 6 years - the land registry. Then I worked for some time in a software company developing a trading platform for the Forex market. I had to learn the Ada language as the trading server was developed in this language. Despite the new field and new tools, I did quite well, although there were some difficulties. But I wanted something else…
Private life, this area is best described by the title of E. M. Remarque’s famous novel “All Quiet on the Western Front”. There is nothing to add.
There were lot of changes in the GIS world. The OSM (OpenStreetMap) project has gained worldwide recognition. In addition, Microsoft has given the project access to raster data from its Bing Maps service. Unfortunately, I am not yet involved in the OSM community, but I am very pleased with the development of the project.
ESRI has opened the Geodatabase API, Shapefile is still alive. GIS are pawing their way into the mobile device market.
QGIS is evolving: improved new symbology, raster calculator, QGIS MapServer, many new useful plugins. I have developed and released a few new plugins and continue to improve existing ones. QGIS User Guide was translated into Russian.
This year I was unable to attend the QGIS developer meetings in Pisa and Wrocław. It’s a shame and a pity.
Party of Regions won majorities on most regional and city councils as well as most of the mayoralties.
It’s been 10 years since school and 5 years since university.
On the desktop, I switched from Slackware to Debian testing. There is a dual-boot to Windows XP, as I need it sometimes, e.g. to build QGIS and/or test some bugs (the power of the computer does not allow comfortable use of virtual machines).
Basically, this is the year I gave up dancing. Most likely, for good.
A few days ago I wrote about the kCube Consulting initiative. The ideas have been collected, and the voting has started. Unfortunately, you can only vote for one option.
So far “Fixing bugs” is leading with 23.8%, followed by “Improving import/export on dwg/dxf” with 8.8% and “QGIS Mobile (e.g. on Android)” with 7.5%.
Tim Sutton gave a good overview of some new features in QGIS: a graphical rule editor (which helps to create rendering rules) and complex styles for vector objects (fill, outline and centre marker).
Yesterday, Martin Dobias added icon support to the QGIS Plugin Manager. Among other things, this will make the display of available plugins more user-friendly and make it easier to navigate through the large list. However, to take advantage of this feature, plugin authors will need to make small changes to their code (add two lines). In the future, after the launch of the new plugin repository, it is planned to add icon support to the Plugin Installer.
Another interesting news — kCube Consulting has decided to help the QGIS project by assigning one of their programmers to work on QGIS for 6 months. You can read more about this on Tim’s blog, and visit the wiki to check out the list of possible tasks and leave your own suggestions.
/me put on “Sax & Sex” and began to add icon support to his plugins and those he could reach.
After reading manuals and smart books, I decided to migrate some of my local SVN repositories to Git. It would seem to be a simple process, but no… there were some problems.
I’m running DeepStyle 3.1 (which is basically Slackware 12.2). Git 1.6.1.3 was installed with the system.
So I created a directory for the project, ran git-svn and got a “command not found” error. The first problem turned out to be quite simple, you have to use git svn (at least on Slackware), i.e. without the hyphen. Strange, almost all articles refer to git-svn…
OK, I tried to run the correct command and got a scary error message
Can't locate Error.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/5.8.8/i486-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/vendor_perl/5.8.8/Git.pm line 93.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.8/Git.pm line 93.
Compilation failed in require at /usr/bin/git-svn line 45.
BEGIN failed--compilation aborted at /usr/bin/git-svn line 45.
This one took a bit longer. It turned out that I needed to install additional Perl modules and the corresponding bindings for SVN. To install the modules, use the following command (internet access required):
sudo cpan Alien::SVN Error Term::ReadKey
Wait for the installation to finish. Now download subversion-bindings SlackBuild. Extract the archive, change the SVN version in the script to the one you are using and run it. Wait for it to compile and then install the package that was created. Everything should be working now.
The actual repository migration is quite simple (at least in my case). First, we need to match the usernames in SVN and Git, so we create a text file with the following content (of course, the names should be real):
jdoe = Jon Doe
tomm = Tom Morton
Then create a temporary directory for the project, initialise the Git repository, and import the sources from SVN:
The --no-metadata switch in the third command is needed to ignore SVN-specific information. The fourth command creates a mapping between Subversion and Git usernames using a previously created file. The last command performs the import of the source code. The import process will take some time (depending on the size of the repository and the number of commits). Once it has finished, you can clone the temporary repository to get rid of any garbage left behind by SVN.