nixos/version: Try to get Git revison from .git

Let's first try if we can determine the Git revision from the .git
directory and if that fails, fall back to get the info from the
".git-revision" file... and after that use something generic like
"master".

This should address #17218 in better way, because we don't need to
create another redundant file in the source checkout of nixpkgs.

I'm not going to route of falling back to using .git, because after
55d881e, we already have ".git-revision" files in people's Git
repositories, which in turn means that nixos-version will report that
old file every time even if the working tree has updated.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @bennofs, Profpatsch
Reported-by: @devhell
Fixes: #17218
This commit is contained in:
aszlig 2016-08-09 14:15:53 +02:00
parent 55d881eea3
commit 0b9d9eded1
No known key found for this signature in database
GPG key ID: 1DE8E48E57DB5436

View file

@ -63,7 +63,9 @@ in
nixosRevision = mkOption {
internal = true;
type = types.str;
default = if pathExists revisionFile then fileContents revisionFile else "master";
default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo
else if pathExists revisionFile then fileContents revisionFile
else "master";
description = "The Git revision from which this NixOS configuration was built.";
};