PDA

View Full Version : Any TFS experts



SimonMac
30th November 2015, 11:33
Need a quick refresher on TFS, specifically around Branching and Merging code, anyone know any good online references?

DimPrawn
30th November 2015, 12:04
:uofftopic

So easy with Git with it being a DVCS rather than centralised, if you have the opportunity to switch, do it.

d000hg
30th November 2015, 12:17
TFS is in some ways very nice, but I do dislike its branching and merging implementation - that every branch has to be stored separately in your working copy for instance.

That said, I find it less of a PITA to get to grips with than Git/Hg. Did you have any specific questions?

SimonMac
30th November 2015, 12:23
Potential client has TFS, can't change it, need someone to get to grips with their source code repository before moving onto change, release and implementation (where my expertise is).

Administered TFS a few years back but was a single stream of work so need to know the fundamentals of branching and merging

woohoo
30th November 2015, 15:17
Need a quick refresher on TFS, specifically around Branching and Merging code, anyone know any good online references?

Regarding branching/merging strategy this may help give you an idea of the options. I've used some of their stuff when setting up a strategy for merging/branching.

Version Control Guide (ex-Branching & Merging) - Downloads (http://vsarbranchingguide.codeplex.com/releases)

A common approach is to have a dev, main and release(s) branches.

Work in dev, then merge to main. Dev is deployed to your dev area, main is deployed to your test area.

People can continue to develop in the dev branch whilst main is left alone and is ready for proper testing.

When you are happy you can then deploy to production from main and create a release branch. Hotfixes are made in your release branch and merged down to main/dev. Some clients have staging areas others use the test area as staging.

A good tool for merging is Beyond Compare. (http://www.scootersoftware.com/) I recommend this tool!
A good guide for integrating it with Visual Studio. (http://stackoverflow.com/questions/4466238/how-to-configure-visual-studio-to-use-beyond-compare).

I've recommended Pluralsight before but I've not used any of their TFS vids. Check em out. (https://app.pluralsight.com/library/search?i=1&q1=course&x1=categories&q=tfs%2520branching)

SimonMac
30th November 2015, 21:41
Regarding branching/merging strategy this may help give you an idea of the options. I've used some of their stuff when setting up a strategy for merging/branching.

Version Control Guide (ex-Branching & Merging) - Downloads (http://vsarbranchingguide.codeplex.com/releases)

A common approach is to have a dev, main and release(s) branches.

Work in dev, then merge to main. Dev is deployed to your dev area, main is deployed to your test area.

People can continue to develop in the dev branch whilst main is left alone and is ready for proper testing.

When you are happy you can then deploy to production from main and create a release branch. Hotfixes are made in your release branch and merged down to main/dev. Some clients have staging areas others use the test area as staging.

A good tool for merging is Beyond Compare. (http://www.scootersoftware.com/) I recommend this tool!
A good guide for integrating it with Visual Studio. (http://stackoverflow.com/questions/4466238/how-to-configure-visual-studio-to-use-beyond-compare).

I've recommended Pluralsight before but I've not used any of their TFS vids. Check em out. (https://app.pluralsight.com/library/search?i=1&q1=course&x1=categories&q=tfs%2520branching)

Cheers fella, looks good, just what I need to refresh the memory

d000hg
30th November 2015, 22:41
I think my client uses something similar to the Github branching methodology, which is fairly simple (release branch(es), dev branch, feature branches).

The simpler dev/main/release setup can also work just fine depending on how big and active the project is. You want people able to commit their work so it doesn't get lost, without the annoyance of half-done work breaking the build, so for me larger tasks suit a feature-branch well.