TvT imo is a really gay matchup because there are so many varieties. For example, some starts include the proxy rax rine rush, vulture rush, goliath rush, 1 fac 1 port expo, 2 fac tanks and fast contain, 2 port wraiths, etc..etc...
i find the best thing to do against any start is to go 2 fac 1 addon, mine upgrade and 2-4 vultures. Try to get into their base early and lay mines near factories, and kill couple of scv. If you successfully get in, keep sending vultures, and it will eventually be GG cause u got mines at his factories.
If you can't get in, switch to tanks and get an expo and e-bay. Be sure to have tanks protecting main and cliff above expo in case of drops. From there, try to contain him and build turrets around the map. TvT in general, there is a lot of unspent minerals, so just use it to build turrets. The turrets not only serves as a scout, but can also shoot down dropships or wraiths flying around the map.
After succesfuly containing him, take some more expos, and end the game with a superdrop, or get 7 or 8 bc's. If you didn't contain him, don't let him contain you, just keep the middle and it will be a stalemate, both of you will be free to expo their own sides of the map. Make sure you are defended well because the opponent can super drop you and take over your expos. you can't afford to lose a geyser in this matchup.
Late game TvT is where it gets very gay. Usually, it is tanks&BC vs tanks&BC. One person counters that by going massive BC, the other counters it back by going massive goliaths, then the other guy goes massive tanks and bc, and the cycle repeats itself. It is usually very frustrating because you can't pass the enemy's defense. So basically, the person with better micro and macro will win the late game TvT.