Re:Code your own Multi-User Private Git Server
by X-Istence on Friday September 30, 2011 @10:28AM
(#3057114)
This just seems to be a case of Not Invented Here syndrome. Using gitolite or gitosis would have done the job faster, gives you the ability to have acl's set up per user and all of it uses simple configuration files.
Re:Code your own Multi-User Private Git Server
by moomerman on Friday September 30, 2011 @01:20PM
(#3057777)
To be fair, the example I have given is simple and you could use something like gitosis or gitolite (I have used them in the past). The point of the article was supposed to be a starting point if you have something else you want to do. For example, I needed to have a fully distributed git backend system across multiple git storage nodes so I needed to learn how I would go about doing that. This post was supposed to give the reader the tools they need to roll their own solution if they want.
Re:Code your own Multi-User Private Git Server
by ajross on Friday September 30, 2011 @12:02PM
(#3057478)
Agreed. Or for small trusted teams any linux box with ssh access will do fine. This is a very well served product area, it really shouldn't be a problem that demands new software development.
Edit: Hah! That's basically what it is, just dressed up with a tiny script and the two-factor trick from last week. Never mind then. This is sane. Just maybe oversold.
Re:Code your own Multi-User Private Git Server
by davvid on Saturday October 01, 2011 @12:21AM
(#3059317)
NIH or not, I enjoyed reading this post. It showed the simplicity of serving git repos and walked readers through the entire process top to bottom.
Gitolite is a great project and it has many useful features such as branch-level access control. That might be what he meant by "overkill". He simply didn't need those features. I think there's much to be said for keeping things simple.
Re:Code your own Multi-User Private Git Server
by davvid on Saturday October 01, 2011 @12:06AM
(#3059292)
Gitolite is also well supported. Gitosis is basically an abandoned project. kernel.org's new git infrastructure will be using gitolite which means you can pretty much count on it being supported well into the future.
Re:Code your own Multi-User Private Git Server
by CodeMage on Friday September 30, 2011 @11:48AM
(#3057413)
Don't see why it was necessary to criticize the post so much. True, the title is a bit inadequate, but it's nice to find a combination of several tidbits, tips and tricks combined on one page.
Re:Code your own Multi-User Private Git Server
by moomerman on Friday September 30, 2011 @01:22PM
(#3057785)
Thanks, I don't understand the criticism either, the feedback via twitter has been quite positive so I will take both on board when writing any further posts.
Re:Code your own Multi-User Private Git Server
by moomerman on Friday September 30, 2011 @09:01AM
(#3056767)
Sorry if you find the title misleading, it certainly wasn't intended that way. In fact, sometimes I find it harder to pick the right title than I do to write the blog post.
My intentions were that you could read the article in 5 minutes and the code sample would give you a good starting point to code your own implementation.
Re:Code your own Multi-User Private Git Server
by aaronblohowiak on Friday September 30, 2011 @01:41PM
(#3057870)
So, most of this is based on the ability to specify the command that the user is forced to run in authorized_keys to be a wrapper command that you wrote. This wrapper command reads its arguments and then will execve git shell as appropriate.
What's important to note is that this also talks about SSH_ORIGINAL_COMMAND, which is the environment variable set by sshd when invoking the forced command that is specified in authorized_keys.
Edit: Hah! That's basically what it is, just dressed up with a tiny script and the two-factor trick from last week. Never mind then. This is sane. Just maybe oversold.
Gitolite is a great project and it has many useful features such as branch-level access control. That might be what he meant by "overkill". He simply didn't need those features. I think there's much to be said for keeping things simple.
My intentions were that you could read the article in 5 minutes and the code sample would give you a good starting point to code your own implementation.
What's important to note is that this also talks about SSH_ORIGINAL_COMMAND, which is the environment variable set by sshd when invoking the forced command that is specified in authorized_keys.
Clever hack.