views:

175

answers:

2

I use TFS 2008 for source control with Visual Studio 2008 at my office.

I have previously used Subversion (and even source safe) and found it much easier to find information than using the panel "Source Control Explorer" inside visual studio.

Are there any better designed alternatives to be able to do my common source control tasks?

By common, here is my general definition:

  • Find changes made to a file, who made them and what part (including branches that the change was part of)

  • Find files changed between 2 changesets

  • Find branch hierarchy and changesets between branches
  • Find if there have been any changes to my file since my last get latest version
+2  A: 

You can use TFS SVN Bridge, and then get back to SVN style.

http://www.codeplex.com/SvnBridge

Lex Li
@Lex, SvnBridge is a very handy tool indeed. However I have found it is difficult to get it rolled out into a business environment because "if you are going to use svn bridge, why didnt you just use Subversion?" Plus I have found little issues with some strange scenarios.
Russell
TFS is much more than source code management, as you can do much more. Tasks, documentation, and many other features make TFS unique. The only thing I am missing is TortoiseTFS.
Lex Li
Agreed. There are great integration tools (eg sharepoint reports on work items etc), but source control querying/navigating for developers? not there yet.
Russell
A: 

Find changes made to a file, who made them

You can install the TFS 2008 Power Tools which give you Windows Explorer integration for your Workspaces (local working folders). Here you can click on a Windows folder or file and View History. Latest version: http://msdn.microsoft.com/en-us/teamsystem/bb980963.aspx

...and what part (including branches that the change was part of) Understanding what branches a changeset moved to is not available in TFS 2008. This is basically following the merge path of a changeset and will be (is) available in TFS 2010. That said, there is the Annotate ("blame window") available via Windows Explorer right click in TFS power tools and Visual Studio via Solution Explorer or Source Control Explorer. Annotate window will show you where individual blocks in a file came from - aka which changeset and by whom.

Find files changed between 2 changesets

Not sure this I understand what you mean here. You can look at the changes included in a changeset (and between the revisions of files in that changeset), but seeing the files changed "between" 2 changesets doesn't really make much sense in my mind. Maybe you could describe this one a little more in depth.

Find branch hierarchy and changesets between branches

Branch visualization and Changeset visualization through that branch hierarchy is available in TFS 2010. Unfortunately, the story in TFS 2008 is left to convention. You can see where 1 particular branch comes from by right clicking it and selecting merge. The target of the merge will default to the source of the original branch.

Find if there have been any changes to my file since my last get latest version

Definitely. This is one thing that most don't understand about TFS and for good reason - it's kinda done for you in simple scenarios. You may notice that the Compare button is generally a "split button". That's because TFS tracks which version of a file you had when you started editing. "Compare to Workspace Version" will compare your local changes with the version you had when you started making those changes. "Compare to Latest" will compare to the latest version of that file (in the branch you're working in).

Ryan Cromwell
Thanks for the detailed info @Ryan, the explorer plugin is great. I did mean just comparing the changes from a changeset, I wrote it incorrectly sorry to cause confusion. I look forward to the visualisation of the new TFS :)
Russell
From your site, how did the "Source Control Smackdown 2009" go?
Russell
It went well. Both "competitors" are great guys and passionate. Git is obviously the hot player right now, but the user story for git is terrible. Learning curve is terribly steep. There are some great extended features in Git that make it quite nice, but the most powerful features or paradigms of Git are available in SVN and TFS (among others). The greatest productivity gain you can achieve from a source control system is to begin considering branches disposable.
Ryan Cromwell