title: Controlling manual alignment in 'Beyond Compare's 3-way merge
body: <p>When doing a 3-way merge in 'Beyond Compare', we can get the following misalignment due to code similarity (The X's are the deleted code segments, and only two files are shown):</p>
  
  <pre><code>/*                         XXXXXXXXXXXXXXXXX 
  somefunc()                 somefunc()   &lt;---2
  {                          {
  body                       body
  ...                        ... 
  }                          }
  */                         XXXXXXXXXXXXXXXXX 
  somefunc()   &lt;---1         XXXXXXXXXXXXXXXXX
  {                          XXXXXXXXXXXXXXXXX
  modified body              XXXXXXXXXXXXXXXXX  
  ...                        XXXXXXXXXXXXXXXXX
  }                          XXXXXXXXXXXXXXXXX
  ...next segment            ...next segment
  </code></pre>
  
  <p>The desired alignment is as follows:</p>
  
  <pre><code>/*                         XXXXXXXXXXXXXXXXX 
  somefunc()                 XXXXXXXXXXXXXXXXX  
  {                          XXXXXXXXXXXXXXXXX
  body                       XXXXXXXXXXXXXXXXX
  ...                        XXXXXXXXXXXXXXXXX
  }                          XXXXXXXXXXXXXXXXX
  */                         XXXXXXXXXXXXXXXXX 
  somefunc()                 somefunc()  
  {                          {           
  modified body              body
  ...                        ...    
  }                          }           
  ...next segment            ...next segment
  </code></pre>
  
  <p>So I do a manual alignment between position-2 and position-1, and what I actually get is:</p>
  
  <pre><code>/*                         XXXXXXXXXXXXXXXXX 
  somefunc()                 XXXXXXXXXXXXXXXXX  
  {                          XXXXXXXXXXXXXXXXX
  body                       XXXXXXXXXXXXXXXXX
  ...                        XXXXXXXXXXXXXXXXX
  }                          XXXXXXXXXXXXXXXXX
  */                         XXXXXXXXXXXXXXXXX 
  somefunc()                 somefunc()  
  XXXXXXXXXXXXXXXXX          {           
  XXXXXXXXXXXXXXXXX          body
  XXXXXXXXXXXXXXXXX          ...    
  XXXXXXXXXXXXXXXXX          }           
  {                          XXXXXXXXXXXXXXXXX                        
  modified body              XXXXXXXXXXXXXXXXX
  ...                        XXXXXXXXXXXXXXXXX
  }                          XXXXXXXXXXXXXXXXX
  ...next segment            ...next segment
  </code></pre>
  
  <p>So it manages to do the alignment on a single line, but then it shifts the rest of code down.</p>
  
  <p>How can we use manual alignment to get the desired outcome? Changing settings to modify alignment parameters doesn't achieve the desired outcome either. (Also note: body and modified body are very similar, so the match can't be missed)</p>
  
  <p>Their is a posting on their forum <a href="http://www.scootersoftware.com/vbulletin/showthread.php?t=7924">here</a> that mentions individual line by line alignment, but that would be very tedious for longer sections.</p>
  
  <p><strong>Edit:</strong>
  If said alignment is not possible in current version, is it then possible to disable the automatically synchronized scrolling of the input and output editor panes, so that unaligned code sections can be viewed by the user simultaneously. These sections would be unaligned by the program, but would be considered aligned from the user's point of view.</p>