| 
														
															@@ -1850,7 +1850,10 @@ class Archiver: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         env = prepare_subprocess_env(system=True) 
														 | 
														
														 | 
														
															         env = prepare_subprocess_env(system=True) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         try: 
														 | 
														
														 | 
														
															         try: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             # we exit with the return code we get from the subprocess 
														 | 
														
														 | 
														
															             # we exit with the return code we get from the subprocess 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            return subprocess.call([args.command] + args.args, env=env) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ret = subprocess.call([args.command] + args.args, env=env) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        except (FileNotFoundError, OSError, ValueError) as e: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            self.print_error(f"Error while trying to run '{args.command}': {e}") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ret = EXIT_ERROR 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         finally: 
														 | 
														
														 | 
														
															         finally: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             # we need to commit the "no change" operation we did to the manifest 
														 | 
														
														 | 
														
															             # we need to commit the "no change" operation we did to the manifest 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             # because it created a new segment file in the repository. if we would 
														 | 
														
														 | 
														
															             # because it created a new segment file in the repository. if we would 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1859,6 +1862,7 @@ class Archiver: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             # any other mechanism relying on existing segment data not changing). 
														 | 
														
														 | 
														
															             # any other mechanism relying on existing segment data not changing). 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             # see issue #1867. 
														 | 
														
														 | 
														
															             # see issue #1867. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             repository.commit(compact=False) 
														 | 
														
														 | 
														
															             repository.commit(compact=False) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            return ret 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @with_repository(manifest=False, exclusive=True) 
														 | 
														
														 | 
														
															     @with_repository(manifest=False, exclusive=True) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     def do_compact(self, args, repository): 
														 | 
														
														 | 
														
															     def do_compact(self, args, repository): 
														 |