Skip to content

Commit e8705ae

Browse files
committed
feat: Make nice message for auto-merge
1 parent b0fd549 commit e8705ae

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

Git/Project.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,20 @@ public string Describe(string options)
5252

5353
public string CommitTree(string treeRef, IEnumerable<string> parentRefs, string message)
5454
{
55-
var parents = String.Join(" ", parentRefs.Select(parentRef => $"-p {parentRef}"));
56-
foreach (var line in GetCommandOutput($"commit-tree {treeRef} {parents} -m {message}"))
55+
var tempFile = Path.GetTempFileName();
56+
File.WriteAllText(tempFile, message);
57+
try {
58+
var parents = String.Join(" ", parentRefs.Select(parentRef => $"-p {parentRef}"));
59+
foreach (var line in GetCommandOutput($"commit-tree {treeRef} {parents} -F {tempFile}"))
60+
{
61+
return line;
62+
}
63+
throw new ApplicationException("Unable to describe commit");
64+
}
65+
finally
5766
{
58-
return line;
67+
File.Delete(tempFile);
5968
}
60-
throw new ApplicationException("Unable to describe commit");
6169
}
6270

6371
public void CheckoutDetached(string reference)

Program.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,12 @@ static async Task AsyncMain(IConfigurationRoot config)
110110
}
111111
}
112112
var mergedCommit = git.ParseRef("HEAD");
113-
var newMergeBranchCommit = git.CommitTree($"{mergedCommit}^{{tree}}", mergeBranchParents, "Auto-merge");
113+
var mergedMessage = String.Format(gitHubConfig["mergeMessageFormat"],
114+
baseBranchVersion,
115+
autoMergePullRequestsSuccess.Count,
116+
String.Join("", autoMergePullRequestsSuccess.Select(pr => String.Format(gitHubConfig["mergeMessagePRFormat"], pr.Number, pr.Title)))
117+
);
118+
var newMergeBranchCommit = git.CommitTree($"{mergedCommit}^{{tree}}", mergeBranchParents, mergedMessage);
114119
git.SetBranchRef(gitHubConfig["branch"], newMergeBranchCommit);
115120
Console.WriteLine($"Base branch commit: {baseBranchCommit}");
116121
Console.WriteLine($"Base branch version: {baseBranchVersion}");

0 commit comments

Comments
 (0)