diff -r bb53f3b9c411 -r 713c6cccbc2f doc/manual.docbook --- a/doc/manual.docbook Thu Oct 15 12:09:00 2009 +0100 +++ b/doc/manual.docbook Thu Oct 15 12:19:35 2009 +0100 @@ -42,33 +42,33 @@ In what follows, we assume that your username is jay, that you usually sit at a machine called -my-workstation and you wish to +spoon and you wish to install mercurial-server on repository-host. We assume that you have created your SSH public key, set up your SSH agent with this key, and that this key gives you access to repository-host. +class="systemname">jeeves. We assume that you have created your SSH public key, set up your SSH agent with this key, and that this key gives you access to jeeves. First install mercurial-server on repository-host: -jay@my-workstation:~$ scp mercurial-server_0.6.1_amd64.deb repository-host: +class="systemname">jeeves: +jay@spoon:~$ scp mercurial-server_0.6.1_amd64.deb jeeves: mercurial-server_0.6.1_amd64.deb 100% -jay@my-workstation:~$ ssh -A repository-host -jay@repository-host:~$ sudo dpkg -i mercurial-server_0.6.1_amd64.deb +jay@spoon:~$ ssh -A jeeves +jay@jeeves:~$ sudo dpkg -i mercurial-server_0.6.1_amd64.deb [sudo] password for jay: Selecting previously deselected package mercurial-server. (Reading database ... 144805 files and directories currently installed.) Unpacking mercurial-server (from .../mercurial-server_0.6.1_amd64.deb) ... Setting up mercurial-server (0.6.1) ... -jay@repository-host:~$ +jay@jeeves:~$ mercurial-server is now installed on the repository host. Next, we need to give you permission to access its repositories. -jay@repository-host:~$ ssh-add -L > my-key -jay@repository-host:~$ sudo mkdir -p /etc/mercurial-server/keys/root/jay -jay@repository-host:~$ sudo cp my-key /etc/mercurial-server/keys/root/jay/my-workstation -jay@repository-host:~$ sudo -u hg /usr/share/mercurial-server/refresh-auth -jay@repository-host:~$ exit -Connection to repository-host closed. -jay@my-workstation:~$ +jay@jeeves:~$ ssh-add -L > my-key +jay@jeeves:~$ sudo mkdir -p /etc/mercurial-server/keys/root/jay +jay@jeeves:~$ sudo cp my-key /etc/mercurial-server/keys/root/jay/spoon +jay@jeeves:~$ sudo -u hg /usr/share/mercurial-server/refresh-auth +jay@jeeves:~$ exit +Connection to jeeves closed. +jay@spoon:~$ You can now create repositories on the remote machine and have complete read-write access to all of them. @@ -79,19 +79,19 @@ To store a repository on the server, clone it over. -jay@my-workstation:~$ cd my-mercurial-project -jay@my-workstation:~/my-mercurial-project$ hg clone . ssh://hg@repository-host/repository/name +jay@spoon:~$ cd my-mercurial-project +jay@spoon:~/my-mercurial-project$ hg clone . ssh://hg@jeeves/repository/name searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 119 changesets with 284 changes to 61 files -jay@my-workstation:~/my-mercurial-project$ hg pull ssh://hg@repository-host/repository/name -pulling from ssh://hg@repository-host/repository/name +jay@spoon:~/my-mercurial-project$ hg pull ssh://hg@jeeves/repository/name +pulling from ssh://hg@jeeves/repository/name searching for changes no changes found -jay@my-workstation:~/my-mercurial-project$ cd .. -jay@my-workstation:~$ +jay@spoon:~/my-mercurial-project$ cd .. +jay@spoon:~$
Adding other users @@ -102,28 +102,28 @@ ~/sam-key.pub. To manage access, you make changes to the special hgadmin repository. -jay@my-workstation:~$ hg clone ssh://hg@repository-host/hgadmin +jay@spoon:~$ hg clone ssh://hg@jeeves/hgadmin destination directory: hgadmin no changes found updating working directory 0 files updated, 0 files merged, 0 files removed, 0 files unresolved -jay@my-workstation:~$ cd hgadmin -jay@my-workstation:~/hgadmin$ mkdir -p keys/users/sam -jay@my-workstation:~/hgadmin$ cp ~/sam-key.pub keys/users/sam/their-workstation -jay@my-workstation:~/hgadmin$ hg add +jay@spoon:~$ cd hgadmin +jay@spoon:~/hgadmin$ mkdir -p keys/users/sam +jay@spoon:~/hgadmin$ cp ~/sam-key.pub keys/users/sam/their-workstation +jay@spoon:~/hgadmin$ hg add adding keys/users/sam/their-workstation -jay@my-workstation:~/hgadmin$ hg commit -m "Add Sam's key'" -jay@my-workstation:~/hgadmin$ hg push -pushing to ssh://hg@repository-host/hgadmin +jay@spoon:~/hgadmin$ hg commit -m "Add Sam's key'" +jay@spoon:~/hgadmin$ hg push +pushing to ssh://hg@jeeves/hgadmin searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files -jay@my-workstation:~/hgadmin$ +jay@spoon:~/hgadmin$ Sam can now read and write to your -ssh://hg@repository-host/repository/name repository. +ssh://hg@jeeves/repository/name repository. Most other changes to access control can be made simply by making and pushing changes to hgadmin, and you can use Mercurial to @@ -131,7 +131,7 @@ If you prefer, you could give them access by -logging into repository-host, +logging into jeeves, putting the key in the right place under /etc/mercurial-server/keys, and re-running sudo -u hg /usr/share/mercurial-server/refresh-auth.