Skip to content

Commit 05cc776

Browse files
authored
(split from main repo) Merge pull request #7198 from lekhmanrus/master
Gerrit Plugin fixes/improvements
2 parents 4b042b6 + d31622a commit 05cc776

File tree

2 files changed

+109
-48
lines changed

2 files changed

+109
-48
lines changed

FormGerritPublish.Designer.cs

Lines changed: 78 additions & 32 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

FormGerritPublish.cs

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ public FormGerritPublish(IGitUICommands uiCommand)
3737
PublishType.Items.AddRange(new object[]
3838
{
3939
new KeyValuePair<string, string>(_publishTypeReview.Text, ""),
40-
new KeyValuePair<string, string>(_publishTypeWip.Text, "%wip"),
41-
new KeyValuePair<string, string>(_publishTypePrivate.Text, "%private"),
40+
new KeyValuePair<string, string>(_publishTypeWip.Text, "wip"),
41+
new KeyValuePair<string, string>(_publishTypePrivate.Text, "private"),
4242
});
4343
PublishType.SelectedIndex = 0;
4444
}
@@ -79,31 +79,46 @@ private bool PublishChange(IWin32Window owner)
7979

8080
GerritUtil.StartAgent(owner, Module, _NO_TRANSLATE_Remotes.Text);
8181

82-
var pushCommand = UICommands.CreateRemoteCommand();
83-
84-
string targetBranch = "refs/for/" + branch;
85-
86-
string publishType = ((KeyValuePair<string, string>)PublishType.SelectedItem).Value;
87-
targetBranch += publishType;
82+
List<string> additionalOptions = new List<string>();
83+
additionalOptions.Add(((KeyValuePair<string, string>)PublishType.SelectedItem).Value);
8884

8985
string reviewers = _NO_TRANSLATE_Reviewers.Text.Trim();
9086
if (!string.IsNullOrEmpty(reviewers))
9187
{
92-
string formattedReviewers = string.Join(",", reviewers.Split(' ')
93-
.Where(r => !string.IsNullOrEmpty(r))
94-
.Select(r => "r=" + r));
95-
if (!formattedReviewers.IsNullOrEmpty())
96-
{
97-
targetBranch += "%" + formattedReviewers;
98-
}
88+
additionalOptions.AddRange(reviewers.Split(new[] { ' ', ',', ';', '|' })
89+
.Where(r => !string.IsNullOrEmpty(r))
90+
.Select(r => "r=" + r));
91+
}
92+
93+
string cc = _NO_TRANSLATE_Cc.Text.Trim();
94+
if (!string.IsNullOrEmpty(cc))
95+
{
96+
additionalOptions.AddRange(cc.Split(new[] { ' ', ',', ';', '|' })
97+
.Where(r => !string.IsNullOrEmpty(r))
98+
.Select(r => "cc=" + r));
9999
}
100100

101101
string topic = _NO_TRANSLATE_Topic.Text.Trim();
102102
if (!string.IsNullOrEmpty(topic))
103103
{
104-
targetBranch += "%topic=" + topic;
104+
additionalOptions.Add("topic=" + topic);
105105
}
106106

107+
string hashtag = _NO_TRANSLATE_Hashtag.Text.Trim();
108+
if (!string.IsNullOrEmpty(hashtag))
109+
{
110+
additionalOptions.Add("hashtag=" + hashtag);
111+
}
112+
113+
additionalOptions = additionalOptions.Where(r => !string.IsNullOrEmpty(r)).ToList();
114+
115+
string targetBranch = "refs/for/" + branch;
116+
if (additionalOptions.Count > 0)
117+
{
118+
targetBranch += "%" + string.Join(",", additionalOptions);
119+
}
120+
121+
var pushCommand = UICommands.CreateRemoteCommand();
107122
pushCommand.CommandText = PushCmd(
108123
_NO_TRANSLATE_Remotes.Text,
109124
targetBranch);

0 commit comments

Comments
 (0)