diff options
Diffstat (limited to 'pkgs/build-support/nix-gitignore')
-rw-r--r-- | pkgs/build-support/nix-gitignore/default.nix | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/pkgs/build-support/nix-gitignore/default.nix b/pkgs/build-support/nix-gitignore/default.nix index 28ee6bad554..497dcb0660b 100644 --- a/pkgs/build-support/nix-gitignore/default.nix +++ b/pkgs/build-support/nix-gitignore/default.nix @@ -41,6 +41,9 @@ in rec { let split = match "^(!?)(.*)" l; in [(elemAt split 1) (head split == "!")]; + # regex -> regex + handleHashesBangs = replaceStrings ["\\#" "\\!"] ["#" "!"]; + # ignore -> regex substWildcards = let @@ -86,7 +89,7 @@ in rec { mapPat = f: l: [(f (head l)) (last l)]; in map (l: # `l' for "line" - mapPat (l: handleSlashSuffix (handleSlashPrefix (mapAroundCharclass substWildcards l))) + mapPat (l: handleSlashSuffix (handleSlashPrefix (handleHashesBangs (mapAroundCharclass substWildcards l)))) (computeNegation l)) (filter (l: !isList l && !isComment l) (split "\n" gitignore)); @@ -148,10 +151,10 @@ in rec { ''); withGitignoreFile = patterns: root: - lib.toList patterns ++ [(root + "/.gitignore")]; + lib.toList patterns ++ [ ".git" ] ++ [(root + "/.gitignore")]; withRecursiveGitignoreFile = patterns: root: - lib.toList patterns ++ [(compileRecursiveGitignore root)]; + lib.toList patterns ++ [ ".git" ] ++ [(compileRecursiveGitignore root)]; # filterSource derivatives |