Refactor out sources logic into separate package
Created by: eseliger
We had syncer, reconciler executor and the service all three require a changeset source, with some sort of authentication in place. The logic for this was different in all three places, and I was about to introduce a 4th place where I'd use it - so I figured this is a good moment to do a nice refactor and have a single source of truth for external service selection, authenticator usage and clone URL computation. Say hello to the new sources
package. We might be able to wrap existing GitHubSource
,... and such in the future so we can pull the ChangesetSource
logic into our codebase ... let see, stay tuned. For now, this is enabling us to easily get an authenticated ChangesetSource
for a given changeset or repo.