READ THIS FIRST =============== WARNING WARNING WARNING This code is not ready for anything other thing playing with. It has some functionality, like you can create some repos and you can even pull from them, however this code IS dangerous. there is no input validation so its likely everything can suffer from all kinds of injections and malicious code. There is alot of error checking missing and its only been running on an ubuntu 10.10 laptop, alot of the functionality is actually here, but dont get excited. If you want to play with it, clone it and follow the install, but dont put it somewhere its generally accessible (i.e. from the internet) unless you hate your computer. GWVP ==== Git over Web Via PHP is a project to do something i've wanted to have a long time - a web based git remote with administration and all git related activities happening over http/https. Git has this now, its called git-http-backend and its quite broken. If you read its man page it'll tell you this: To enable anonymous read access but authenticated write access, require authorization with a LocationMatch directive: AuthType Basic AuthName "Git Access" Require group committers ... This will never work in a month of sundays, but yet its been in the man page and been un-fixed now for a year. Aside from that though, i wanted an application capable of handling my repo's without having to deal with the ssh fluff i tend to deal with its annoying when it can be done with user/password auth over https. Thats what the project is designed to do - give people the ability to administrate a set of a git repo's via a web interface and have the same web interface for pull and push. What you will ultimately be able to do is: 1) get list of git repos (with an interface like gitweb) 2) create users and assign permissions into repo's 3) create repos 4) import repos but most importantly: git add remote origin https://username@server/git/myrepo.git git push origin master Ultimately I want people to be able to install this app, create a directory where it can save its files (db), create another directory for storing git repos then allow people to login to the web interface and control everything, for example: 1) create a user and control what they can see 2) allow users to control who can push to their repos 3) control how many repo's a user can create 4) import code into a repo (via git bundle for eg) 5) setup a group heirachy I think that describes the places i'd like this app to go How it Works ============ Initially this thing will have a fairly boring interface for creating/contorlling users and repos while also pushing directly back to git-http-backend AND providing the authentication interface IT needs to function Gitweb.cgi may also be incorporated as the git view tool - but thats less important at this point and will probably be just a portion of the php code designed to show something similar to gitweb.cgi with more control