| 
					
				 | 
			
			
				@@ -140,7 +140,7 @@ func loadPlugins() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	for path := range pluginFlags { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		_, err := plugin.Open(path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			fmt.Fprintf(os.Stderr, "Failed to load plugin from %s %s", path, err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			fmt.Fprintf(os.Stderr, "Failed to load plugin from %s %s\n", path, err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -156,7 +156,8 @@ func main() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		"separate line. The first hash is the root.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	flag.BoolVar(&protobuf, "pb", false, "The output format will be Protocol Buffers instead of YAML.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	flag.BoolVar(&printVersion, "version", false, "Print version information and exit.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	flag.BoolVar(&disableStatus, "quiet", false, "Do not print status updates to stderr.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	flag.BoolVar(&disableStatus, "quiet", !terminal.IsTerminal(int(os.Stdin.Fd())), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		"Do not print status updates to stderr.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	facts, deployChoices := hercules.Registry.AddFlags() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	flag.Parse() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -182,9 +183,13 @@ func main() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// core logic 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	pipeline := hercules.NewPipeline(repository) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	pipeline.SetFeaturesFromFlags() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if terminal.IsTerminal(int(os.Stderr.Fd())) && !disableStatus { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		progress := mpb.New(mpb.Output(os.Stderr)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		defer progress.Stop() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var progress *mpb.Progress 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var progressRendered bool 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if !disableStatus { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		beforeRender := func([]*mpb.Bar) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			progressRendered = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		progress = mpb.New(mpb.Output(os.Stderr), mpb.WithBeforeRenderFunc(beforeRender)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var bar *mpb.Bar 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		pipeline.OnProgress = func(commit, length int) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if bar == nil { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -232,6 +237,11 @@ func main() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		panic(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if !disableStatus { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		progress.Stop() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if progressRendered { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// this is the only way to reliably clear the progress bar 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			fmt.Fprint(os.Stderr, "\033[F\033[K") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		fmt.Fprint(os.Stderr, "writing...\r") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	begin := commits[0].Author.When.Unix() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -241,6 +251,9 @@ func main() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		protobufResults(uri, begin, end, len(commits), deployed, results) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if !disableStatus { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		fmt.Fprint(os.Stderr, "\033[K") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func printResults( 
			 |