From d7da6c9ea9459a2fa17c3e409120c5cdfde6afdc Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 21 Nov 2017 19:12:47 +0100 Subject: fetchGit/fetchMercurial: Fix directory inclusion check E.g. the existence of .gitignore would cause .git to be included. --- src/libexpr/primops/fetchGit.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/libexpr/primops/fetchGit.cc') diff --git a/src/libexpr/primops/fetchGit.cc b/src/libexpr/primops/fetchGit.cc index bca68ed72091..fd3e84c292c3 100644 --- a/src/libexpr/primops/fetchGit.cc +++ b/src/libexpr/primops/fetchGit.cc @@ -56,8 +56,9 @@ GitInfo exportGit(ref store, const std::string & uri, auto st = lstat(p); if (S_ISDIR(st.st_mode)) { - auto i = files.lower_bound(file); - return i != files.end() && hasPrefix(*i, file); + auto prefix = file + "/"; + auto i = files.lower_bound(prefix); + return i != files.end() && hasPrefix(*i, prefix); } return files.count(file); -- cgit 1.4.1