Michał Górny avatar Michał Górny committed cdb3a02

Don't join packages sharing the same repo.

This is a temporary solution. In the future, a better joining method
will be implemented.

Fixes: https://bugs.gentoo.org/show_bug.cgi?id=381075

Comments (0)

Files changed (2)

smartliverebuild/core.py

 
 			packages = []
 			erraneous = []
-			rebuilds = {}
 
 			def loop_iter(blocking = False):
 				needsleep = True
 							vcscl = getvcs(vcs, allowed)
 							if vcscl is not None:
 								vcs = vcscl(str(pkg.slotted_atom), pkg.environ, opts)
-
-								uri = str(vcs)
-								if uri not in rebuilds:
-									rebuilds[uri] = vcs
-									processes.append(vcs)
-									loop_iter()
-								elif rebuilds[uri] in processes:
-									rebuilds[uri] += vcs
-								elif rebuilds[uri].cpv[0] in packages:
-									packages.extend(vcs.cpv)
-								elif rebuilds[uri].cpv[0] in erraneous:
-									erraneous.extend(vcs.cpv)
+								processes.append(vcs)
+								loop_iter()
 					except KeyboardInterrupt:
 						raise
 					except NonLiveEbuild as e:

smartliverebuild/vcs/__init__.py

 		if len(missingvars) > 0:
 			raise KeyError('Environment does not declare: %s' % missingvars)
 
-	def __iadd__(self, vcs):
-		""" Append the additional packages from another VCS class
-			instance `vcs'. This will be done whenever two packages
-			share the same checkout directory (as returned by getpath()).
-		"""
-		if not isinstance(vcs, self.__class__):
-			raise ValueError('Unable to append %s to %s' % (vcs.__class__, self.__class__))
-		self.cpv.append(vcs.cpv[0])
-		return self
-
 	def __str__(self):
 		""" Return the string used to identify the update process within
 			the program output.
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 ProjectModifiedEvent.java.
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.