diff --git a/wiki/source/cgit.md b/wiki/source/cgit.md new file mode 100644 index 0000000..e33723c --- /dev/null +++ b/wiki/source/cgit.md @@ -0,0 +1,126 @@ +--- + +title: using cgit on tilde.club +author: deepend +category: tilde.club +-------------------- + +`cgit` gives every tilde.club member a simple, read‑only web view of their public Git repositories. +Any repo you put in `~/public_git/` and end with `.git` is automatically shown at + +``` +https://tilde.club/~/git/ +``` + +Below is the quick‑start plus a few tips. + +--- + +## 1  Create the **public\_git** directory (once) + +```bash +$ mkdir -p ~/public_git +``` + +The web server is already allowed to traverse `~/public_git`, so you do **not** have to chmod anything manually. + +--- + +## 2  Add a repository + +Only **bare** repos are accepted (they have no working tree inside them). + +```bash +# create a brand‑new bare repository +$ cd ~/public_git +$ git init --bare hello.git +``` + +or push an existing project: + +```bash +$ cd ~/my/project +# add tilde as a remote and mirror‑push everything +$ git remote add tilde ssh://@tilde.club/~/public_git/project.git +$ git push --mirror tilde +``` + +You can repeat for as many repos as you like; just keep each one directly in +`~/public_git/` and make sure the name ends with `.git`. + +--- + +## 3  Browse your repos + +``` +Index page : https://tilde.club/~/git/ +Single repo : https://tilde.club/~/git/.git/ +``` + +Example for user **deepend**: + +``` +https://tilde.club/~deepend/git/ # lists everything +https://tilde.club/~deepend/git/hello.git/ # specific repo +``` + +The header will say `~deepend Git Repositories`, commits are clickable, diffs +are highlighted, and the cloning URL is shown near the top right. + +--- + +## 4  Update a repository + +Because the repo is bare you **push** into it; cgit shows the new state +immediately. + +```bash +$ git push tilde main # normal +$ git push --mirror tilde # full mirror (branches + tags) +``` + +--- + +## 5  Remove a repository + +Simply delete or rename the directory: + +```bash +$ rm -rf ~/public_git/oldstuff.git +``` + +The entry disappears from the index on the next page load. + +--- + +## FAQ + +### Can I hide a repo from the list? + +Move it somewhere else in your home directory or make it non‑bare. +`cgit` only scans `~/public_git/*.git`. + +### Why bare repos only? + +Internal `.git/` directories inside non‑bare repos confuse cgit’s scanner and +produce broken links like `/repo.git/.git/`. +Bare repos avoid that and are the normal way to publish Git over HTTP. + +### Clone / pull URL? + +Use SSH for write access: + +``` +ssh://@tilde.club/~/public_git/.git +``` + +or plain HTTPS for read‑only: + +``` +https://tilde.club/~/git/.git +``` + +--- + +Happy hacking, and show off your code! +Questions? `#club` on irc.newnet.net or mail **[root@tilde.club](mailto:root@tilde.club)**.