aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libstore/path-regex.hh2
-rw-r--r--src/libstore/path.cc2
-rw-r--r--tests/unit/libstore-support/tests/path.cc9
-rw-r--r--tests/unit/libstore/path.cc1
4 files changed, 3 insertions, 11 deletions
diff --git a/src/libstore/path-regex.hh b/src/libstore/path-regex.hh
index a44e6a2eb..4f8dc4c1f 100644
--- a/src/libstore/path-regex.hh
+++ b/src/libstore/path-regex.hh
@@ -3,6 +3,6 @@
namespace nix {
-static constexpr std::string_view nameRegexStr = R"([0-9a-zA-Z\+\-_\?=][0-9a-zA-Z\+\-\._\?=]*)";
+static constexpr std::string_view nameRegexStr = R"([0-9a-zA-Z\+\-\._\?=]+)";
}
diff --git a/src/libstore/path.cc b/src/libstore/path.cc
index 2f929b7b3..0c86d223c 100644
--- a/src/libstore/path.cc
+++ b/src/libstore/path.cc
@@ -11,8 +11,6 @@ static void checkName(std::string_view path, std::string_view name)
if (name.size() > StorePath::MaxPathLen)
throw BadStorePath("store path '%s' has a name longer than %d characters",
path, StorePath::MaxPathLen);
- if (name[0] == '.')
- throw BadStorePath("store path '%s' starts with illegal character '.'", path);
// See nameRegexStr for the definition
for (auto c : name)
if (!((c >= '0' && c <= '9')
diff --git a/tests/unit/libstore-support/tests/path.cc b/tests/unit/libstore-support/tests/path.cc
index ffc4fc607..bf45ffd91 100644
--- a/tests/unit/libstore-support/tests/path.cc
+++ b/tests/unit/libstore-support/tests/path.cc
@@ -47,13 +47,8 @@ Gen<StorePathName> Arbitrary<StorePathName>::arbitrary()
pre += '-';
break;
case 64:
- // names aren't permitted to start with a period,
- // so just fall through to the next case here
- if (c != 0) {
- pre += '.';
- break;
- }
- [[fallthrough]];
+ pre += '.';
+ break;
case 65:
pre += '_';
break;
diff --git a/tests/unit/libstore/path.cc b/tests/unit/libstore/path.cc
index 30631b5fd..5485ab8bb 100644
--- a/tests/unit/libstore/path.cc
+++ b/tests/unit/libstore/path.cc
@@ -39,7 +39,6 @@ TEST_DONT_PARSE(double_star, "**")
TEST_DONT_PARSE(star_first, "*,foo")
TEST_DONT_PARSE(star_second, "foo,*")
TEST_DONT_PARSE(bang, "foo!o")
-TEST_DONT_PARSE(dotfile, ".gitignore")
#undef TEST_DONT_PARSE