jabr - v0.1.2
    Preparing search index...

    Module lib/stack

    The stack model: metadata storage (in local git config), the parent/child branch graph, and the restack algorithm that keeps descendants rebased onto their parents.

    A "stack" is a chain (or tree) of branches rooted at the trunk. Each tracked branch records two pieces of metadata in git config:

    • branch.<name>.jabrParent — the branch it is stacked on
    • branch.<name>.jabrBase — the parent tip SHA it was last based on

    The stored base is what makes restacking exact: git rebase --onto <new-parent-tip> <stored-base> <branch> replays only the branch's own commits onto the moved parent, never duplicating the parent's commits.

    Variables

    TRUNK_KEY

    Functions

    ancestors
    baseKey
    baseOf
    childrenOf
    configGet
    configSet
    configUnset
    detectTrunk
    isTracked
    parentKey
    parentOf
    restackBranch
    stackRoot
    trunk
    walk