Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upUnify the repository list and URL tabs in the clone dialog #2197
Conversation
If user enters a valid repository URL, expose it as the selected repository.
Search for URLs that contain the Filter rather than requiring an exact match.
Add IRepositoryCloneViewModel.Url property. Select the tab corresponding to the host. Don't select a tab when host doesn't match.
|
This looks good to me functionality wise. |
|
Looks good. What about that last todo? |
|
We will also need to update the documentation for this unified dialog here: https://github.com/github/VisualStudio/blob/master/docs/using/cloning-a-repository-to-visual-studio.md#clone-repositories. I'm happy to do that. |
It appears users rarely change the tab they're initially presented with. This is despite the fact that the different tabs are useful in different circumstances. If the user is cloning a repository they own or have contributed to, the GitHub/GitHub Enterprise tab makes sense. If they're cloning a public repository owned by a different user, it would be necessary to use the URL tab.
What this PR does
This PR combines the repository list and URL tabs so that a user can clone any repository without needing to understand the difference between tabs.
/or.gitURLtabTo do
/or.gitwhen searchingHow to test
Finding a repository by its URL
File > Open > Open from GitHub...Search or enter a URLYour repositoriessectionCloning a public repository by its URL
File > Open > Open from GitHub...Search or enter a URLClonebutton is clickableRe-cloning a repository
File > Open StartPagehttps://link underRecentSearch or enter a URLboxCloning a GitHub Enterprise repository by its URL
File > Open > Open from GitHub...Search or enter a URLboxWhat this PR doesn't do
What if the user has already logged into a GitHub/Enterprise account, but not the one they they want to clone from? At the moment they would need to open
Team Explorer - Connectand sign out/sign in to the correct account. This isn't very discoverable.This is out of scope for this PR since it also wasn't possible with the previous implementation. Should we offer an explicit login/sign out option in another PR?
It would be nice if we could automatically check that a repository exists when the user enters a URL. The repository could be automatically added to a section called something like
Public repositories.Alternatively, we could automatically fire off a search and supplement the repository list when the user starts entering a query. This would allow users to find public repositories they about without visiting github.com.
We can easily see if a repository has been starred, but we don't currently surface this information. This is likely a useful signal when scanning for a repository in a potentially long list.
Fixes #2187