unison-codebase-0.0.0
Safe HaskellSafe-Inferred
LanguageGHC2021

U.Codebase.BranchV3

Description

V3 branches and causals.

Synopsis

Documentation

data BranchV3 m Source #

A V3 branch is a trimmed-down V2 branch:

  • Names can't be conflicted.
  • Metadata doesn't exist.
  • Patches don't exist.

Instances

Instances details
Generic (BranchV3 m) Source # 
Instance details

Defined in U.Codebase.BranchV3

Associated Types

type Rep (BranchV3 m) :: Type -> Type #

Methods

from :: BranchV3 m -> Rep (BranchV3 m) x #

to :: Rep (BranchV3 m) x -> BranchV3 m #

type Rep (BranchV3 m) Source # 
Instance details

Defined in U.Codebase.BranchV3

type Rep (BranchV3 m) = D1 ('MetaData "BranchV3" "U.Codebase.BranchV3" "unison-codebase-0.0.0-AFzt1HmKDX512erVMwvK3i" 'False) (C1 ('MetaCons "BranchV3" 'PrefixI 'True) (S1 ('MetaSel ('Just "children") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NameSegment (CausalBranchV3 m))) :*: (S1 ('MetaSel ('Just "terms") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NameSegment Referent)) :*: S1 ('MetaSel ('Just "types") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NameSegment TypeReference)))))

type CausalBranchV3 m = Causal m CausalHash BranchHash (Branch m) (BranchV3 m) Source #

A V3 branch's history has V3 branches everywhere at the latest causal (so, no metadata, no patches, etc. in any children namespaces), but when we go back in history, we find V2 branches, because that's what we used to have ;)