Bootstrapping with me

How to bootstrap a repository shared with me

  1. Create a mercurial or git repository somewhere. Let <cloneurl> = <public URL of your repository>.

Run (s/hg/git/ for git everywhere below)

hg init

somewhere, create a README (or, better, README.markdown) in there. Make sure your README is not empty (or else git won’t work)!

hg add README.markdown
hg commit -m 'initial commit with README'
  1. Important! Check that cloning and pulling works from the outside of your network.


hg clone <cloneurl>

from rain university server AND from your home computer.

When it doesn’t work the first thing to check is the file modes, e.g. given an hg repository at /home/ctd/<something>/<you>/public_html/unix on rain do

chmod 755 /home/ctd/<something>/<you>
chmod 755 /home/ctd/<something>/<you>/public_html
chmod -R 755 /home/ctd/<something>/<you>/public_html/unix

Services like bitbucket and github solve these problems for you without you.

  1. Send a message to <your group university entrance year> (currently year2011 or year2010) at from your contact e-mail with the following topic:
<fn ru> <ln ru> | <fn en> <ln en> | <course> | <"git" or "hg"> | <cloneurl>

where fn — first name, ln — last name, ru — in Russian, en — in English.

Currently <course> has two possible values:


Василий Петров | Vasily Petrov | os | git |
Василий Петров | Vasily Petrov | fp | hg |

As for message body anything goes, it’s completely ignored.

  1. Note that your first name (“имя” in Russian) goes first, given name (“фамилия”) goes next.
  2. Note that if you wish to use the same repository for two courses you have to send two e-mails.
  3. You can ask questions using the same e-mail by sending a message with
<your group university entrance year> | <topic>

(case insensitive) topic.


year2011 | Когда оценки появяться в ЦДО?

Message body is not ignored in this case.

  1. Note. Messages with topics not listed here are ignored.
  2. If clone/pull needs to authorize here is a public key.

How to check that everything is ok

Try to find yourself in pullingmachine’s status. It is not real-time (updated once per module), but it gives some useful hints and whereabouts. A string after a repository name in the status is the date of the last successful pull.

If I teach you (your group) two courses, but your status shows a single repository, then you did something wrong. See above.