summaryrefslogtreecommitdiff
path: root/src/other_tools/git_operations/git_repo_remote.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/other_tools/git_operations/git_repo_remote.hpp')
-rw-r--r--src/other_tools/git_operations/git_repo_remote.hpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/other_tools/git_operations/git_repo_remote.hpp b/src/other_tools/git_operations/git_repo_remote.hpp
index 83099994..334f7fca 100644
--- a/src/other_tools/git_operations/git_repo_remote.hpp
+++ b/src/other_tools/git_operations/git_repo_remote.hpp
@@ -17,6 +17,10 @@
#include "src/buildtool/file_system/git_repo.hpp"
+extern "C" {
+struct git_config;
+}
+
/// \brief Extension to a Git repository, allowing remote Git operations.
class GitRepoRemote : public GitRepo {
public:
@@ -93,6 +97,10 @@ class GitRepoRemote : public GitRepo {
std::optional<std::string> const& branch,
anon_logger_ptr const& logger) noexcept -> bool;
+ /// \brief Get a snapshot of the repository configuration.
+ /// Returns nullptr on errors.
+ [[nodiscard]] auto GetConfigSnapshot() const -> std::shared_ptr<git_config>;
+
private:
/// \brief Open "fake" repository wrapper for existing CAS.
explicit GitRepoRemote(GitCASPtr git_cas) noexcept;