Team System doesn’t do enough client-side tracking
This is true. Team System doesn’t do ANY client-side tracking. It’s the primary architectural difference between Subversion and Team System. Subversion leaves a lot of .svn folder schmutz on the client drive, where it tracks the last version of each file. In Team System, you have to inform the server when you do things.
There is the TS PowerToy which can infer some things from client operations, however:
http://blogs.vertigosoftware.com/teamsystem/archive/2006/04/04/The_Team_Foundation_Power_Toy_and_Undo_Unchanged.aspx
your link mentions that you should avoid off-line renames which I’m guessing is due to this not being tracked client-side
The Subversion documentation has similar warnings, though. Here’s a direct quote from the online docs:
“While you can edit your files with whatever tool you like, you shouldn’t change the structure of your working copy without letting Subversion know what you’re doing. Use the svn copy, svn delete, and svn move commands to change the structure of your working copy, and use the svn add command to place new files and directories under version control.”
Subversion tracks changes at the directory level while VSTS only tracks per-file
VSTS tracks directory changes. Not sure what you mean here.
You can’t create a “simple” source-controlled folder in VSTS
I’m pretty sure you can do this with the command line tool, TF.exe
VSTS doesn’t let you merge between unrelated branches, only parent-child branches
Now this definitely isn’t true. You can do baseless merges.
http://blogs.vertigosoftware.com/teamsystem/archive/2006/07/13/3069.aspx
In my opinion, this is superior to what subversion does. It lets you “merge” anything, even totally unrelated folders!
doesn’t have blame
It’s in the power toy
http://blogs.msdn.com/buckh/archive/2006/03/13/annotate.aspx
Unlike Subversion, I’m guessing you can’t efficiently “switch” local files between branches, reusing the pre-existing client-side files, only transmitting and changing the diffs.
Sure you can-- you just switch workspaces.
I dunno, Oran. Half the items you list aren’t really problems, but signs of a new product that developers are still getting the hang of.
But you’re absolutely right that if you want to run roughshod over the filesystem without telling the server a darn thing, then Team System is definitely not the source control system for you.
I think Subversion is a fine source control system (particularly considering the price) but it has its share of architectural flaws, too. Tags, for instance, are totally a hack: they’re branches! You can check a change into a tag!