Larry was right. It's probably easier to port a shell than a shell script!
…l repo creation
This reverts commit bc3eb34.
Although this is not a "hole" that allows a normal user to bypass controls, I still consider this a hole in the sense that I want to separate "admin push" rights from "shell access on server" rights. (I realise that most people don't make this distinction, but I do, and for me and most sites I consult for it is important). Thanks to drue on #gitolite who pointed it out excitedly, and apologies for killing what he thought of as a feature!
…cefully bugly = bug that makes the output ugly :)
as in git@host:repo.git works but ssh://git@host/repo.git doesn't
(plus a couple of other minor fixups)
See "background" in new program src/triggers/new-normal-repos
(manually smoke tested; no test script) I've been meaning to do this for a while, since someone told me that is one of gerrit's features they like. Of course, gitolite can't/won't do the whole "code review" thing (nor the workflow enforcement that follows). But voting is simple -- literally 2-3 lines of code in a VREF. (The rest is inline documentation).
...so there's no need for the VREF. Ironically, while I was arguing with Eli that I wouldn't do it and why, the code was *already* there, and had been for over a month! (It must have been there for much longer for me to have forgotten!) TODO: convert from using fingerprint compute to actual key strings when the complaints about speed start appearing. My own personal speed up loop  I guess :) : http://thedailywtf.com/Articles/Classic-WTF-The-Speedup-Loop.aspx
(but change repo check to allow repoPATT instead of just repoNAME) This is because there are/will be some situations where access() is called without those two checks being done (i.e., it is not only from src/commands/access that it is called).
(while we're about it, we also steal Michael Brown's idea (patch #2 in  and get rid of GIT_HTTP_BACKEND). : http://groups.google.com/group/gitolite/msg/adfae758dd28f2a8
(1) the backward compat breakage: you can't create empty-valued config keys anymore. That is, you can't do the eqvt of the following shell command using gitolite git config foo.bar "" (2) fixed a bug where this: repo foo config foo.bar = when queried using gitolite git-config -r foo . would return even the empty valued ones, which -- remember! -- are not supposed to exist anymore. Fixing this bug allows situations like this to not show the admin repo in gitweb: repo [a-z].* config gitweb.owner = P-h B repo gitolite-admin config gitweb.owner = ---- background... Somewhere in g3 (well actually in 057506b), we lost the ability to distinguish config foo.bar = "" from config foo.bar = I decided that conflating them is more intuitive for most people, because a survey  revealed that no one seemed to want the equivalent of the following shell command: ----  ...of a (small prime greater than 1) number of people on #git