> >> 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

Reply via email to