TFS Server has been updated [ACTION REQUIRED]

Topics: Rawr.Base
Developer
Jul 29, 2010 at 7:23 PM

The TFS Server for Rawr has been updated to a new url. As such, you will no longer be able to connect to the TFS server using the old link of tfs03.codeplex.com

The new TFS Server for Rawr is tfs.codeplex.com and you will select Rawr from a Collection named TFS03

I have updated the project files to this new link so once you connect to the new TFS and update to the latest version you shouldn't see any more warnings.

Editor
Jul 30, 2010 at 3:24 AM

Uh... yeah.  What?  All I know is that I'm being asked for my TFS credentials.  I don't even know wtf this "TFS" is.

Developer
Jul 30, 2010 at 3:42 AM

TFS = Alternate form of SVN, created by Microsoft

The source code page can tell you how to connect

Editor
Jul 30, 2010 at 4:04 AM
Edited Jul 30, 2010 at 4:07 AM

Yeah, so... I have only a basic understanding of what SVN does, and none whatsoever as to how it works or how to use it, so I'll just ask: can I get by just ignoring the "username and password" prompt when I open Visual Studio?  (For the record, the Source Code page did not shout a simple method of connecting, it just threw a bunch of programs, GUIs, etc. at me.   I'm working under the assumption that Visual Studio has the capabilities to connect to TFS baked into the standard release of the program, and the extra programs are superfluous to my very basic/possibly non-existent needs?)

Coordinator
Jul 30, 2010 at 4:27 AM
BrWarner wrote:

Yeah, so... I have only a basic understanding of what SVN does, and none whatsoever as to how it works or how to use it, so I'll just ask: can I get by just ignoring the "username and password" prompt when I open Visual Studio?  (For the record, the Source Code page did not shout a simple method of connecting, it just threw a bunch of programs, GUIs, etc. at me.   I'm working under the assumption that Visual Studio has the capabilities to connect to TFS baked into the standard release of the program, and the extra programs are superfluous to my very basic/possibly non-existent needs?)

No. Dunno what Source Code tab you're looking at... The on our site? See the big "Source Control Setup" panel on the right side? Click on Visual Studio Team Explorer. That's all the info you need; it's pretty clear. And no, you can't just ignore the username/password prompt. The CodePlex wiki help pages on the source control client has the way to save that username/password.

Jul 30, 2010 at 8:05 AM
I am connected in my Team Explorer, but not in the Solution Explorer, when I click go online there it still tries to connect to tfs03. I'm not using the express version.
Jul 30, 2010 at 1:17 PM

My problem has been fixed, no idea how but without changing anything I can connect again.

Jul 30, 2010 at 11:50 PM

I had the same problem, Fes, but I closed the solution, reopened it, and it magically fixed itself.

Coordinator
Aug 1, 2010 at 6:43 PM

Please, everyone, take the time to understand TFS, if that's what you use. It's important that you understand things like how TFS is designed to be used ("Get Latest"->"Decide to modify a file"->"Check out that file"->"Edit that file"->"Check in that file"; don't check out the whole tree.)

Everyone, (especially Anaeradranax, you have almost the entire source control repository checked out), please undo your checkout of everything you're not actually editing. It helps us keep the repository clean and clear about who's working on what.

Developer
Aug 2, 2010 at 2:12 PM

Perhaps a small explanation might assist those new to TFS/SVN. Apologies to those for whom this is old hat, I've tried to go for intelligent but need info audience, forgive me if I hit too low and went for (L)user level descriptions.

The idea is that a central "repository" of code is held so that developers from all over the world can work on the same project. This is the Team Foundation Server (TFS). Now VS2010 allows you to connect to a TFS box and download the code from there. Codeplex is setup so that you can view the code but you need a password to make any changes. This means that the project co-ordinator can make sure that only authorised developers can amend the code.

So once you run VS2010 and connect to the TFS you can download the code and start working on it. It is a good idea that prior to starting every session of working on the code that you always run an update to ensure you get the latest changes. This ensures you aren't about to go fix something someone else has already fixed.

So you have your VS2010 running you've downloaded the code now you open the solution file - and can start work. I work with the settings so that if I start editing a file then VS2010 automatically contacts the TFS and "checks-out" the file I edited. What this means is that the TFS is told that I wish to change that file and so it marks the file as checked out. This tells the other developers that the file is in use and their changes might conflict with another developer. It is for this reason that people should never check out any file they aren't working on. As otherwise other developers cannot tell if a conflict might happen.

Once you have made your changes and tested them you should then use the Commit Changes option (usually got by right clicking on the file or the project). This option pops up a dialog that you can enter a description of what you have done. Always try to make this clear and easy to understand. Try to commit a change as a simple unit, ie: don't checkout dozens of files make a lot of unrelated changes and then check them in again with a brief description. Far better to make simple changes and checkin that change so other developers can understand what has changed.

So it should be fairly simple...

1) Use Get latest code - to download the code to your machine

2) start work on a file and have it auto check out (or manually right click it and say check out if you prefer)

3) Complete your changes and test them

4) Check in your changes with a description of what you changed.

There is also the possibility that you want to undo your changes in which case you can simply tell it to revert to the version on the server and "undo check-out". This gets rid of your changes and fetches the current version from the server.

In the event that two people are editing the same file, the TFS & VS2010 can also manage merging two updates together. There is a conflict resolution option where the application will show you your changes vs the server changes and you can choose to merge the changes, keep your change and throw away the server one, or keep the server change and throw away your one. It works through each conflict showing you exactly what has changed. Once you have resolved the conflict it is always a good idea to test the results and then commit the changes with a note to say what has changed.

I hope this helps those struggling to understand what TFS is and why we need it.

Developer
Aug 2, 2010 at 3:26 PM

Now, for those of you wondering "Why in the world would I change off of just using SVN?", here's what TFS offers that SVN doesn't:

  • Direct integration with the Issue Tracker page (they call it "Work Items"). This allows you to run reports, get better filtered lists, edit issues from inside VS, add comments/attachments, create new issues, link your commits directly to an issue so that people know you are working on it, resolve an issue directly with a commit.
  • Better control when it comes to "shelving" a series of changes. This is for when you are working on that awesome new system for calculating <X thingy> but its not ready yet and you are only going to work on it in your spare time and instead focus on other fixes. You can "shelve" that work until you are ready to commit it and not have to weed through all the affected files while doing your other work. This also makes it easier to work on multiple development boxes without having to actually commit something. Shelve your work and go to your other system, update, then unshelve it to continue working.
  • You can actually see who else has the same files checked out *cough*Anaeradranax*cough* so if you need to check something in and someone else has it checked out, you know a conflict resolution might be necessary.

Now that's not to say it's all gravy baby, there are a couple of things you lose by switching to TFS:

  • When you install SVN, you are most likely installing TortoiseSVN or an equivalent, which has Windows Shell Extensions. Meaning you can commit and check out directly from Windows Explorer. TFS doesn't have this, and I haven't found a suitable program that mimics it yet.
  • SVN has better "difference" checks/editors. To get somewhat around this, you can actually change the Merge and Diff tools in TFS to those provided by TortoiseSVN, which are MUCH better. However I haven't found a way to set up UDiff (which I love for quick summary files).
Coordinator
Aug 2, 2010 at 4:42 PM
Jothay wrote:
  • When you install SVN, you are most likely installing TortoiseSVN or an equivalent, which has Windows Shell Extensions. Meaning you can commit and check out directly from Windows Explorer. TFS doesn't have this, and I haven't found a suitable program that mimics it yet.

It's obsolete in TFS; Visual Studio just checks out as necessary; and provides the check in functionality right in the IDE. There's no reason to want to do anything in explorer.

Developer
Aug 2, 2010 at 5:18 PM

I used to do most of the checkin/checkouts from explorer because it guaranteed that I was checking in for both Rawr2 & Rawr3 solutions. In VS, if you tried to check in for one it might not necessarily alert you to the fact that the other has changed files too. TFS does the same so you have to use the TFS Source Control Explorer to get updates and when checking in, hit the Refresh button to force it to check the other solutions' files for any changes.

Either way you can't just go to the VS Solution Explorer's solution root and tell it to check in or get latest because it may miss something for the other project.

Coordinator
Aug 2, 2010 at 8:10 PM
Err, yeah, it sounds like you have been (are?) doing it wrong, Jothay. You should be letting VS auto check out, using Source Control Explorer to check out anything not in a solution (default data files pretty much), and using the Pending Changes pane to check in. You should not be checking in/out via Solution Explorer, for exactly the reasons you describe.
Developer
Aug 2, 2010 at 8:26 PM
Edited Aug 2, 2010 at 8:29 PM

Right, but here's the scenario I have been (have are?) been running into:

I open Rawr.sln and Rawr3.sln side by side, each with their own VS2010 instance. I type in the password (haven't updated the stored creds since from server switch yet) into each and they connect. I then open a file in Hunter, say CalculationOptionsHunter.cs and begin to type something so it auto-checks out. Then in Rawr3, I open CalculationsHunter.cs and do the same, auto-checks out. Now I have a file checked out in each solution.

I bring up the Pending Changes viewer in both VS's, each one only sees the one file checked out UNTIL I hit Refresh, then it finds both in both.

That's all I was trying to say. The point of doing it in Windows Explorer meant I didn't have to remember to hit Refresh, it just found everything that needed to be committed.

Aug 3, 2010 at 1:38 PM
Is it possible for non-developers to get read-only access through tfs, or do we need to stick to just downloading the source .zip? I managed to get to the user-name/password prompt, but couldn't get past that (using tfs via VS 2008 on this machine, or using Tortise SVN).
Coordinator
Aug 3, 2010 at 4:50 PM

Nope, TFS access is dev only. Non-devs should stick to downloading the source.

Aug 6, 2010 at 8:58 PM
Edited Aug 6, 2010 at 8:59 PM

And I would assume that we can still use our regular SVN (Tortoise for example) to download the proper SVN source, and then just use our VS2010 in offline mode to compile etc....  ?

Coordinator
Aug 6, 2010 at 9:06 PM

Yes.