Operations like "go up the stack", goes towards leaf. Hopefully unique.
"Down" the stack, uses a "conventional" linearisation
Stack reordering op ? auto adjust deps
+
+
+When merging, we need to DTRT with our metadata.
+So we do this by running write-tree/read-tree etc. ourselves.
+For a source we're merging from, we make a version where the
+metadata we shouldn't be merging is removed.
.tg <ref name not including refs/heads/>
(empty in base branches)
- props properties that apply to this patch, one per line
- in the format "<name>[ <value>]" (exactly one
- space) where value can contain spaces and
- a missing value is distinct from a missing property
- but value if present must be nonempty
- base has its own, perhaps different, set of props;
- Unknown props starting with [a-z] are ok;
- otherwise fatal. Currently defined props:
- patch <name> topbloke patch name (in tip and base)
- topgit <name> this is a topgit import (in tip and base)
- Deleted patch is deleted (in tip only, no value)
-
- Files which not inherit contents and changes from dependencies:
-
- included actual included deps, one per line
+ deleted exists (but empty) if branch is deleted
+ exist in tip only branch
+
+ patch- name of this topbloke patch (plus a newline)
+ exists in base and tip
+
+ topgit- name of the topgit branch that this was
+ imported from and which we should merge from
+ (plus a newline); exists in tip only
+
+ [^+]*- another property that applies to this patch;
+ if not known to this version of topbloke then it
+ is safe to:
+ - merge this file as text when merging
+ from base into base or tip into tip
+ - throw away this file when merging from
+ base into tip or from dep into base
+
+ Files which inherit contents and changes from dependencies
+ have names starting with "+":
+
+ +included actual included deps, one per line
format as for deps
- pprops properties that apply to this patch and all its
- dependencies (ie, properties that propagate)
- Unknown props starting with [a-z] are ok;
- otherwise fatal. No currently defined props.
+ +*- another property that is inherited; it is also
+ safe to:
+ - merge this file as text when merging
+ from tb deps into bases or bases into tips
<full-name> has the format: