38                                          std::vector<BOARD_ITEM*>& aAdded, std::vector<BOARD_ITEM*>& aRemoved,
 
   39                                          std::vector<BOARD_ITEM*>& aChanged )
 
   41    auto it1 = aAncestorSet.begin();
 
   42    auto it2 = aOtherSet.begin();
 
   44    while( it1 != aAncestorSet.end() && it2 != aOtherSet.end() )
 
   51            aRemoved.push_back( item1 );
 
   56            aAdded.push_back( item2 );
 
   61            if( !( *item1 == *item2 ) )
 
   62                aChanged.push_back( item1 );
 
 
   86    auto repo = 
const_cast<git_repository*
>( git_merge_driver_source_repo( 
m_mergeDriver ) );
 
   87    const git_index_entry* ancestor = git_merge_driver_source_ancestor( 
m_mergeDriver );
 
   88    const git_index_entry* ours = git_merge_driver_source_ours( 
m_mergeDriver );
 
   89    const git_index_entry* theirs = git_merge_driver_source_theirs( 
m_mergeDriver );
 
   93    git_blob* ancestor_blob;
 
   95    git_blob* theirs_blob;
 
   97    if( git_blob_lookup( &ancestor_blob, repo, &ancestor->id ) != 0 )
 
  100        return GIT_ENOTFOUND;
 
  105    if( git_blob_lookup( &ours_blob, repo, &ours->id ) != 0 )
 
  108        return GIT_ENOTFOUND;
 
  113    if( git_blob_lookup( &theirs_blob, repo, &theirs->id ) != 0 )
 
  116        return GIT_ENOTFOUND;
 
  129    std::unique_ptr<BOARD> ancestor_board;
 
  130    std::unique_ptr<BOARD> ours_board;
 
  131    std::unique_ptr<BOARD> theirs_board;
 
  135        ancestor_board.reset( 
static_cast<BOARD*
>( ancestor_parser.
Parse() ) );
 
  136        ours_board.reset( 
static_cast<BOARD*
>( ours_parser.
Parse() ) );
 
  137        theirs_board.reset( 
static_cast<BOARD*
>( theirs_parser.
Parse() ) );
 
  141        wxLogTrace( 
traceGit, 
"Could not parse board: %s", e.
What() );
 
  146        wxLogTrace( 
traceGit, 
"Could not parse board: unknown error" );
 
  155    std::set_intersection( ancestor_ours_differences.
m_changed.begin(), ancestor_ours_differences.
m_changed.end(),
 
  156                           ancestor_theirs_differences.
m_removed.begin(), ancestor_theirs_differences.
m_removed.end(),
 
  160    std::set_intersection( ancestor_theirs_differences.
m_changed.begin(), ancestor_theirs_differences.
m_changed.end(),
 
  161                           ancestor_ours_differences.
m_removed.begin(), ancestor_ours_differences.
m_removed.end(),
 
  165    std::set_intersection( ancestor_ours_differences.
m_changed.begin(), ancestor_ours_differences.
m_changed.end(),
 
  166                           ancestor_theirs_differences.
m_changed.begin(), ancestor_theirs_differences.
m_changed.end(),
 
 
void findSetDifferences(const BOARD_ITEM_SET &aAncestorSet, const BOARD_ITEM_SET &aOtherSet, std::vector< BOARD_ITEM * > &aAdded, std::vector< BOARD_ITEM * > &aRemoved, std::vector< BOARD_ITEM * > &aChanged)