Hi, We have a code repository with.nix files and symbolic links. Since symbolic links aren't handled correctly under windows. I use TFS eclipse plugin under Linux to check out/check in code. However, in order for me to do code reviews I have to use Visual Studio.
So let’s dive into today’s topic integrating Xamarin Studio on the Mac with TFS Online’s (aka Visual Studio Online) Git source control. By default, the account you login as to Visual Studio Online is your Microsoft account, which is an email address. The problem with that is the “@” symbol.
If I share the folder under linux and mount it as a network drive in windows, can I access it in Visual Studio for doing code reviews? In other words, can TFS eclipse plugin and Visual Studio share a common folder? Or can I checkout symlinks under windows from TFS? In the link you shared, if you read below 'TFS Team Explorer Everywhere supports symlinks on Linux. We have TEE CLC version 12 installed on our Dev server and it does support symbolic links without the need to do anything explicit for them, same as in SVN. It does check the links in as a file but on check-out it creates the symlink fine.'
So the answer that TFVC doesn't support symbolic links is incorrect. We are currently using it and it works as long as I use the eclipse plugin under Linux Source 2: 'The new a wizard has several big improvements including support for adding symbolic links to source control, creating workspace mappings directly when files to non-mapped source control folders are added' Now to second part of the answer, shared folders are not allowed. Are you implying that I cannot instantiate a local folder as TFVC workspace with Eclipse + TFS Plugin and open the same folder in Visual Studio? Under git, I can instantiate a git repository with one tool and use another tool on the same folder, as long as.git files an relevant files are available. Similarly, does TFVC allow a TFVC workspace to be shared between two programs (Eclipse + TFS plugin and Visual Studio)? Thanks for clarifying and confirming the 'symbolic link' support in team explorer. I did some experiments and confirmed the Eclipse Plugin Under Linux and Visual studio under windows cannot share a same workspace.
Eclipse plugin under linux stores tfs information in.tf directory and Visual studio stores it in $tf directory under windows. Because of this we cannot share work space between linux and windows. This kind of sucks for us, as our code base is.nix based and we use eclipse under linux to checkin/checkout code and use Visual studio under windows to perform code reviews. Kind of inefficient but works for now.
You can close the bug. Thanks again for the reply and support.
Include/Exclude vs Stage/Unstage After this workshop was recorded, the GitHub Visual Studio extension was updated as part of Update 2 for Visual Studio 2015. The GitHub integration in Visual Studio 2017 also includes these changes. The sections in the Team Explorer 'Changes' panel that were labeled 'Excluded Changes' and 'Included Changes' are now labeled 'Changes' and 'Staged Changes' (respectively). Additionally, the context menu items that were labeled 'Include' and 'Exclude' and now labeled 'Stage' and 'Unstage'. These labels were updated in order to use terminology that would be more familiar to experienced git users.
Also, changes are not staged (or 'included') by default as they were before. This approach allows you to select which changes to 'stage' for your next commit. Or you can choose to 'Commit All', which will commit all of your unstaged changes. For more information on these updates to the GitHub extension, see this article on the Visual Studio website: Additional Learning. 0:00 Okay, we're in the connect section. 0:02 If you don't see this right away,.
0:03 click on the little plug icon on the top of Team Explorer. 0:07 Now we can click connect, and enter in our user name and password. 0:14 GitHub also features two factor authentication,. 0:16 which will prompt you for a code. 0:18 Now we're authenticated.
0:20 Let's create a new repository, or repo for short. 0:24 Click on create,. 0:25 I wanna create a new application that will help me organize teams. 0:29 Let's name this one TeamPowered. 0:33 And for the description I'll put This project is to help manage teams. 0:43 The local path is where your physical files will live.
0:45 I'll just leave it as the default, but you can put them wherever you'd like. 0:50 Git ignore, so this option will let us pick from a variety of languages and. 0:54 frameworks. 0:56 It's defaulted to Visual Studio. 0:58 This option will generate a Git ignore file that includes a default set of file.
1:02 extensions. 1:03 We only really care about the actual source code files in source control, and.
1:07 we don't want to track changes to other types of files in a project,. 1:10 like Visual Studio configuration files. 1:13 The Git ignore file specifies the types of files that will be ignored when committing. 1:17 changes to the repo. 1:19 As for the license, you can apply a license to your repository that tells. 1:23 other users how they can use your code.
1:25 If you wanna learn more about open source licensing,. 1:28 GitHub has some great documentation, check the teacher's notes for a link.
1:33 I'm gonna leave it unlicensed. 1:34 This means that nobody is allowed to use my code, but. 1:37 we can always open source it later. 1:39 Create, we click on the home button to get back to the home section of team explorer. 1:46 Here's our new repo. 1:47 Let's create a new project and add it to the new repo. 1:50 Normally you would create a new project from the file menu but.
1:54 if you wanted to be in a local Git repository,. 1:56 you should click in the solutions section down here and click new. 2:01 That way, it'll automatically fill in the directory of your Git. 2:04 repositories instead of the default Visual Studio location. 2:07 We'll make it a Console Application, and let's call it TeamPowered. 2:17 Here's our shiny new project.
2:19 We'll switch over to the Solution Explorer window. 2:22 You can see these little plus icons next to each file in the solution. 2:26 That means that they are new to our repo. 2:28 We need to make a commit to start tracking their changes. 2:31 Let's switch back over to Team Explorer and click changes. 2:36 Here we can see all the files it detects we need to commit. 2:39 And the operations are next to the names.
2:42 All of our project files will be added. 2:44 It's good to review the changes so you can make sure you've got everything included. 2:48 Or if you need to exclude something, we can exclude a change by right clicking and. 2:53 choosing Exclude. 2:55 When you're ready to include it again, you need to right click and choose Include.
3:01 If you never wanna add the file to the repo, you'll need to put the file name and. 3:04 then, Git ignore file which will be in the root of your repo directory. 3:09 We also need to write a commit message. 3:11 It's really helpful to put as much information as possible in your commit. 3:15 Sometimes, when looking back at earlier commits, I say to myself,. 3:19 what was I thinking?. 3:20 Your future self will be well-informed of why you made the changes,.
3:23 instead of having to go dig through the code. 3:25 This goes for your teammates too. 3:28 I'm just gonna type in, first commit and.
3:33 let's click on commit, and now we're committed. 3:38 Remember though, that it just commits locally. 3:41 You can see here that it says commit created locally,. 3:44 sync to share your changes with the server.
3:48 You don't have to sync right away, you can do several commits and. 3:50 then sync them all at once if you'd like. 3:53 This is helpful when you want to group commits together or. 3:55 work completely isolated from the remote repo for a while. 3:58 Let's click on Sync. 4:01 This is the sync pane.
4:02 When we clicked on sync,. 4:04 it asked the server if it had any changes that were not in our local repo. 4:08 On a team, for example, it's possible that another developer changed a file in their. 4:12 own copy and we need to get their changes into our local copy. 4:16 This lists all Incoming Commits that we'll need to pull down, and Outgoing Commits.
4:21 that we've made that haven't been synced or pushed to the server. 4:24 If we click Sync again, all changes will be synced. 4:29 We can also pull and. 4:30 merge incoming changes before pushing our outgoing changes.
4:34 We have to pull and merge any remote commits before making our push. 4:37 This is so we can make sure our code won't conflict with anyone else's that's already. 4:41 synced with the server. 4:43 We'll take a look at an example of this in a bit. 4:45 Let's go check out our code on GitHub.com. 4:48 On the home pane, we've got a few shortcuts to different features of GitHub,. 4:51 and they'll get us to the repository.
4:53 We'll click on Graphs. 4:55 This shows a graph of all the commits in this repository. 4:58 We've only got one.
5:00 We can click on Code to see if our commit is there. 5:03 There it is.