diff --git a/cmd/src/actions_exec.go b/cmd/src/actions_exec.go index 015d55ca87..52feafd8d5 100644 --- a/cmd/src/actions_exec.go +++ b/cmd/src/actions_exec.go @@ -22,7 +22,6 @@ import ( "github.com/hashicorp/go-multierror" "github.com/mattn/go-isatty" "github.com/pkg/errors" - "github.com/sourcegraph/go-diff/diff" "github.com/sourcegraph/src-cli/schema" "github.com/xeipuuv/gojsonschema" ) @@ -270,11 +269,6 @@ Format of the action JSON files: executor.enqueueRepo(repo) } - // Execute actions - if opts.onUpdate != nil { - opts.onUpdate(executor.repos) - } - go executor.start(ctx) err = executor.wait() @@ -646,38 +640,6 @@ fragment repositoryFields on Repository { return repos, nil } -func sumDiffStats(fileDiffs []*diff.FileDiff) diff.Stat { - sum := diff.Stat{} - for _, fileDiff := range fileDiffs { - stat := fileDiff.Stat() - sum.Added += stat.Added - sum.Changed += stat.Changed - sum.Deleted += stat.Deleted - } - return sum -} - -func diffStatDescription(fileDiffs []*diff.FileDiff) string { - var plural string - if len(fileDiffs) > 1 { - plural = "s" - } - - return fmt.Sprintf("%d file%s changed", len(fileDiffs), plural) -} - -func diffStatDiagram(stat diff.Stat) string { - const maxWidth = 20 - added := float64(stat.Added + stat.Changed) - deleted := float64(stat.Deleted + stat.Changed) - if total := added + deleted; total > maxWidth { - x := float64(20) / total - added *= x - deleted *= x - } - return color.GreenString(strings.Repeat("+", int(added))) + color.RedString(strings.Repeat("-", int(deleted))) -} - func isGitAvailable() bool { cmd := exec.Command("git", "version") if err := cmd.Run(); err != nil { diff --git a/cmd/src/actions_exec_backend.go b/cmd/src/actions_exec_backend.go index ea60dc674f..4509cd3bd7 100644 --- a/cmd/src/actions_exec_backend.go +++ b/cmd/src/actions_exec_backend.go @@ -14,8 +14,6 @@ type actionExecutorOptions struct { clearCache bool cache actionExecutionCache - - onUpdate func(map[ActionRepo]ActionRepoStatus) } type actionExecutor struct { @@ -26,7 +24,6 @@ type actionExecutor struct { repos map[ActionRepo]ActionRepoStatus par *parallel.Run - done chan struct{} doneEnqueuing chan struct{} logger *actionLogger @@ -44,7 +41,6 @@ func newActionExecutor(action Action, parallelism int, logger *actionLogger, opt par: parallel.NewRun(parallelism), logger: logger, - done: make(chan struct{}), doneEnqueuing: make(chan struct{}), } } @@ -79,10 +75,6 @@ func (x *actionExecutor) updateRepoStatus(repo ActionRepo, status ActionRepoStat } x.repos[repo] = status - - if x.opt.onUpdate != nil { - x.opt.onUpdate(x.repos) - } } func (x *actionExecutor) allPatches() []PatchInput { @@ -98,24 +90,6 @@ func (x *actionExecutor) allPatches() []PatchInput { } func (x *actionExecutor) start(ctx context.Context) { - if x.opt.onUpdate != nil { - go func() { - for { - select { - case <-x.done: - return - default: - } - - x.reposMu.Lock() - x.opt.onUpdate(x.repos) - x.reposMu.Unlock() - time.Sleep(50 * time.Millisecond) - } - }() - - } - x.reposMu.Lock() allRepos := make([]ActionRepo, 0, len(x.repos)) for repo := range x.repos { @@ -139,7 +113,5 @@ func (x *actionExecutor) start(ctx context.Context) { func (x *actionExecutor) wait() error { <-x.doneEnqueuing - err := x.par.Wait() - close(x.done) - return err + return x.par.Wait() } diff --git a/go.mod b/go.mod index 8a8e0162f1..997b02a461 100644 --- a/go.mod +++ b/go.mod @@ -6,9 +6,7 @@ require ( github.com/Masterminds/semver v1.5.0 github.com/dustin/go-humanize v1.0.0 github.com/fatih/color v1.9.0 - github.com/gogo/protobuf v1.3.1 // indirect github.com/google/go-cmp v0.4.0 - github.com/gosuri/uilive v0.0.4 github.com/hashicorp/go-multierror v1.0.0 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 github.com/mattn/go-isatty v0.0.12 @@ -18,14 +16,12 @@ require ( github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 github.com/pkg/errors v0.9.1 github.com/segmentio/textio v1.2.0 - github.com/sourcegraph/go-diff v0.5.1 github.com/sourcegraph/jsonx v0.0.0-20190114210550-ba8cb36a8614 github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect github.com/xeipuuv/gojsonschema v1.2.0 golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9 // indirect jaytaylor.com/html2text v0.0.0-20190408195923-01ec452cbe43 - sourcegraph.com/sqs/pbtypes v1.0.0 // indirect ) replace github.com/gosuri/uilive v0.0.4 => github.com/mrnugget/uilive v0.0.4-fix-escape diff --git a/go.sum b/go.sum index f121f6ad48..4a6d6cf90e 100644 --- a/go.sum +++ b/go.sum @@ -6,10 +6,6 @@ github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/gogo/protobuf v1.1.1 h1:72R+M5VuhED/KujmZVcIquuo8mBgX4oVda//DQb3PXo= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= @@ -18,8 +14,6 @@ github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uP github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -31,8 +25,6 @@ github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+tw github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.8 h1:3tS41NlGYSmhhe/8fhGRzc+z3AYCw1Fe1WAyLuujKs0= github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mrnugget/uilive v0.0.4-fix-escape h1:KDkVqOHGDQlYN+yTGOoQ972J2pw7GrSkej+Rptme8ok= -github.com/mrnugget/uilive v0.0.4-fix-escape/go.mod h1:V/epo5LjjlDE5RJUcqx8dbw+zc93y5Ya3yg8tfZ74VI= github.com/neelance/parallel v0.0.0-20160708114440-4de9ce63d14c h1:NZOii9TDGRAfCS5VM16XnF4K7afoLQmIiZX8EkKnxtE= github.com/neelance/parallel v0.0.0-20160708114440-4de9ce63d14c/go.mod h1:eTBvSIlRgLo+CNFFQRQTwUGTZOEdvXIKeZS/xG+D2yU= github.com/olekukonko/tablewriter v0.0.4 h1:vHD/YYe1Wolo78koG299f7V/VAS08c6IpCLn+Ejf/w8= @@ -45,12 +37,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/segmentio/textio v1.2.0 h1:Ug4IkV3kh72juJbG8azoSBlgebIbUUxVNrfFcKHfTSQ= github.com/segmentio/textio v1.2.0/go.mod h1:+Rb7v0YVODP+tK5F7FD9TCkV7gOYx9IgLHWiqtvY8ag= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt3d2aYa0SiNms/hFqC9qJYolM= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/sourcegraph/go-diff v0.5.1 h1:gO6i5zugwzo1RVTvgvfwCOSVegNuvnNi6bAD1QCmkHs= -github.com/sourcegraph/go-diff v0.5.1/go.mod h1:j2dHj3m8aZgQO8lMTcTnBcXkRRRqi34cd2MNlA9u1mE= github.com/sourcegraph/jsonx v0.0.0-20190114210550-ba8cb36a8614 h1:MrlKMpoGse4bCneDoK/c+ZbPGqOP5Hme5ulatc8smbQ= github.com/sourcegraph/jsonx v0.0.0-20190114210550-ba8cb36a8614/go.mod h1:7jkSQ2sdxwXMaIDxKJotTt+hwKnT9b/wbJFU7/ObUEY= github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf h1:pvbZ0lM0XWPBqUKqFU8cmavspvIl9nulOYwdy6IFRRo= @@ -75,12 +61,7 @@ golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9 h1:1/DFK4b7JH8DmkqhUk48onnSf golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= jaytaylor.com/html2text v0.0.0-20190408195923-01ec452cbe43 h1:y7HMa41LpoE/uvDnLVMLktoTifFpaoMGhxBHn8+h57Q= jaytaylor.com/html2text v0.0.0-20190408195923-01ec452cbe43/go.mod h1:OxvTsCwKosqQ1q7B+8FwXqg4rKZ/UG9dUW+g/VL2xH4= -sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4 h1:JPJh2pk3+X4lXAkZIk2RuE/7/FoK9maXw+TNPJhVS/c= -sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= -sourcegraph.com/sqs/pbtypes v1.0.0 h1:f7lAwqviDEGvON4kRv0o5V7FT/IQK+tbkF664XMbP3o= -sourcegraph.com/sqs/pbtypes v1.0.0/go.mod h1:3AciMUv4qUuRHRHhOG4TZOB+72GdPVz5k+c648qsFS4=