Many callers already have a repo, so we might as well pass
that. merge.update() will look up the context object later. This
patch is part of making it so we pass around the context object all
the way down instead.
I also removed the repo argument since it can be retrieved from the
context.