[Cryptech Core] Two proposed changes to gitolite configuration

Rob Austein sra at hactrn.net
Wed Nov 5 23:22:04 UTC 2014


I'm proposing two minor changes to the current gitolite configuration.
Silence will be taken as assent, but discussion or outright
disagreement is welcome if anybody but me actually cares.  Both
proposed changes are just trying to automate mess prevention, no real
security issues or anything like that here.

1) We've talked about having a user/ tree.  While we can do that
   already with the current configuration, the Principle of Least
   Astonishment suggests that, by default, nobody but user foo should
   be allowed to create or push to user/foo/bar.  In theory this is a
   four line addition to the config file (it's even documented).

2) I've come to the conclusion that, at least for our purposes,
   gitolite's default behavior of creating an empty repository when
   one clones a repository that doesn't exist is probably a mistake.
   I've been through several cycles of cleaning up empty repositories
   created this way, no big deal, but also pretty clearly not what
   users expect when they type the wrong URI for a repository they
   want to clone.  There are two possible fixes for this:

   2a) Disable create-on-clone but continue to allow create-on-push.

   2b) Disable automatic creation entirely, so creating a new
       repository would require an explicit command:

       $ ssh git at git.cryptech.is create foo/bar

   For those masochistic enough to follow along in the gitolite
   documentation, these options refer to the .gitolite.rc options
   "no-create-on-read" and "no-auto-create", respectively.

   Absent strong opinions, I'll go with (2a), as my guess is that
   this group is reasonably careful when pushing stuff to a new
   repository for the first time; the mess to date has pretty clearly
   just been accidental create-on-clone.



More information about the Core mailing list