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

libgit2 merge driver for .kicad_sch files. More...

#include <kigit_sch_merge.h>

Inheritance diagram for KIGIT_SCH_MERGE:
KIGIT_TRIVIAL_MERGE_BASE< KIGIT_SCH_MERGE >

Public Member Functions

 KIGIT_TRIVIAL_MERGE_BASE (git_merge_driver_source *aSource, git_buf *aBuf)
 
int Merge ()
 

Static Public Member Functions

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

Private Attributes

git_merge_driver_source * m_mergeDriver
 
git_buf * m_result
 

Detailed Description

libgit2 merge driver for .kicad_sch files.

Resolves the trivial 3-way cases inline and defers complex merges to the mergetool. Unlike PCB, schematics are page-structured: a single .kicad_sch is one page of a hierarchy, so a single-blob driver cannot synthesize the sheet-hierarchy context a structural merge needs. The mergetool recomputes the plan from ancestor/ours/theirs page-by-page; cross-page consequences (rename of a sub-sheet) flow through subsequent merges of the affected sheet pages. Registered as "kicad-sch".

Definition at line 41 of file kigit_sch_merge.h.

Member Function Documentation

◆ Apply()

static int KIGIT_TRIVIAL_MERGE_BASE< KIGIT_SCH_MERGE >::Apply ( const git_merge_driver_source * aSrc,
const char ** aPathOut,
unsigned int * aModeOut,
git_buf * aMergedOut )
inlinestaticinherited

Definition at line 63 of file kigit_trivial_merge_base.h.

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

◆ KIGIT_TRIVIAL_MERGE_BASE()

KIGIT_TRIVIAL_MERGE_BASE< DERIVED >::KIGIT_TRIVIAL_MERGE_BASE ( git_merge_driver_source * aSource,
git_buf * aBuf )
inline

Definition at line 40 of file kigit_trivial_merge_base.h.

◆ Merge()

int KIGIT_TRIVIAL_MERGE_BASE< KIGIT_SCH_MERGE >::Merge ( )
inlineinherited

Definition at line 45 of file kigit_trivial_merge_base.h.

Member Data Documentation

◆ m_mergeDriver

git_merge_driver_source* KIGIT_TRIVIAL_MERGE_BASE< KIGIT_SCH_MERGE >::m_mergeDriver
privateinherited

Definition at line 70 of file kigit_trivial_merge_base.h.

◆ m_result

git_buf* KIGIT_TRIVIAL_MERGE_BASE< KIGIT_SCH_MERGE >::m_result
privateinherited

Definition at line 71 of file kigit_trivial_merge_base.h.


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