The main service currently offered at Eprover.eu is the hosting of a number of git repositories. Git is a distributed version control system similar to, but in many ways superior to CVS. Git is free and open source, and most famously used for the Linux kernel development.. There also is a book that you can buy or browse for free.

As a distributed version control system, Git supports quite different workflows than subversion or CVS. However, it also works fine with a central master repository.

If you are running Linux, you probably already have Git installed. If not, any modern distribution should offer it for installation via apt-get or yum. If you run MacOS-X, it’s an easy install with both Fink (fink install git)  and MacPorts (port install git) .

Git at Eprover.eu is set up to allow remote access to the repositories. You can clone a local working copy from the repository, change files locally, commit changes locally, and eventually push changes back into the central repository. If someone else has changed the same file in the interim, you have to merge the changes before you can push your version back to the server.

To gain access to any of the repositories hosted here, send me the public part of an ssh key (preferably in OpenSSH format, as generated by default by most ssh-keygen installations). Remember to install the private version in your local account (under Unix/Linux/MacOS, by entering them in ~/.ssh/config).

Below is a list of the most common commands useful for collaborating on papers, using the UNIX command line Git client.

Obtaining a working copy of <project>

git clone git@www.eprover.eu:<project>

Git stores the upstream repository information in the working copy, so you nearly never need to use the full URL again. If you get an access right violation, you need to apply for access and provide your public ssh key to me.

Updating a working copy with the latest repository version

git pull

Use this in the top-level directory of the working copy to update all of it.

Locally committing your changes

git commit -a -m “<Change message>”

If you omit the -m option, Git will ask for a comment.

Pushing changes back to the repository

git push

If a push fails because someone else has changed one of the affected files, you need to run git pull and resolve the resulting conflicts before committing again.

Adding a new file to the working copy

git add <file>

The file will be uploaded to the repository on the next commit.

Renaming or moving a file

git mv <old-name> <new-name>

Eprover.eu git hosting