diff options
author | aszlig <aszlig@redmoonstudios.org> | 2016-08-09 14:15:53 +0200 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2016-08-09 14:18:20 +0200 |
commit | 0b9d9eded15e13079b1f0fef059ecb25bfb308c4 (patch) | |
tree | ab39162a67e03e01450e554b5865bf3434e0af2e | |
parent | 55d881eea334049dbb6ac10623bb895363857fca (diff) |
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
-rw-r--r-- | nixos/modules/misc/version.nix | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 6af310a9d8770..2ecdbdbf39251 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -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."; }; |