aboutsummaryrefslogtreecommitdiff
path: root/libbutl/git.mxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2018-08-06 21:24:27 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2018-08-07 15:10:44 +0300
commit7c665d965c0ebb259849d5032faa0854c6ae94f2 (patch)
treef646f43295e0d4f07e9d64ef8ddd9d42083dcced /libbutl/git.mxx
parent8c1b8e19c68a4093c62e64d1716f484b87acac9d (diff)
Add git utility functions
Diffstat (limited to 'libbutl/git.mxx')
-rw-r--r--libbutl/git.mxx46
1 files changed, 46 insertions, 0 deletions
diff --git a/libbutl/git.mxx b/libbutl/git.mxx
new file mode 100644
index 0000000..b2023a6
--- /dev/null
+++ b/libbutl/git.mxx
@@ -0,0 +1,46 @@
+// file : libbutl/git.mxx -*- C++ -*-
+// copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+#ifndef __cpp_modules
+#pragma once
+#endif
+
+// C includes.
+
+#ifndef __cpp_lib_modules
+#include <string>
+#endif
+
+// Other includes.
+
+#ifdef __cpp_modules
+export module butl.curl;
+#ifdef __cpp_lib_modules
+import std.core;
+#endif
+import butl.path;
+import butl.optional;
+import butl.standard_version
+#else
+#include <libbutl/path.mxx>
+#include <libbutl/optional.mxx>
+#include <libbutl/standard-version.mxx>
+#endif
+
+#include <libbutl/export.hxx>
+
+LIBBUTL_MODEXPORT namespace butl
+{
+ // Return true if the specified directory is a git repository root (contains
+ // the .git filesystem entry).
+ //
+ LIBBUTL_SYMEXPORT bool
+ git_repository (const dir_path&);
+
+ // Try to parse the line printed by the 'git --version' command. Return git
+ // version if succeed, nullopt otherwise.
+ //
+ LIBBUTL_SYMEXPORT optional<standard_version>
+ git_version (const std::string&);
+}