> >> If all you need to do is host git repositories, I suggest putting bare > >> repos on a server somewhere and having everyone push/pull over SSH. You > >> can use the bare-bones gitweb (comes with git in portage) to view the > >> repos from a web browser. You'll need a separate bug tracking mechanism > >> in that case. > > > > I haven't used git before at all. Is this pretty easy to set up? > > > > If your users all have SSH access to some server, you don't have to do > anything at all. Git works by pushing and pulling from other > repositories. Those repos may reside on a friend's machine, or a server > somewhere; conceptually, it doesn't matter[1]. > > So, for example, I have a git repo for my reapply_default_acl project in > ~/src. I can clone this somewhere else by doing, > > $ mkdir -p tmp/acl > $ cd tmp/acl/ > $ git clone ~/src/reapply_default_acl > Cloning into 'reapply_default_acl'... > done. > > that easy. To do it over SSH is identical. I can connect to my own > machine via SSH for another example: > > $ rm -rf reapply_default_acl > $ $ git clone ssh://mjo@localhost:443/~/src/reapply_default_acl > Cloning into 'reapply_default_acl'... > Password: > remote: Counting objects: 102, done. > remote: Compressing objects: 100% (85/85), done. > remote: Total 102 (delta 34), reused 3 (delta 0) > Receiving objects: 100% (102/102), 33.86 KiB, done. > Resolving deltas: 100% (34/34), done. > > That's all that's involved. You give people "commit access" by allowing > them to write to the directory. > > > [1] This is a slight lie. If you're going to have a centralized repo > that you only push to, you'll want to do two things. First, create the > server repo with `git init --bare` so that you don't have an extra copy > of checked-out files lying around. Second, go into the 'hooks' folder of > the server repo and rename the post-update.sample file to post-update.
Thank you for taking the time to explain this. You just sextupled my git knowledge. It does sound easy. Would a basic layout like this plus gitweb plus fugitive/gitv yield a git setup that wouldn't feel lacking for collaboration amongst a few people? It sounds like a bug tracker would be a good addition. - Grant