~gitpocket/gitpocket

1

docs(readme): tighten the wording

commit
b2d422c9d104bb7bfce4fb06ef809146a8299551 browse tree
parent
ddd4238b49f3d3ec5dde978b5e097024677e99ee
author
obscurejames <354576047+obscurejames@users.noreply.github.com>
signature
Verified ~james signed with a key registered by ~james
date
2026-11-02 19:37 UTC

1 files changed, +10 −10

README.md modified

@@ -1,6 +1,6 @@
11 # gitpocket
22
3-gitpocket is a self hosted git server in one static Go binary, serving repositories over SSH and HTTPS with a web interface rendered on the server. It idles at about 25 MB resident, so it fits comfortably on a 512 MB VPS next to the git processes it starts.
3+gitpocket is a self hosted git server in one static Go binary that serves repositories over SSH and HTTPS with a web interface rendered on the server. It idles at about 25 MB resident so it fits comfortably on a 512 MB VPS next to the git processes it starts.
44
55 ## Quick start
66
@@ -11,26 +11,26 @@ printf 'GITPOCKET_HOST=git.example.org\nGITPOCKET_UID=%s\nGITPOCKET_GID=%s\n' $(
1111 docker compose -f deploy/compose.yaml up -d
1212 ```
1313
14-The web interface is then on `127.0.0.1:3200` and wants a reverse proxy with TLS in front of it. Sign up, then make yourself an administrator with `docker exec gitpocket gitpocket admin you`. [INSTALL.md](INSTALL.md) covers the Docker and binary installs, nginx, SSH, mail, backups and upgrades in order.
14+The web interface is then on `127.0.0.1:3200` and wants a reverse proxy with TLS in front of it. Sign up and then make yourself an administrator with `docker exec gitpocket gitpocket admin you`. [INSTALL.md](INSTALL.md) covers the Docker and binary installs, nginx, SSH, mail, backups and upgrades in order.
1515
1616 ## Features
1717
1818 - Public, unlisted and private repositories under `~user/name`, with tree, log, blame, compare, history search and tar.gz or zip downloads of any ref
19-- Branches, a branch switcher on every file view and a notice when a branch with new commits was pushed, linking straight to a new pull request
20-- Pull requests from a branch or a fork with inline review, range diffs between force pushes, and merge, squash or rebase without a working tree
19+- Branches, a branch switcher on every file view and a notice when a branch with new commits was pushed that links straight to a new pull request
20+- Pull requests from a branch or a fork with inline review, range diffs between force pushes and merge, squash or rebase without a working tree
2121 - Organisations, collaborators, issues, labels, stars, forks, branch protection and per owner disk quotas enforced during the push
2222 - Profiles with a pinned repository list, an activity graph and a README from your `~you/you` repository
2323 - SSH and PGP commit verification, TOTP, access tokens and Atom feeds for commits, issues and pull requests
2424 - Site search over repositories and people with language facets
2525 - Open, invite only or closed registration and an `/admin` page for accounts, invites, the front page and storage
2626
27-There is no wiki and no CI, and neither is planned.
27+There is no wiki and no CI and neither is planned.
2828
2929 ## Design
3030
31-Every read of git data calls the plumbing with a thirty second timeout, so a large repository costs exactly what git says it costs and nothing is parsed out of packfiles in process. Ref tables, trees, summaries and languages are cached against the mtime of the refs, which means one `stat` after a push invalidates them and deleting the cache loses nothing.
31+Every read of git data calls the plumbing with a thirty second timeout so a large repository costs exactly what git says it costs and nothing is parsed out of packfiles in process. Ref tables, trees, summaries and languages are cached against the mtime of the refs, which means one `stat` after a push invalidates them and deleting the cache loses nothing.
3232
33-Pull requests fetch the source into `refs/pull/N/head` of the target, and merges are `merge-tree` and `commit-tree` followed by an `update-ref` that names the old value, so a push racing the merge button makes the merge fail instead of being overwritten. SQLite comes from the pure Go modernc port, which is why a `CGO_ENABLED=0` build needs nothing beside a system git.
33+Pull requests fetch the source into `refs/pull/N/head` of the target. Merges are `merge-tree` and `commit-tree` followed by an `update-ref` that names the old value so a push racing the merge button makes the merge fail instead of being overwritten. SQLite comes from the pure Go modernc port which is why a `CGO_ENABLED=0` build needs nothing beside a system git.
3434
3535 ## Usage
3636
@@ -39,7 +39,7 @@ git clone https://git.example.org/~you/repo
3939 git clone git@git.example.org:~you/repo
4040 ```
4141
42-SSH pushes need a key added under settings, and HTTPS pushes take an access token or your password. To contribute to something you do not own, fork it, push a branch to the fork and open a pull request from that branch.
42+SSH pushes need a key added under settings and HTTPS pushes take an access token or your password. To contribute to something you do not own, fork it, push a branch to the fork and open a pull request from that branch.
4343
4444 ## Development
4545
@@ -47,8 +47,8 @@ SSH pushes need a key added under settings, and HTTPS pushes take an access toke
4747 go test ./...
4848 ```
4949
50-The tests drive the real handler through `httptest`, covering each registration mode, cross site posts, private repositories, moved repositories, every merge strategy and Markdown injection payloads.
50+The tests drive the real handler through `httptest` and cover each registration mode, cross site posts, private repositories, moved repositories, every merge strategy and Markdown injection payloads.
5151
5252 ## Licence
5353
54-MIT. KaTeX is MIT as well and Source Sans 3 is under the OFL, with both notices kept beside the files.
54+MIT. KaTeX is MIT as well and Source Sans 3 is under the OFL with both notices kept beside the files.