This seems alright, but it definitely feels incomplete. I tried it out with one of my github projects, and the setup wasn't impressive at all.
First, it didn't automatically detect that there was a 'GitHub' remote. My first guess was that I needed to call it 'origin', but that didn't fix it. Instead, I needed to go into the command line and specify the master branch's upstream branch like so: "git branch --set-upstream master GitHub/master".
Second, as soon as I tried to fetch I got "An error was raised by libgit2. Category = Net (Error). This transport isn't implemented. Sorry". Turns out I have to use the 'http' link instead of the 'ssh' link as the remote destination.
Both of these errors could have been avoided automatically, or at least given better help. Branch has no upstream? Assuming that it's the only remote branch with the same name is a pretty good heuristic, especially when you do no work without user action. Don't support SSH? Try the obvious HTTP alternative, or tell/ask the user to try it.
It's important to note that this is a "community technology preview", so while we've put a lot of work into this, you're right, it's nowhere near complete. The underlying technology here is libgit2, which currently doesn't support ssh, although it's something that is being worked on. (We'll improve the error message, of course, for the future. We appreciate the feedback.)
I didn't really intend to sound like I was making damning criticism. After setup the process seems fine, and solving those issues only took ten minutes (but ideally they wouldn't occur in the first place).
It wasn't taken as such - and we appreciate the criticism, as we've got a fair ways yet to go. I was just wanting to set expectations appropriately since there's been a lot of excitement around here today and even we have forgotten that this is oh so very rough around the edges.
Libgit2 contributor here. The SSH transport is actually in progress, so this specific issue will go away fairly soon. I'll agree that the error message could be better, but my gut feeling is that most people will clone from within VS and use the HTTPS transport anyway.
This is very much a pre-version-1.0 UI, but I like the direction they're taking it. Really in touch with what their users want and need.
Did you actually clone the branch or did you manually set up the remote and branch?
I ask because a clone sets the upstream automatically, and inferring the remote from the branch's upstream is the correct behaviour. You can also use the -u flag in push/pull to set this.
First, it didn't automatically detect that there was a 'GitHub' remote. My first guess was that I needed to call it 'origin', but that didn't fix it. Instead, I needed to go into the command line and specify the master branch's upstream branch like so: "git branch --set-upstream master GitHub/master".
Second, as soon as I tried to fetch I got "An error was raised by libgit2. Category = Net (Error). This transport isn't implemented. Sorry". Turns out I have to use the 'http' link instead of the 'ssh' link as the remote destination.
Both of these errors could have been avoided automatically, or at least given better help. Branch has no upstream? Assuming that it's the only remote branch with the same name is a pretty good heuristic, especially when you do no work without user action. Don't support SSH? Try the obvious HTTP alternative, or tell/ask the user to try it.