minetest/minetest — pull request #936 by kahrl (2013-09-25 03:06:49+00:00)
Title: Various version and license related enhancements

First commit: Show git hash in version string at top left corner of window
This is done by running "git describe --always --tag --dirty" whenever make is executed.
This produces a string of one of the following forms:
"0.4.8" when HEAD is tagged 0.4.8
"0.4.7-MSVC-303-g47c7688" when HEAD is 303 commits beyond 0.4.7-MSVC and its hash is 47c7688...
"0.4.7-MSVC-303-g47c7688-dirty" same, but there have been some uncommitted modifications
This string is then written to cmake_config_githash.h, which is included from version.cpp which provides this string as minetest_version_hash (and minetest_version_simple, see below, and minetest_build_info).

In order to avoid excessive rebuilding, the git hash string is not provided directly through a header. That way only version.cpp needs to be recompiled when the git hash changes.

Note that instead of minetest_version_hash, the server reports minetest_version_simple, which is something like "0.4.8" (stable), "0.4.8-dev" (dev version), "0.4.8-next" (VERSION_EXTRA set to "next")
This requires commenting out a single line in CMakeLists.txt when releasing, to get rid of the -dev suffix.

If git is not installed or fails (e.g. the project directory is not a repository), or VERSION_EXTRA is set, minetest_version_hash equals minetest_version_simple.

Second commit: The doc directory contained gpl-2.0.txt, which has been useless for a long time now. Replace it with lgpl-2.1.txt.

Third commit: Add a --version option to minetest and minetestserver.