summaryrefslogtreecommitdiff
path: root/README.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'README.markdown')
-rw-r--r--README.markdown58
1 files changed, 48 insertions, 10 deletions
diff --git a/README.markdown b/README.markdown
index de5eee6..949f2d7 100644
--- a/README.markdown
+++ b/README.markdown
@@ -1,14 +1,57 @@
-Parabola Hackers
-================
+Hackers
+=======
+
+## What's this? Why?
+
+Hackers is a simple git repository management tool. I started this for Parabola
+GNU/Linux-libre when our gitosis broke and was never fixed. We didn't need
+gitosis' granular permissions anyway.
+
+Hackers.git allows for decentralized management, since any hacker added can add
+new keys, own and others'.
+
+It uses the git-shell to allow users to do git repository tasks (create a repo,
+mirror one, etc.) using ssh to connect to the repository server.
+
+## Install
+
+Clone hackers.git somewhere and add yours and other people's SSH pubkeys (at
+least yours) to the authorized\_keys file, then commit.
+
+This step can be done in a single step with `make bootstrap` (or let the next
+step do it). If you don't you won't be able to login later!
+
+Run `make PREFIX=/srv/git` as root, where *PREFIX* is the git root. Check the
+Makefile itself to see other options.
+
+Now you can use `ssh git@host command arguments`, run the *help* command to
+list commands and arguments available.
+
+## Host requirements
+
+You'll need `git-shell`, on Parabola it's on the *git* package. Also a working
+ssh daemon with "AuthorizedKeysFile .ssh/authorized_keys" (default in most
+installations).
+
+## Local configuration
+
+On your hacking user, you can add this to your *~/.ssh/config*
+
+ Host git
+ HostName git_hostname_can_be_localhost
+ User git
+
+The repo URL will be *git:repo.git* or *ssh://gitPREFIX/repo.git*.
## How to add new keys
-* Add your key to the authorized\_keys file.
+* Add your key to the authorized\_keys file on your local clone
* Change the key comment to the "Name <name@email.nu>" format (just for keeping
it tidy)
* Commit
* Push if you have push privileges and you're adding a new hacker, or
-* Run `git format-patch HEAD-1` and send the generated patches to Parabola
+* Run `git format-patch HEAD-1` and send the generated patches to one of the
+ other hackers listed.
## How does this work?
@@ -18,10 +61,5 @@ privileges for the git user.
## Is this insecure?
-'git' is an unprivileged user. If you know how to skip this and gain access to
+*git* is an unprivileged user. If you know how to skip this and gain access to
our servers be kind and let us now ;)
-
-## Why?
-
-Gitosis broke once and was never fixed. We didn't need gitosis' granular
-permissions anyway. Now Parabola hackers can add new hackers!