TFS code review should not require a new code review to be started when code that is already under review is changed based on review comment
It seems that TFS requires a new code review to be started whenever code that is already under review is updated in response to review comments. It is not only unnecessary busy work for a developer to initiate a new review each time a review comment would suggest a change to the code that is already under review is necessary, but it also prevents having a single picture of changes made as a result of the review process.
With the current method, a single logical code review may span multiple physical code reviews and the comments for the single logical review are fragmented across several physical reviews.
Brian Harry indicated that this is something that is being worked on for TFVC now that Git has better support for iterative code reviews (see comments on his blog post here: http://blogs.msdn.com/b/bharry/archive/2014/09/03/vs-amp-tfs-2013-update-4-ctp-1-is-available.aspx )
That being the case, can this suggestion please be updated to indicate it has been approved?
Shane Yu commented
As I see it, Code Collaborator (a 3rd part tool) only implements this one feature above a TFS code review, as a result we have been forced to use this 3rd party tool.
The tool is **** and slow, I hate it. TFS rocks, but without this feature we will never be able to properly use TFS.
Get it implemented ASAP!!!!
Matt Slagle commented
I wish this was allowed. Seems many open source and free alternatives already offer this capability. Currently, code reviews seem second class when they should be first class citizens.
Should this be moved to the TFS user voice?
I see at least one suggestion over there that is the same as this: http://tfs.uservoice.com/forums/68845-team-foundation-server-ideas-and-feedback/suggestions/3745137-ability-to-re-review-code
Definitely needed if anyone is considering this as a viable code review mechanism.
A Microsoft contact we worked with did give us one work-around that may be useful for some in the interim:
1. Create a shelveset (note the name).
2. Create a review from the shelveset.
3. Incorporate suggested changes.
4. Create a new shelveset with the same name as in step 1.
5. You will be prompted to overwrite the existing shelveset...go ahead.
6. Make a general comment on the review so reviewers get a notification that you incorporated their changes.
7. Now, users will see your new changes.
The major downside is that you lose the full breadth of the code review as the diffs are only going to show the original and latest version in the code review. Also, the comments may not line up correctly with new changes.
Brian Baker commented
Is anyone from Microsoft watching this one, now that David Starr has left?
Absolutely agree. The current method actually discourages the requester from implementing some or all of the fixes recommended by other developers, or at the very least, it discourages the re-validation of any changes to the code. It can be difficult to track which physical review is the current one, and sometimes near impossible to track a dialog over multiple changes and reviews.
The tool is quite useful due to its ability to review changes with many developers, especially for my team, as we are geographically separated. But an enhancement to modify code in the existing review is greatly needed.
We are using the tool and like it, but would like to be able to respond to a code review with new code and comments.
At the moment we basically close the review and start a new one (as others have said) I would like to be able to do the code review and then make changes to the code and have them attached to the same review. We should be able to see the alternatives side by side. and we should be able to navigate forwards and backwards through the changes.
David Burg commented
Adoption of the VS out of the box code review compared to CodeFlow is difficult when VS' experience just does match the productivity boosting abilities of CodeFlow such as this key capability to do incremental code reviews.
Dustyn Blasig commented
This is a huge hindrance to large feature submissions as these changes tend to require several iterations of review and being able to track comments across changes and check them off as implemented is imperative to ensure quality code. Other products do this well, I'm sure VS can pull it off.
The key features we need are tracking of changes through common operations including not only standard in-file edits but also tracking changes through file renames and merges.
Mark Plowman commented
Totally agree. The current behaviour is just not useable - looking at third party tools as an alternative as have used Code Collaborator extensivley in the past.
David Starr commented
I 100% agree. I am the recently assigned PM for Code Review. We will be taking a very hard look at the feature in the next few months. Thank you for your thoughts on the feature.
As a reviewer, I need to see my previous code review comments when a code fix come from, to confirm is my requests are really done.
The current workflow is useless and super frustrating. I should be able to update the review and shelve-set. Maybe use revision control on the shelveset. Each review could have multiple shelvesets, with comments linked to each, but displayed in line with whatever the current version of the code is. As it stands I can make changes, then request a new review, which forces my reviewer to reparse the whole change.