From f4bb8f499ffb8c22512f3e5e703d7dc26215dd39 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Fri, 19 Sep 2025 12:08:50 +0100 Subject: Add . and .. to listdir result set Uses default directory attributes. --- src/repo.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/repo.cpp') diff --git a/src/repo.cpp b/src/repo.cpp index db21e61..5a889ea 100644 --- a/src/repo.cpp +++ b/src/repo.cpp @@ -122,9 +122,7 @@ GitFS::Repo::getattr(ReqEnv, const ::std::string path, const ::Ice::Current &) update(); if (path == "/") { - NetFS::Attr attr = getattr(nullptr, nullptr); - attr.mode = S_IFDIR | S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; - return attr; + return getdirattr(); } return getattr(Git::treeEntryByPath(tree, path).get()); } @@ -154,6 +152,14 @@ GitFS::Repo::getattr(const git_tree_entry * entry, const git_blob * blob) const return attr; } +NetFS::Attr +GitFS::Repo::getdirattr() const +{ + NetFS::Attr attr = getattr(nullptr, nullptr); + attr.mode = S_IFDIR | S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; + return attr; +} + ::std::string GitFS::Repo::readlink(ReqEnv, const ::std::string path, const ::Ice::Current &) { -- cgit v1.2.3