跳到主要内容

readBranchEntries()

function readBranchEntries(executor, branchId): Promise<WorkingTreeEntry[]>;

Defined in: packages/rxdb-plugin-working-tree/src/working-tree/capture-runtime.ts:227

读一条分支当前全部未提交条目,按 id 升序

Parameters​

ParameterTypeDescription
executorTransactionExecutor调用方那个事务的执行器
branchIdstring要读的分支 id

Returns​

Promise<WorkingTreeEntry[]>

该分支上的全部未提交条目,id 升序

Remarks​

按 id 升序而不是让后端自由排:CommitChangeSet.sequence 按这个顺序密集发放, 而内容指纹又吃这个顺序。排序不定的话,同一批变更在两个后端上算出两个指纹, assertCommitGraphIntact() 会把其中一边整条链判成损坏。

与 readWorkingTreeStateRow 同一个导出理由:commit()(commit-command.ts)与 建分支时的条目复制(commit/branch-commit-rows.ts)读的是同一批行、同一个顺序。 各写一份的话,某一处哪天改了 orderBy,两条路径复制出的条目排列就此分家——而指纹吃这个 排列,分家的那天 assertCommitGraphIntact() 会把其中一边整条链判成损坏。