summaryrefslogtreecommitdiff
path: root/src/marlin.core/functional/GitCommandException.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/marlin.core/functional/GitCommandException.cs')
-rw-r--r--src/marlin.core/functional/GitCommandException.cs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/marlin.core/functional/GitCommandException.cs b/src/marlin.core/functional/GitCommandException.cs
new file mode 100644
index 0000000..e2ee42d
--- /dev/null
+++ b/src/marlin.core/functional/GitCommandException.cs
@@ -0,0 +1,16 @@
+namespace marlin.core.functional;
+
+public sealed class GitCommandException : Exception
+{
+ public string Command { get; }
+ public int ExitCode { get; }
+ public string StandardError { get; }
+
+ public GitCommandException(string command, int exitCode, string standardError)
+ : base($"git {command} exited with code {exitCode}: {standardError.Trim()}")
+ {
+ this.Command = command;
+ this.ExitCode = exitCode;
+ this.StandardError = standardError;
+ }
+}