repo git: Use commit message from file to avoid command line conflicts
This commit is contained in:
parent
545d274a8b
commit
f6b413ca8e
|
@ -402,11 +402,28 @@ namespace Sparkles.Git {
|
||||||
user_email = user_email.AESEncrypt (password);
|
user_email = user_email.AESEncrypt (password);
|
||||||
}
|
}
|
||||||
|
|
||||||
git = new GitCommand (LocalPath,
|
GitCommand git_commit;
|
||||||
string.Format ("commit --all --message=\"{0}\" --author=\"{1} <{2}>\"",
|
string message_file_path = Path.Combine (LocalPath, ".git", "info", "commit_message");
|
||||||
message, user_name, user_email));
|
|
||||||
|
|
||||||
git.StartAndReadStandardOutput ();
|
try {
|
||||||
|
File.WriteAllText (message_file_path, message);
|
||||||
|
|
||||||
|
// Commit from message stored in temporary file to avoid special character conflicts on the command line
|
||||||
|
git_commit = new GitCommand (LocalPath,
|
||||||
|
string.Format ("commit --all --file=\"{0}\" --author=\"{1} <{2}>\"",
|
||||||
|
message_file_path, user_name, user_email));
|
||||||
|
|
||||||
|
} catch (IOException e) {
|
||||||
|
Logger.LogInfo ("Git", Name + " | Could not create commit message file: " + message_file_path, e);
|
||||||
|
|
||||||
|
// If committing with a temporary file fails, use a simple static commit message
|
||||||
|
git_commit = new GitCommand (LocalPath,
|
||||||
|
string.Format ("commit --all --message=\"{0}\" --author=\"{1} <{2}>\"",
|
||||||
|
"Changes by SparkleShare", user_name, user_email));
|
||||||
|
}
|
||||||
|
|
||||||
|
git_commit.StartAndReadStandardOutput ();
|
||||||
|
File.Delete (message_file_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue