Skip to content

Commit 813bc58

Browse files
committed
Remove code duplication in commit search
Signed-off-by: Gary Kim <[email protected]>
1 parent 00eb1f0 commit 813bc58

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

modules/git/repo_commit.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -203,45 +203,45 @@ func (repo *Repository) commitsByRange(id SHA1, page int) (*list.List, error) {
203203

204204
func (repo *Repository) searchCommits(id SHA1, opts SearchCommitsOptions) (*list.List, error) {
205205
cmd := NewCommand("log", id.String(), "-100", "-i", prettyLogFormat)
206-
args := []string{"log", "-i", prettyLogFormat}
206+
var args []string
207207
if len(opts.Authors) > 0 {
208208
for _, v := range opts.Authors {
209-
cmd.AddArguments("--author=" + v)
210209
args = append(args, "--author="+v)
211210
}
212211
}
213212
if len(opts.Committers) > 0 {
214213
for _, v := range opts.Committers {
215-
cmd.AddArguments("--committer=" + v)
216214
args = append(args, "--committer="+v)
217215
}
218216
}
219217
if len(opts.After) > 0 {
220-
cmd.AddArguments("--after=" + opts.After)
221218
args = append(args, "--after="+opts.After)
222219
}
223220
if len(opts.Before) > 0 {
224-
cmd.AddArguments("--before=" + opts.Before)
225221
args = append(args, "--before="+opts.Before)
226222
}
227223
if opts.All {
228-
cmd.AddArguments("--all")
229224
args = append(args, "--all")
230225
}
231226
if len(opts.Keywords) > 0 {
232227
for _, v := range opts.Keywords {
233228
cmd.AddArguments("--grep=" + v)
234229
}
235230
}
231+
cmd.AddArguments(args...)
236232
stdout, err := cmd.RunInDirBytes(repo.Path)
237233
if err != nil {
238234
return nil, err
239235
}
236+
if len(stdout) != 0 {
237+
stdout = append(stdout, '\n')
238+
}
240239
if len(opts.Keywords) > 0 {
241240
for _, v := range opts.Keywords {
242241
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)
245245
hashMatching, err := hashCmd.RunInDirBytes(repo.Path)
246246
if err != nil || bytes.Contains(stdout, hashMatching) {
247247
continue

0 commit comments

Comments
 (0)