branch/work

Documentation

Everything about Branchwork, written to be read start to finish or dipped into.

What Branchwork is

Branchwork is a place to put code, review it with other people, and show it off when it is done. It is built at UNC Charlotte, and an account needs a university email address ending in charlotte.edu or uncc.edu.

It differs from the tools you have used before in two ways, and almost everything else in these docs follows from them.

One: work is stacked, not piled

Instead of one enormous branch that becomes one enormous pull request, you push a stack: a line of small changes, each sitting on top of the one before it. Each change is reviewed on its own. A change cannot merge until everything below it has merged, and Branchwork enforces that rather than trusting you to remember.

Two: a review remembers what it covered

When you review a change, Branchwork records exactly which revision you looked at. When the author pushes a fix and you come back, you are shown only what landed since then. Your old review is marked stale rather than being quietly treated as approval of code nobody read.

Where to go next

  • Getting started - sign in, make your first stack, get something reviewed. Start here if you have never used it.
  • Stacks and changes - the model, in detail, including what a revision is and why merging is ordered.
  • Reviewing code - notes, verdicts, stale reviews, and the incremental diff.
  • Groups - working with other people, roles, and featuring work.
  • Profiles and pages - the public side, and what a recruiter sees.
  • Search - the query syntax, which is mercifully small.
  • The bw tool - every command, with examples.
  • The API - if you want to build something of your own.
  • Your account - devices, tokens, deletion.

Words you will see

  • Stack - an ordered line of changes, belonging to one repository.
  • Change - one small unit of work, roughly one commit. It names the change it sits on top of.
  • Revision - one push to a change, numbered r1, r2, r3. Nothing is ever overwritten.
  • Review - a verdict plus notes, covering a specific range of revisions.
  • Note - a comment on one line of one file, which can be resolved.
  • Group - a set of stacks and the people who work on them.
Something unclear or wrong here? Tell us - that is a bug in the docs, and we treat it like one.