0

I am using a computational server (Scientific Linux) that I don't have root privileges on. I want to keep track of changes I make to my code and any forking I do.

Subversion looks like a natural fit for this but I don't think I can set it up without root privileges. Does anyone know any simple revision control scripts I can use?

Edit:

Judging by the answer, I conclude that I wasn't clear about something. I don't want to upload my code to any other server. I simply want to copy it locally to a dedicated folder (or something similar). We do an hourly backup of the data on that machine.

1
  • None of the answers say that uploading to any other server is required. All four suggestions use fully self-contained repositories, everything in a single directory. Dec 5, 2011 at 14:32

3 Answers 3

3

Also Subversion can easily be used locally without root privileges. First create a local repository with

svnadmin create <repo_dir>

and then do a checkout with

svn checkout file:///<path_to_repo_dir> <checkout_dir>

Works like a charm without requireing any special privileges. You could even access the repository over svn+ssh if you have SSH access to that machine via

svn checkout svn+ssh://user@host/<path_to_repo_dir> <checkout_dir>
2

Most popular distributed version control systems can work without root privileges. The repository is entirely self-contained.

For example, the only command needed to convert the current directory into a Git or Hg (aka Mercurial) repository is git init and hg init respectively. All data stays within the same directory, although it's very easy to push to another server over SSH.


If the program is not installed yet, doing it yourself is possible – just download the source code, compile, and install somewhere in your home directory (for example, ~/usr or ~/.local). This works very well with Git; I have not tested yet with Hg.

Prepare (adjust $HOME/usr if wanted):

local="$HOME/usr"
export PATH="$local/bin:$PATH"

Install Git:

mkdir -p "$local"
wget https://git-core.googlecode.com/files/git-1.7.8.tar.gz -O - | tar xz
cd git-1.7.8
./configure --prefix "$local" && make && make install

To use, set PATH again as in the "Prepare" step.

0

Another DVCS worth to be considered (of course it will work as simple user) is fossil.

It has a ton of tempting features:

  • single small-sized binary with no external dependencies
  • works on all mainstream operating systems
  • built-in web interface, tickets, wiki, blog (it's known as "github in a box")
  • its "dad" is D. Richard Hipp - the author of sqlite

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .