@@ -37,8 +37,8 @@ public FormGerritPublish(IGitUICommands uiCommand)
37
37
PublishType . Items . AddRange ( new object [ ]
38
38
{
39
39
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" ) ,
42
42
} ) ;
43
43
PublishType . SelectedIndex = 0 ;
44
44
}
@@ -79,31 +79,46 @@ private bool PublishChange(IWin32Window owner)
79
79
80
80
GerritUtil . StartAgent ( owner , Module , _NO_TRANSLATE_Remotes . Text ) ;
81
81
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 ) ;
88
84
89
85
string reviewers = _NO_TRANSLATE_Reviewers . Text . Trim ( ) ;
90
86
if ( ! string . IsNullOrEmpty ( reviewers ) )
91
87
{
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 ) ) ;
99
99
}
100
100
101
101
string topic = _NO_TRANSLATE_Topic . Text . Trim ( ) ;
102
102
if ( ! string . IsNullOrEmpty ( topic ) )
103
103
{
104
- targetBranch += "% topic=" + topic ;
104
+ additionalOptions . Add ( " topic=" + topic ) ;
105
105
}
106
106
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 ( ) ;
107
122
pushCommand . CommandText = PushCmd (
108
123
_NO_TRANSLATE_Remotes . Text ,
109
124
targetBranch ) ;
0 commit comments