Anonymous committed c8577fc

Support interrupting updates without losing update list.

Comments (0)

Files changed (1)

 	packages = []
 	for (dir, vcs) in rebuilds.items():
-		if vcs.update():
-			packages.extend(vcs.cpv)
+		try:
+			if vcs.update():
+				packages.extend(vcs.cpv)
+		except KeyboardInterrupt:
+			out.err('Updates interrupted, proceeding with already updated repos.')
+			break
+		except Exception as e:
+			out.err('Error updating %s: [%s] %s' % (cpv, e.__class__.__name__, e))
 	if len(packages) < 1:
 		out.s1('No updates found')
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.