On Mon, 13 Oct 2014 04:18:38 -0700 (PDT)
Simon Earnshaw <simonearnsha...@gmail.com> wrote:

> Ahh thanks for that - I think I had come to that conclusion that all
> you need do is install Git on a server in that is in effect your
> central store.

Well, in a sense, you do not even need to have Git on the server: Git
for Windows has no problems communicating with remote repositories
located on Windows shares.  But that's because in this case it does not
need a running Git instance of the remote server -- working directly
with the remote repository's files and relying on the CIFS/SMB protocol
to provide the rest.

Once you install Git on the server, you're able to use three other ways
to access the repositories on that server which require the presence of
a running Git instance on the server:

1) The native (unauthenticated) Git protocol (identified by the "git://"
   schema in the repository URIs).

   There are two problems with this method:
   * No authentication.  This might be OK for fetches (R/O access) but
     not so for pushes.
   * Currently there's a problem no one was able to fix which makes
     pushes via this protocol stall.

2) Access via SSH.  In this case, the SSH server spawns a Git instance
   and tunnels its exchange with your local Git instance.

   This obviously requires installing and maintaining an SSH server
   on the server.  There's no "de-facto standard" implementation of it,
   and Microsoft doesn't provide its own.  The remaining problem is that
   the concept itself is foreign to a typical cheap Windows admin.

3) Access via HTTP[S].  In this case, the web server spawns a (special)
   Git instance, which speaks HTTP[S], and your local Git instance talks
   with it using its HTTP client library.

   While I did not have personal experience with this, I've heard that
   setting up vanilla IIS to serve Git is next to impossible and
   installing Apache has mostly the same problems (2) has.

The problem which remains once you've solved the access problem is that
what you get in the end it plain Git on the server: there won't be some
nice interface to manage the users, repositories, let alone access
rights to them etc.  All that stuff is usually provided by third-party
turn-key solutions, some of which were mentioned in this thread already.

> As an aside I have looked at Bonobo Git Server - have
> you heard anything about this?

>From the overview of its features, it looks quite interesting.
Especially I like its support for Windows authentication -- Git for
Windows supports it (via the build of libcurl it ships).

You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to