KiCad PCB EDA Suite
Loading...
Searching...
No Matches
KIGIT_PCB_MERGE Class Reference

#include <kigit_pcb_merge.h>

Public Member Functions

 KIGIT_PCB_MERGE (git_merge_driver_source *aSource, git_buf *aBuf)
 
virtual ~KIGIT_PCB_MERGE ()=default
 
int Merge ()
 
std::set< BOARD_ITEM * > & GetWeModifiedTheyDeleted ()
 
std::set< BOARD_ITEM * > & GetTheyModifiedWeDeleted ()
 
std::set< BOARD_ITEM * > & GetBothModified ()
 

Static Public Member Functions

static int Apply (const git_merge_driver_source *aSrc, const char **aPathOut, unsigned int *aModeOut, git_buf *aMergedOut)
 libgit2 merge-driver apply callback shim.
 

Protected Member Functions

KIGIT_PCB_MERGE_DIFFERENCES compareBoards (BOARD *aAncestor, BOARD *aOther)
 
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)
 

Private Attributes

git_merge_driver_source * m_mergeDriver
 
git_buf * m_result
 
std::set< BOARD_ITEM * > we_modified_they_deleted
 
std::set< BOARD_ITEM * > they_modified_we_deleted
 
std::set< BOARD_ITEM * > both_modified
 

Detailed Description

Definition at line 36 of file kigit_pcb_merge.h.

Constructor & Destructor Documentation

◆ KIGIT_PCB_MERGE()

KIGIT_PCB_MERGE::KIGIT_PCB_MERGE ( git_merge_driver_source * aSource,
git_buf * aBuf )
inline

Definition at line 39 of file kigit_pcb_merge.h.

References m_mergeDriver, and m_result.

◆ ~KIGIT_PCB_MERGE()

virtual KIGIT_PCB_MERGE::~KIGIT_PCB_MERGE ( )
virtualdefault

Member Function Documentation

◆ Apply()

int KIGIT_PCB_MERGE::Apply ( const git_merge_driver_source * aSrc,
const char ** aPathOut,
unsigned int * aModeOut,
git_buf * aMergedOut )
static

libgit2 merge-driver apply callback shim.

Trampoline used by the libgit2 merge-driver registry.

Registered with the driver registry under the name "kicad-pcb" so .gitattributes entries merge=kicad-pcb route here.

Constructs a KIGIT_PCB_MERGE, runs Merge(), and forwards the path/mode out of the libgit2 source struct.

Definition at line 220 of file kigit_pcb_merge.cpp.

References KIGIT::ApplyMergeDriver().

Referenced by PCB::IFACE::OnKifaceStart().

◆ compareBoards()

◆ findSetDifferences()

void KIGIT_PCB_MERGE::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 )
protected

Definition at line 35 of file kigit_pcb_merge.cpp.

References EDA_ITEM::m_Uuid.

Referenced by compareBoards().

◆ GetBothModified()

std::set< BOARD_ITEM * > & KIGIT_PCB_MERGE::GetBothModified ( )
inline

Definition at line 64 of file kigit_pcb_merge.h.

References both_modified.

◆ GetTheyModifiedWeDeleted()

std::set< BOARD_ITEM * > & KIGIT_PCB_MERGE::GetTheyModifiedWeDeleted ( )
inline

Definition at line 59 of file kigit_pcb_merge.h.

References they_modified_we_deleted.

◆ GetWeModifiedTheyDeleted()

std::set< BOARD_ITEM * > & KIGIT_PCB_MERGE::GetWeModifiedTheyDeleted ( )
inline

Definition at line 54 of file kigit_pcb_merge.h.

References we_modified_they_deleted.

◆ Merge()

Member Data Documentation

◆ both_modified

std::set<BOARD_ITEM*> KIGIT_PCB_MERGE::both_modified
private

Definition at line 82 of file kigit_pcb_merge.h.

Referenced by GetBothModified(), and Merge().

◆ m_mergeDriver

git_merge_driver_source* KIGIT_PCB_MERGE::m_mergeDriver
private

Definition at line 77 of file kigit_pcb_merge.h.

Referenced by KIGIT_PCB_MERGE(), and Merge().

◆ m_result

git_buf* KIGIT_PCB_MERGE::m_result
private

Definition at line 78 of file kigit_pcb_merge.h.

Referenced by KIGIT_PCB_MERGE(), and Merge().

◆ they_modified_we_deleted

std::set<BOARD_ITEM*> KIGIT_PCB_MERGE::they_modified_we_deleted
private

Definition at line 81 of file kigit_pcb_merge.h.

Referenced by GetTheyModifiedWeDeleted(), and Merge().

◆ we_modified_they_deleted

std::set<BOARD_ITEM*> KIGIT_PCB_MERGE::we_modified_they_deleted
private

Definition at line 80 of file kigit_pcb_merge.h.

Referenced by GetWeModifiedTheyDeleted(), and Merge().


The documentation for this class was generated from the following files: