I have a question regarding source control in a general sense and specific to TFS.
Let's say you have a three-tier system (Development branches, QA main trunk and Production branch).
At a certain point, the changes from the dev branches are merged to the QA branch and the QA branch is tested. After the initial test, "feature A" is broken and needs to be fixed or removed, how should a feature be updated or removed from the QA branch? Should it be edited directly? or should the developer checks in the changes to dev and let it propagate up to QA again?
Any thoughts on this (in general)? Also if this is done in TFS is there any tools that can help out with this situation?