:hammer: Refactoring
* :recycle: [filesystems] Refactor tests for `GitFilesystem` (410) cjolowicz
* :recycle: [util] Rename attribute `git.Repository.branches` to `git.Repository.heads` (409) cjolowicz
* :recycle: [services] Remove `CHERRY_PICK_HEAD` when running `cutty update --continue` (408) cjolowicz
* :recycle: [services] Add function `git.Repository.resetcherrypick` to replace `resetmerge` (407) cjolowicz
* :recycle: [services] Use `CHERRY_PICK_HEAD` in `cutty update --continue` (406) cjolowicz
* :sparkles: [util] Add attribute `git.Repository.cherrypickhead` (405) cjolowicz
* :recycle: [util] Read index from disk in `git.Repository.cherrypick` (404) cjolowicz
* :recycle: [util] Raise `MergeConflictError` in `git.Repository.cherrypick` (403) cjolowicz
* :recycle: [util] Preserve commit message and author in `git.Repository.cherrypick` (400) cjolowicz
* :sparkles: [util] Replace parameter `signature` with `author` and `committer` in `git.Repository.commit` (399) cjolowicz
* :sparkles: [util] Improve error handling in `git.Repository.head` when HEAD is detached (398) cjolowicz
* :fire: [filestorage] Remove unused constants `UPDATE_BRANCH_REF` and `LATEST_BRANCH_REF` (397) cjolowicz
* :recycle: [util] Move function `git.Branches.branch` to `git.Repository.branch` (396) cjolowicz
* :recycle: [util] Move function `git.Branches.head` to `git.Repository.head` (395) cjolowicz
* :fire: [util] Remove attribute `git.Repository.references` (394) cjolowicz
* :recycle: [util] Remove attribute `git.Repository.index` (393) cjolowicz
* :recycle: [util] Remove duplication in tests for `git.Branches` (392) cjolowicz
* :recycle: [util] Remove attribute `git.Repository.head` (391) cjolowicz
* :recycle: [util] Change `git.Repository.worktree` to use `git.Branch` (390) cjolowicz
* :recycle: [util] Change `git.Repository.cherrypick` to use `pygit2.Commit` (389) cjolowicz
* :recycle: Remove functions `git.Repository.{create,update}branch` and change `git.Repository.checkout` take `git.Branch` (387) cjolowicz
* :recycle: Encapsulate branches as `git.Branch` and add `git.Branches.{create,head,branch}` (385) cjolowicz
* :recycle: Encapsulate `git.Repository.branches` as `collections.abc.MutableMapping` (384) cjolowicz
* :recycle: Extract function `git.Repository.fetch` (383) cjolowicz
* :recycle: [util] Add attribute `git.Repository.path` (378) cjolowicz
* :recycle: Move `default_signature` and `checkoutemptytree` to `git.Repository` (382) cjolowicz
* :recycle: Hide delegate `git.Repository.repository` to encapsulate pygit2 (381) cjolowicz
* :recycle: Change `pygit2.Repository` variables to `git.Repository` (380) cjolowicz
* :recycle: [tests] Change fixture `repository` to return `git.Repository` (379) cjolowicz
* :recycle: [util] Move function `resetmerge` to `git.Repository` (377) cjolowicz
* :recycle: [util] Move function `updatebranch` to `git.Repository` (376) cjolowicz
* :recycle: [util] Move function `createbranch` to `git.Repository` (375) cjolowicz
* :recycle: [util] Move function `cherrypick` to `git.Repository` (374) cjolowicz
* :recycle: [util] Move function `createworktree` to `git.Repository` (373) cjolowicz
* :recycle: [util] Move function `commit` to `git.Repository` (372) cjolowicz
* :recycle: [util] Move factory functions to `git.Repository` (371) cjolowicz
* :recycle: [util] Extract factory functions for `pygit2.Repository` (370) cjolowicz
* :recycle: [util] Pass `pygit2.Repository` to git test utilities instead of `Path` (369) cjolowicz
* :recycle: [util] Use an empty message by default in `commit` (368) cjolowicz
* :recycle: [tests] Use `git.util.createbranch` in tests (367) cjolowicz
* :recycle: [util] Generalize `util.git.createbranch` to refs and oids (366) cjolowicz
* :recycle: [util] Remove unused fixtures in tests for `util.git` (365) cjolowicz
* :recycle: [util] Pass `pygit2.Repository` to git utilities instead of `Path` (363) cjolowicz
* :recycle: [tests] Move git-related fixtures to pytest plugin `tests.fixtures.git` (361) cjolowicz
* :recycle: [util] Refactor `util.git` tests (360) cjolowicz
* :recycle: [util] Move git utilities from `services` and `filestorage` to `util.git` (359) cjolowicz
* :recycle: [functional] Refactor update tests (358) cjolowicz
* :recycle: [services] Refactor update tests (357) cjolowicz
:construction_worker: Continuous Integration
* :wrench: [safety] Ignore 41002 (MD5 hashes in coverage < 6.0b1) (388) cjolowicz
:package: Dependencies
* ⬆️ Bump virtualenv from 20.6.0 to 20.7.0 in /.github/workflows (402) dependabot
* ⬆️ Bump pip from 21.2.1 to 21.2.2 in /.github/workflows (401) dependabot
* ⬆️ Bump platformdirs from 2.1.0 to 2.2.0 (362) dependabot
</details>