@@ -203,45 +203,45 @@ func (repo *Repository) commitsByRange(id SHA1, page int) (*list.List, error) {
203
203
204
204
func (repo * Repository ) searchCommits (id SHA1 , opts SearchCommitsOptions ) (* list.List , error ) {
205
205
cmd := NewCommand ("log" , id .String (), "-100" , "-i" , prettyLogFormat )
206
- args := []string { "log" , "-i" , prettyLogFormat }
206
+ var args []string
207
207
if len (opts .Authors ) > 0 {
208
208
for _ , v := range opts .Authors {
209
- cmd .AddArguments ("--author=" + v )
210
209
args = append (args , "--author=" + v )
211
210
}
212
211
}
213
212
if len (opts .Committers ) > 0 {
214
213
for _ , v := range opts .Committers {
215
- cmd .AddArguments ("--committer=" + v )
216
214
args = append (args , "--committer=" + v )
217
215
}
218
216
}
219
217
if len (opts .After ) > 0 {
220
- cmd .AddArguments ("--after=" + opts .After )
221
218
args = append (args , "--after=" + opts .After )
222
219
}
223
220
if len (opts .Before ) > 0 {
224
- cmd .AddArguments ("--before=" + opts .Before )
225
221
args = append (args , "--before=" + opts .Before )
226
222
}
227
223
if opts .All {
228
- cmd .AddArguments ("--all" )
229
224
args = append (args , "--all" )
230
225
}
231
226
if len (opts .Keywords ) > 0 {
232
227
for _ , v := range opts .Keywords {
233
228
cmd .AddArguments ("--grep=" + v )
234
229
}
235
230
}
231
+ cmd .AddArguments (args ... )
236
232
stdout , err := cmd .RunInDirBytes (repo .Path )
237
233
if err != nil {
238
234
return nil , err
239
235
}
236
+ if len (stdout ) != 0 {
237
+ stdout = append (stdout , '\n' )
238
+ }
240
239
if len (opts .Keywords ) > 0 {
241
240
for _ , v := range opts .Keywords {
242
241
if len (v ) >= 4 {
243
- hashCmd := NewCommand (args ... )
244
- hashCmd .AddArguments ("-1" , v )
242
+ hashCmd := NewCommand ("log" , "-1" , prettyLogFormat )
243
+ hashCmd .AddArguments (args ... )
244
+ hashCmd .AddArguments (v )
245
245
hashMatching , err := hashCmd .RunInDirBytes (repo .Path )
246
246
if err != nil || bytes .Contains (stdout , hashMatching ) {
247
247
continue
0 commit comments