What I do with git is to have a "$$__GITVERSION" keyword in the comments and when making a release (using a script), this version string is then replaced by a generated version number So, in the make-release script I have a procedure to generate a version string (which also stores it into a version file) store_version() { git update-index -q --refresh version="$(git describe HEAD 2>/dev/null)" if [ -z ${version} ] then version="$(git rev-parse --short HEAD)" fi if [ -n "$(git diff-index --name-only HEAD --)" ] then version=${version}"-dirty" fi echo ${version} > ${release_dir}/${release}/version } And later on in the script, I have a line to search trough all files in that particular release dir and replace the $$_GITVERSION keyword with the generated version string: find ./${release}/ -type f -print0 | xargs -r -0 sed -i "s/\$\$__GITVERSION/${version}/" regards, -- Freek D'Hooge Exitas NV Senior Oracle DBA email: freek.dhooge@xxxxxxxxx tel +32(03) 443 12 38 http://www.exitas.be On wo, 2014-02-26 at 14:30 +0000, Nigel Thomas wrote: > Git (with suitable configuration) supports the ident attribute, which > results in $Id...$ being replaced not with a version or revision > number like CVS or SVN, but with a SHA1 hash of the file (which > you can then match back to specific file versions). The hash is a > little less developer friendly than a revision or version number but > it does aid verification. The issue for database objects is that some > **** developer may have edited your code in place; so whether you use > a CVS version, SVN revision or Git hash, you can only truly verify the > code is valid by comparing it with the authorised version. > > > > I guess it might at least be feasible to build a package that reads > from USER_SOURCE (I am thinking mainly about stored routines) and > calculates the SHA-1 hash; it can compare it with the presented hash > to ensure the routine hasn't been interfered with. That's something > you couldn't do so easily with version numbers, especially if the > version control repository isn't accessible from the database server. > > > See > http://stackoverflow.com/questions/1792838/how-do-i-enable-ident-string-for-git-repos > > > Regards Nigel > > > > On 26 February 2014 14:11, William Robertson > <william@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > I recently learned that Git does not have this feature, and > that the whole idea is regarded as somewhat passé by 3GL > developers who can only conceive of compiling executables from > a directory structure. I can't find it now but one discussion > on Stackexchange linked to some comments from Thorvalds about > how trivial it was to find the version of something without it > <remainder snipped...> >