Issues and pull requests
Issues and pull requests
Issues as rows, references, pull requests across two logs, merging, pull refs, reviews and the timeline.
Prerequisite: Storage. The merging and pull refs lessons are where storage rules matter most outside a push.
Issues
Rows, not branches. Six tables, numbering without locks, and a timeline that only grows.
References and closing keywords
#123, owner/repo#5, @user, @org/team, and fixes #12 in a commit message.
Pull requests across two logs
A pull request is a row naming two (repository, branch) pairs. Reading one lends objects between caches instead of copying them.
Merging
Merge, squash and rebase, all built in the base cache and landed through commitPush, and the one shortcut that would corrupt a log.
refs/pull/N/head and /merge
GitHub-compatible pull request refs, kept in the base log by a background sync.
Reviews and suggestions
Reviews pinned to the head they read, threads hanging off line comments, and suggestions applied as commits.
Commits on the timeline
Why a pull request's commits are rows written as each push lands, not read from git.