title: VSTS git cherry picking and branch strategy
body: <p>In VSTS we use git cherry picking as recommended <a href="https://www.visualstudio.com/en-us/articles/git-branching-guidance#port-changes-back-to-the-master-branch" rel="nofollow noreferrer">here</a> to port changes back to the master branch. In short, we do exactly as recommended on that page (VSTS GUI does step 1 automatically as part of cherry picking):</p>
  
  <ol>
  <li>Create a new feature branch off the master branch to port the changes.</li>
  <li>Cherry-pick the changes from the release branch to your new feature branch.</li>
  <li>Merge the feature branch back into the master branch in a second pull request.</li>
  </ol>
  
  <p>With this process, we need to ensure that we haven't missed cherry picking anything back to master. All release branch changes are <em>supposed</em> to be cherry-picked back to master. However, that step has been forgotten on occasion (it's bound to happen with a manual process). So we cover the potential gap by manually comparing release branches to master as part of our development lifecycle.</p>
  
  <p><strong>The pain that we're feeling is that the branch comparison tools in the VSTS web app don't understand that a changeset in one branch has been cherry-picked back to another branch.</strong> As a result, it takes a good bit of time to understand whether anything is out of sync.</p>
  
  <p><strong>Is there a way of making the comparison tools understand that a changeset in one branch is the changeset that was cherry-picked to another branch?</strong></p>
  
  <p>Ideally, this process would be done in the same interface, but we're open to other options.</p>