@@ -38,6 +38,10 @@ func init() {
38
38
cmdQuery .RunE = cmdQueryRun
39
39
}
40
40
41
+ func mkWgPool () pool.ContextPool {
42
+ return * pool .New ().WithContext (bgctx )
43
+ }
44
+
41
45
const (
42
46
_partStatus = "st"
43
47
_partTimestamp = "ts"
@@ -64,21 +68,17 @@ const (
64
68
_partVcsLogAhead = "vcs_log_ahead"
65
69
_partVcsLogBehind = "vcs_log_behind"
66
70
67
- _partVcsStg = "stg "
68
- _partVcsStgQlen = "stg_qlen "
69
- _partVcsStgQpos = "stg_qpos "
70
- _partVcsStgTop = "stg_top "
71
- _partVcsStgDirty = "stg_dirty "
71
+ _partVcsStg = "vcs_git_stg "
72
+ _partVcsStgQlen = "vcs_git_stg_qlen "
73
+ _partVcsStgQpos = "vcs_git_stg_qpos "
74
+ _partVcsStgTop = "vcs_git_stg_top "
75
+ _partVcsStgDirty = "vcs_git_stg_dirty "
72
76
73
- _partVcsGitIdxTotal = "git_idx_total "
74
- _partVcsGitIdxIncluded = "git_idx_incl "
75
- _partVcsGitIdxExcluded = "git_idx_excl "
77
+ _partVcsGitIdxTotal = "vcs_git_idx_total "
78
+ _partVcsGitIdxIncluded = "vcs_git_idx_incl "
79
+ _partVcsGitIdxExcluded = "vcs_git_idx_excl "
76
80
)
77
81
78
- func timeFMT (ts time.Time ) string {
79
- return ts .Format ("15:04:05 01/02/06" )
80
- }
81
-
82
82
func handleQUIT () context.CancelFunc {
83
83
sig := make (chan os.Signal , 1 )
84
84
signal .Notify (sig , os .Interrupt , os .Kill , syscall .SIGTERM )
@@ -134,7 +134,7 @@ func cmdQueryRun(_ *cobra.Command, _ []string) error {
134
134
}()
135
135
}
136
136
137
- tasks := pool . New (). WithContext ( bgctx )
137
+ tasks := mkWgPool ( )
138
138
defer func () {
139
139
tasks .Wait ()
140
140
printPart ("done" , "ok" )
@@ -215,7 +215,7 @@ func cmdQueryRun(_ *cobra.Command, _ []string) error {
215
215
})
216
216
217
217
tasks .Go (func (context.Context ) error {
218
- subTasks := new ( AsyncTaskDispatcher )
218
+ subTasks := mkWgPool ( )
219
219
defer subTasks .Wait ()
220
220
221
221
if _ , err := stringExec ("git" , "rev-parse" , "--show-toplevel" ); err == nil {
@@ -224,33 +224,35 @@ func cmdQueryRun(_ *cobra.Command, _ []string) error {
224
224
return nil
225
225
}
226
226
227
- subTasks .Dispatch (func () {
227
+ subTasks .Go (func (ctx context. Context ) error {
228
228
if branch , err := stringExec ("git" , "branch" , "--show-current" ); err == nil {
229
229
branch = trim (branch )
230
230
if len (branch ) > 0 {
231
231
printPart (_partVcsBranch , trim (branch ))
232
- return
232
+ return nil
233
233
}
234
234
}
235
235
236
236
if branch , err := stringExec ("git" , "name-rev" , "--name-only" , "HEAD" ); err == nil {
237
237
branch = trim (branch )
238
238
if len (branch ) > 0 {
239
239
printPart (_partVcsBranch , trim (branch ))
240
- return
240
+ return nil
241
241
}
242
242
}
243
+
244
+ return nil
243
245
})
244
246
245
- subTasks .Dispatch (func () {
247
+ subTasks .Go (func (context. Context ) error {
246
248
status , err := stringExec ("git" , "status" , "--porcelain" )
247
249
if err != nil {
248
- return
250
+ return nil
249
251
}
250
252
251
253
if len (status ) == 0 {
252
254
printPart (_partVcsDirty , 0 )
253
- return
255
+ return nil
254
256
}
255
257
256
258
printPart (_partVcsDirty , 1 )
@@ -281,9 +283,11 @@ func cmdQueryRun(_ *cobra.Command, _ []string) error {
281
283
printPart (_partVcsGitIdxTotal , fTotal )
282
284
printPart (_partVcsGitIdxIncluded , fInIndex )
283
285
printPart (_partVcsGitIdxExcluded , fOutOfIndex )
286
+
287
+ return nil
284
288
})
285
289
286
- subTasks .Dispatch (func () {
290
+ subTasks .Go (func (context. Context ) error {
287
291
if status , err := stringExec ("git" , "rev-list" , "--left-right" , "--count" , "HEAD...@{u}" ); err == nil {
288
292
parts := strings .SplitN (status , "\t " , 2 )
289
293
if len (parts ) < 2 {
@@ -293,6 +297,7 @@ func cmdQueryRun(_ *cobra.Command, _ []string) error {
293
297
printPart (_partVcsLogAhead , parts [0 ])
294
298
printPart (_partVcsLogBehind , parts [1 ])
295
299
}
300
+ return nil
296
301
})
297
302
298
303
return nil
@@ -301,8 +306,7 @@ func cmdQueryRun(_ *cobra.Command, _ []string) error {
301
306
tasks .Go (func (context.Context ) error {
302
307
var err error
303
308
304
- subTasks := new (AsyncTaskDispatcher )
305
- defer subTasks .Wait ()
309
+ subTasks := mkWgPool ()
306
310
307
311
var stgSeriesLen string
308
312
if stgSeriesLen , err = stringExec ("stg" , "series" , "-c" ); err == nil {
@@ -312,10 +316,11 @@ func cmdQueryRun(_ *cobra.Command, _ []string) error {
312
316
return nil
313
317
}
314
318
315
- subTasks .Dispatch (func () {
319
+ subTasks .Go (func (context. Context ) error {
316
320
if stgSeriesPos , err := stringExec ("stg" , "series" , "-cA" ); err == nil {
317
321
printPart (_partVcsStgQpos , stgSeriesPos )
318
322
}
323
+ return nil
319
324
})
320
325
321
326
var stgPatchTop string
@@ -325,7 +330,7 @@ func cmdQueryRun(_ *cobra.Command, _ []string) error {
325
330
return nil
326
331
}
327
332
328
- subTasks .Dispatch (func () {
333
+ subTasks .Go (func (context. Context ) error {
329
334
gitSHA , _ := stringExec ("stg" , "id" )
330
335
stgSHA , _ := stringExec ("stg" , "id" , stgPatchTop )
331
336
@@ -334,6 +339,7 @@ func cmdQueryRun(_ *cobra.Command, _ []string) error {
334
339
} else {
335
340
printPart (_partVcsStgDirty , 0 )
336
341
}
342
+ return nil
337
343
})
338
344
339
345
return nil
@@ -342,26 +348,6 @@ func cmdQueryRun(_ *cobra.Command, _ []string) error {
342
348
return nil
343
349
}
344
350
345
- func moduleFindProcessChain () ([]ps.Process , error ) {
346
- psPTR := os .Getpid ()
347
- var pidChain []ps.Process
348
-
349
- for {
350
- if psPTR == 0 {
351
- break
352
- }
353
- psInfo , err := ps .FindProcess (psPTR )
354
- if err != nil {
355
- return nil , err
356
- }
357
- pidChain = append (pidChain , psInfo )
358
- psPTR = psInfo .PPid ()
359
- }
360
-
361
- return pidChain , nil
362
- }
363
-
364
-
365
351
func startPrinter () (func (), func (name string , value interface {})) {
366
352
debugLog ("query-printer: start" )
367
353
defer debugLog ("query-printer: stop" )
0 commit comments