It is a bit wonky to assign the same object to multiple
attributes and then possibly overwrite them later.
Refactor the code to use a local variable and defer attribute
assignment until the final values are ready.
This required passing the bundle instance to _handlebundle2part().
The only use of this method I could find is Facebook's
treemanifest extension. Since it is a private method, I don't
think it warrants an API callout.
Within _handlebundle2part, there's still a self._bundle = changegroup.getunbundler(...) statement. Perhaps, it'd be even clearer if this method would return changegroup.getunbundler(...) and let the caller eventually assign this as an attribute.