KiCad PCB EDA Suite
Loading...
Searching...
No Matches
kicad_merge_engine.h File Reference
#include <kicommon.h>
#include <diff_merge/kicad_diff_types.h>
#include <nlohmann/json_fwd.hpp>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  KICAD_DIFF::PROPERTY_RESOLUTION
 
struct  KICAD_DIFF::ITEM_RESOLUTION
 
struct  KICAD_DIFF::MERGE_PLAN
 Result of planning a 3-way merge. More...
 
class  KICAD_DIFF::KICAD_MERGE_ENGINE
 Three-way merge plan generator. More...
 
struct  KICAD_DIFF::KICAD_MERGE_ENGINE::OPTIONS
 
struct  KICAD_DIFF::PROPERTY_RESOLUTION_OUTCOME
 Per-property merge decision result. More...
 

Namespaces

namespace  KICAD_DIFF
 

Enumerations

enum class  KICAD_DIFF::PROP_RES { KICAD_DIFF::OURS , KICAD_DIFF::THEIRS , KICAD_DIFF::ANCESTOR , KICAD_DIFF::CUSTOM }
 Resolution kind for a single property of a single item. More...
 
enum class  KICAD_DIFF::ITEM_RES {
  KICAD_DIFF::TAKE_OURS , KICAD_DIFF::TAKE_THEIRS , KICAD_DIFF::TAKE_ANCESTOR , KICAD_DIFF::MERGE_PROPS ,
  KICAD_DIFF::DELETE_ITEM , KICAD_DIFF::KEEP
}
 Resolution kind for a whole item. More...
 

Functions

const char * KICAD_DIFF::ItemResToString (ITEM_RES aRes)
 Canonical snake_case spellings used in MERGE_PLAN JSON serialization (take_ours / take_theirs / take_ancestor / merge_props / delete / keep).
 
ITEM_RES KICAD_DIFF::ItemResFromString (const std::string &aStr)
 
const char * KICAD_DIFF::PropResToString (PROP_RES aRes)
 Canonical lower-case spellings for PROP_RES used inside the JSON serialization of PROPERTY_RESOLUTION (ours / theirs / ancestor / custom).
 
PROP_RES KICAD_DIFF::PropResFromString (const std::string &aStr)
 
PROPERTY_RESOLUTION_OUTCOME KICAD_DIFF::ResolvePropertyConflict (const PROPERTY_DELTA *aOurs, const PROPERTY_DELTA *aTheirs, const KICAD_MERGE_ENGINE::OPTIONS &aOptions)
 Decide how to resolve a single property edit between two sides.