Version Control Virtual Hosting

Geoffrey Thomas scripts.mit.edu

September 16, 2008

Why do we want virtual hosting?

▶ scripts.mit.edu

▶ hosts many MIT websites, e.g., debathena.mit.edu ▶ existing standard for username.scripts.mit.edu

▶ Technical considerations

▶ Cleaner URLs (not svn://svn.mit.edu/myproject)

▶ Overhead ▶ Other protocols support it, why not version control?

Existing solutions

▶ git: interpolated paths

git://debathena.mit.edu/trunk/ →
/srv/debathena.mit.edu/svn/trunk

Can’t look up home directories! ▶ svn: patch to keep the server name

svn://debathena.mit.edu/trunk →
/srv/svn/debathena.mit.edu/trunk

Even less flexible

Our solution

▶ FUSE filesystem to rewrite paths

/mnt/ldapfs/git/debathena.mit.edu/trunk →
/afs/.../debathena/Scripts/git/trunk

Easily generalizable ▶ Hack for svn, to support set-user-id