Svn – from svn to git (+ LDAP + password-less updates + passworded access control)

apache-2.2gitgitolitesvnwebdav

We have an SVN setup and there are some things we dislike about it and some things we like about it. We want to move to git, but we're not sure exactly what setup will work for us. We're currently using SVN (w/ Authz) + Apache (w/ WebDAV & LDAP).

  1. Hook to update the live site [like]
  2. Live site update requires no additional interaction [like]
  3. Live site update uses stored password [dislike]
  4. Commits require centralized-password authentication [like]
  5. Commit from live site changes stored credentials [dislike]
  6. Access control (per repository) for commits [like]

Point 5 above is the one that keeps stuffing us up. Someone makes a commit from the live site and then the hook breaks.

We're thinking to use gitosis/gitolite to get access control, but as they use ssh keys, we won't be requiring passwords. We're also thinking to use git-http-backend, and use Apache for authentication, but then do we lose access control? Can the live site be automatically updated from a hook if Apache requires authentication? Can we combine git-http-backend and gitosis/gitolite somehow? Can we store http credentials with git?

Best Answer

If you still prefer using svn up for live site, read svn help up carefully and pay attention on some options in order to handle credential in the Smart Way

Global options:
  --username ARG           : specify a username ARG
  --password ARG           : specify a password ARG
  --no-auth-cache          : do not cache authentication tokens
Related Topic