title: Forcing a TFS API merge to use the source branch and ignore all conflicts
body: <p>I have a piece of C# code that automates some TFS server (12.0.31101.0 Tfs2013.Update4)  version control actions.
  One of these is the merge from BranchA to BranchB.
  I want BranchA to be used as the “truth” and all conflicts can be solved by using the latest version in BranchA.</p>
  
  <p>Currently my merge looks like this: </p>
  
  <pre><code>GetStatus status = workspace.Merge(sourceBranch,
     destinationBranch,
     versionSpec,
     null,
     LockLevel.None,
     RecursionType.Full,
     MergeOptions.None);
  </code></pre>
  
  <p>I then pick up the  status.NumConflicts from the status object. </p>
  
  <pre><code>if (workspace.GetPendingChanges().Length &gt; 0)
  {
     if (conflictsFound)
     {
        ConsoleHelper.WriteLine(numberOfConflicts + " merge conflicts found! Conflicts will be resolved by using the source branch.", ConsoleColor.Cyan);
        Conflict[] objConflicts = workspace.QueryConflicts(new string[] { destinationBranch }, true);
  
        foreach (Conflict objConflict in objConflicts)
        {
           objConflict.Resolution = Resolution.AcceptTheirs;    //This will force the take source option
           workspace.ResolveConflict(objConflict);
           ConsoleHelper.WriteLine("File : " + objConflict.YourServerItemSource, ConsoleColor.Gray);
        }
           ConsoleHelper.WriteLine("All merge conflicts encountered were resolved.", ConsoleColor.Green);
     }
     TFSCommit tfsCommit = new TFSCommit();
     checkinStatus = tfsCommit.CheckIn(workspace, workItem, out checkinChangeSet);
  }
  </code></pre>
  
  <p>I then loop through the Conflicts object and make use of the  <code>Resolution.AcceptTheirs</code> option.
  In the test environment this worked fine, but I now bump into a TF14121:</p>
  
  <p>Failure Code : </p>
  
  <blockquote>
    <p>MergeEditDeleteException | Message  : <strong>TF14121</strong>: The changes previously made to $/Development/Dictionaries/FileA.dict that have not been merged will be discarded by merging the deletion of $/Development/Dictionaries/FileA.dict.</p>
  </blockquote>
  
  <p>I am trying to find a way to tell the API to “ignore” conflicts and use BranchA as source.</p>
  
  <p>Is there a solution to this?</p>