I've been looking at how to support GitLabHQ (https://github.com/gitlabhq/gitlabhq) as a deployment source.
Unfortunately, every provider does things a bit differently, we we have different logic for Github, Bitbucket and Codeplex. Also, look at #223 and #225 where we're looking what it would take to support http://www.codebasehq.com/, which is kind of like Github but not quite.
But so far, we haven't had to deal with non-public repos that don't support ssh, which seems to be the case for GitLabHQ (correct?). So that would be a new challenge :)
I saw those issues yes, so I thought I would add this to the backlog as well.
Maybe detection code can be made a bit more flexible, or the possibility to override guessing with a setting.
I think the demand for more providers and different scenario's will grow eventually anyway.
Agreed that the list will grow, and the likelihood of them converging to a standard format is small :)
I'm open to some refactoring to make it more flexible. Though I don't see how a setting can make that work generically, unless the setting contains a big piece of code that has the parsing logic!
It can't be generic, the best you can do is to factor it into separate components:
bool TryGetSettings(HttpContextBase context, out Settings settings);
Closing this one, as we did do a lot of refactoring, and I believe you got the GitLabHQ support in.