| 
															
																@@ -61,7 +61,8 @@ def parse_args(): 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     parser.add_argument("--couples-tmp-dir", help="Temporary directory to work with couples.") 
															 | 
															
															 | 
															
																     parser.add_argument("--couples-tmp-dir", help="Temporary directory to work with couples.") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     parser.add_argument("-m", "--mode", 
															 | 
															
															 | 
															
																     parser.add_argument("-m", "--mode", 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         choices=["burndown-project", "burndown-file", "burndown-person", 
															 | 
															
															 | 
															
																                         choices=["burndown-project", "burndown-file", "burndown-person", 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                                 "churn-matrix", "ownership", "couples", "shotness", "sentiment", 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                                 "churn-matrix", "ownership", "couples-files", "couples-people", 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                                 "couples-shotness", "shotness", "sentiment", 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                  "devs", "old-vs-new", "all", "run-times", "languages"], 
															 | 
															
															 | 
															
																                                  "devs", "old-vs-new", "all", "run-times", "languages"], 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         help="What to plot.") 
															 | 
															
															 | 
															
																                         help="What to plot.") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     parser.add_argument( 
															 | 
															
															 | 
															
																     parser.add_argument( 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1353,6 +1354,7 @@ def show_devs(args, name, start_date, end_date, data): 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         final[route_map[i]] = convolve(full_history, window, "same") 
															 | 
															
															 | 
															
																         final[route_map[i]] = convolve(full_history, window, "same") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																     matplotlib, pyplot = import_pyplot(args.backend, args.style) 
															 | 
															
															 | 
															
																     matplotlib, pyplot = import_pyplot(args.backend, args.style) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    pyplot.rcParams["figure.figsize"] = (32, 16) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     prop_cycle = pyplot.rcParams["axes.prop_cycle"] 
															 | 
															
															 | 
															
																     prop_cycle = pyplot.rcParams["axes.prop_cycle"] 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     colors = prop_cycle.by_key()["color"] 
															 | 
															
															 | 
															
																     colors = prop_cycle.by_key()["color"] 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     fig, axes = pyplot.subplots(final.shape[0], 1) 
															 | 
															
															 | 
															
																     fig, axes = pyplot.subplots(final.shape[0], 1) 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1400,7 +1402,7 @@ def show_devs(args, name, start_date, end_date, data): 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     axes[-1].get_yaxis().set_visible(False) 
															 | 
															
															 | 
															
																     axes[-1].get_yaxis().set_visible(False) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     axes[-1].set_facecolor((1.0,) * 3 + (0.0,)) 
															 | 
															
															 | 
															
																     axes[-1].set_facecolor((1.0,) * 3 + (0.0,)) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    title = "%s commits" % name 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    title = ("%s commits" % name) if not args.output else "" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     deploy_plot(title, args.output, args.style) 
															 | 
															
															 | 
															
																     deploy_plot(title, args.output, args.style) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1555,16 +1557,23 @@ def main(): 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         except KeyError: 
															 | 
															
															 | 
															
																         except KeyError: 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             print("ownership: " + burndown_people_warning) 
															 | 
															
															 | 
															
																             print("ownership: " + burndown_people_warning) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    def couples(): 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    def couples_files(): 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         try: 
															 | 
															
															 | 
															
																         try: 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             write_embeddings("files", args.output, not args.disable_projector, 
															 | 
															
															 | 
															
																             write_embeddings("files", args.output, not args.disable_projector, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                              *train_embeddings(*reader.get_files_coocc(), 
															 | 
															
															 | 
															
																                              *train_embeddings(*reader.get_files_coocc(), 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                                tmpdir=args.couples_tmp_dir)) 
															 | 
															
															 | 
															
																                                                tmpdir=args.couples_tmp_dir)) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        except KeyError: 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            print(couples_warning) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    def couples_people(): 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        try: 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             write_embeddings("people", args.output, not args.disable_projector, 
															 | 
															
															 | 
															
																             write_embeddings("people", args.output, not args.disable_projector, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                              *train_embeddings(*reader.get_people_coocc(), 
															 | 
															
															 | 
															
																                              *train_embeddings(*reader.get_people_coocc(), 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                                                tmpdir=args.couples_tmp_dir)) 
															 | 
															
															 | 
															
																                                                tmpdir=args.couples_tmp_dir)) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         except KeyError: 
															 | 
															
															 | 
															
																         except KeyError: 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             print(couples_warning) 
															 | 
															
															 | 
															
																             print(couples_warning) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    def couples_shotness(): 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         try: 
															 | 
															
															 | 
															
																         try: 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             write_embeddings("shotness", args.output, not args.disable_projector, 
															 | 
															
															 | 
															
																             write_embeddings("shotness", args.output, not args.disable_projector, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                              *train_embeddings(*reader.get_shotness_coocc(), 
															 | 
															
															 | 
															
																                              *train_embeddings(*reader.get_shotness_coocc(), 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1619,7 +1628,9 @@ def main(): 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         "burndown-person": people_burndown, 
															 | 
															
															 | 
															
																         "burndown-person": people_burndown, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         "churn-matrix": churn_matrix, 
															 | 
															
															 | 
															
																         "churn-matrix": churn_matrix, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         "ownership": ownership_burndown, 
															 | 
															
															 | 
															
																         "ownership": ownership_burndown, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        "couples": couples, 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        "couples-files": couples_files, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        "couples-people": couples_people, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        "couples-shotness": couples_shotness, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         "shotness": shotness, 
															 | 
															
															 | 
															
																         "shotness": shotness, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         "sentiment": sentiment, 
															 | 
															
															 | 
															
																         "sentiment": sentiment, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         "devs": devs, 
															 | 
															
															 | 
															
																         "devs": devs, 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1635,7 +1646,9 @@ def main(): 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         people_burndown() 
															 | 
															
															 | 
															
																         people_burndown() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         churn_matrix() 
															 | 
															
															 | 
															
																         churn_matrix() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         ownership_burndown() 
															 | 
															
															 | 
															
																         ownership_burndown() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        couples() 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        couples_files() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        couples_people() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        couples_shotness() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         shotness() 
															 | 
															
															 | 
															
																         shotness() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         sentiment() 
															 | 
															
															 | 
															
																         sentiment() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         devs() 
															 | 
															
															 | 
															
																         devs() 
															 |