Tuesday, August 12, 2008

things that I do like in TFS

1. No shell integration. I do not understand why it is not a priority. I spend lots of time in Windows Explorer for adding, moving, deleting, and copying files. It is just impossible after I re-arrange a couple of folders and try to check-in the changes. No easy way to identify which files are added, moved, and deleted.

2. Bad integration with VS 2008. For example, it does not tell you if the file under the folder is modified until you expand the folder. Same apply for the project, you won't know if any file gets modified after you open/expand the project. It is not difficult thing to do, why it worked this way. No drag and drop support is another example. Lack of unified diff. I am not a mouse-clicker. I know I can get it from view pending change menu option. But what if I made 20 small changes to 20 files, I have to click through these 20 files to find out the changes I made.

3. No disconnect mode. I could not work offline, check-in the changes, and later synchronize with main server. Every operation needs to contact server. That explains why the performance is so slow and inconsistent via VPN. Sometimes it takes 15 seconds to open the property page of a project. It is extremely slow comparing VS 2008 without TFS installed. Luckly I have GIT installed on my local machine and used it keep intermediate changes and only update it when it is done.

I moved from SVN+TortoisesSVN+AnkhSVN, I felt the difference is day and night. In everyway, I felt the TFS is working against you not for you.

Things that so simple with SVN become impossible to do it or at least 10 times more difficult to do in TFS. Here is another example, I used a code generation tools that creates about 200+ .cs files which is part of the c# project. In SVN, every time I need to refresh the generated code, I just need to generate the code and refresh project by clicking the refresh icon under the Solution Explorer. Then I can then visually tell what files have changed since last check-out and I can do unified diff to find out all the updates. I do not think it is possible at all in TFS. What a shame!!!

No comments: