diff options
author | obadz <obadz-git@obadz.com> | 2016-06-02 16:03:35 +0100 |
---|---|---|
committer | obadz <obadz-git@obadz.com> | 2016-06-03 13:38:41 +0100 |
commit | 4c5fdf42ed3612db4532bc2259dd3f7c6847e077 (patch) | |
tree | fb49f82dd2791b1d7cb45c3f43ab0d9a23c1bbc3 /lib | |
parent | 30c94e10c3ab41d48db5fc45d6bc95491610d2d9 (diff) | |
download | nixlib-4c5fdf42ed3612db4532bc2259dd3f7c6847e077.tar nixlib-4c5fdf42ed3612db4532bc2259dd3f7c6847e077.tar.gz nixlib-4c5fdf42ed3612db4532bc2259dd3f7c6847e077.tar.bz2 nixlib-4c5fdf42ed3612db4532bc2259dd3f7c6847e077.tar.lz nixlib-4c5fdf42ed3612db4532bc2259dd3f7c6847e077.tar.xz nixlib-4c5fdf42ed3612db4532bc2259dd3f7c6847e077.tar.zst nixlib-4c5fdf42ed3612db4532bc2259dd3f7c6847e077.zip |
nixos/modules/misc/version.nix: check that .git is a directory
That's not the case for git submodules Fixes #15928
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sources.nix | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/sources.nix b/lib/sources.nix index 6b19b192dfd6..8e58e4b6a9dd 100644 --- a/lib/sources.nix +++ b/lib/sources.nix @@ -4,6 +4,11 @@ let lib = import ./default.nix; in rec { + # Returns the type of a path: regular (for file), symlink, or directory + pathType = p: with builtins; getAttr (baseNameOf p) (readDir (dirOf p)); + + # Returns true if the path exists and is a directory, false otherwise + pathIsDirectory = p: if builtins.pathExists p then (pathType p) == "directory" else false; # Bring in a path as a source, filtering out all Subversion and CVS # directories, as well as backup files (*~). @@ -29,6 +34,7 @@ rec { in type == "directory" || lib.any (ext: lib.hasSuffix ext base) exts; in builtins.filterSource filter path; + # Get the commit id of a git repo # Example: commitIdFromGitRepo <nixpkgs/.git> commitIdFromGitRepo = |