I have been using TFS at a client for
SCM. It is the worst SCM tool I have used so far. I thought there was
no parallel for ClearCase in how unproductive the tool can be, but
TFS has got ClearCase beat by miles. TFS has managed to be worse than
even CVS. Below I list my grievances about TFS. At the time of
writing this article I am using four different TFS interfaces to
manage the TFS’s stink.
TFS CLI
TFS Windows Explorer Integration
TFS GUI Client
TFS Eclipse plugin
No ignore option.
There is no inbuilt gui for ignoring
files from SCM. You are expected to edit .tpignore file. Well now, you carefully edit the .tpignore file like TFS respects you for being a human and guess what, TFS just made you the sucker because eclipse plugin decides whether or not to honor that file depending on what day of the week it is. The only interface that seems to honor this is the Visual Studio TFS client.
I wonder how and why large corporations
pay thousands of dollars for this crap and chose to go with vendor
lock in. In the age of GIT and HG, TFS has invented new lows.
No Detect Local Changes.
Other than eclipse none of the other
interfaces seem to have a detect local changes option.
Very Intrusive
IMO, a SCM tool is supposed to track
the changes in file contents and not the meta-data. On one hand I am
trying to escape the wrath of eclipse and on the other hand I have to
put up with the TFS crap.
I try to edit the files in netbeans and
so I have to remove the lock that TFS puts on the files, so I change
the permissions. I make a very minor change in a file and now I need
to commit the changes.
So I right click in Explorer only to
find there is no detect changes option. So I try the Get Latest
Changes button, nothing happens. TFS GUI Client seems to behave the
same way.
So, I start eclipse so I can commit the
changes, well guess what the almighty eclipse plugin does, it marks
all the files in the entire project as modified even the freaking jar
files. There goes my entire day trying to figure out which file was actually edited. Try explaining that to your lead and
business folks. What are you fucking molested as a child ? You dare say learn TFS way, I say trying to find workaround for TFS's short comings isn't a way, it is, by all means, hacking.
Why does TFS give a fuck which editor I
use to edit the files. Compare different versions of the files and
see if there are any differences in the files and mark as changed.
I have had multiple occasions when TFS silently overwrites the version on the server without telling me that there is a new version of the same file on the server.
Only work around to this is update the source code and build right before checkin.
More suckiness to come ......
Does not warn when there are file conflicts before checkin
I have had multiple occasions when TFS silently overwrites the version on the server without telling me that there is a new version of the same file on the server.
Only work around to this is update the source code and build right before checkin.
More suckiness to come ......