3 ms·
A git server frontend is really about three things (I would say in this order) 1 Providing permissions to access the repository 2 Providing a visual way to brow
by icefox 14y ago
A git server frontend is really about three things (I would say in this order)
1 Providing permissions to access the repository
2 Providing a visual way to browse the source code and link to the source code (sha X, file Y, line Z)
3 Slap features on top of the above two (bug management, code analysis, doc generation, auto publishing like gh_pages (awesome btw!), code review, task analysis, etc etc
Really checkout gitolites permissions. The ability to create devs into group (test/release/intern) and then on top of that apply 'R', 'W', '+', to any or specific branches and or files creates an expressive set of rules.
When I was working on GitHaven I also had a simplistic permissions model like GitHub has. But the more I talked with end users the more edge cases I found and the more I realized how the permissions is really a core bit of the thing I was building and if I were to hack on GitHaven again I would either built it on top of gitolite or build something just as expressive, if not more.
P.S. set your email in your HN account. As I have spent too much time thinking about this problem I would be happy to buy you a virtual beer on facetime or whatnot to share what I have learned about the problem if your interested.
Edit: from the description it sounds like it is already built on top of Gitolite :) So making a fully feature UI for their permissions should be easy.
- sytse 14y agoGood insight about the functions of a web front-end. I totally agree. And I think the first two are a priority before slapping features on top. Gitlab is build on top of Gitolite so setting granular permissions should be doable. I worry that the combination of groups and branch settings will be hard to maintain unless you name your branches consistently. I'm very interested in talking to you to learn from your thinking. I've set my email on HN, my Skype handle is sytses and my contact info is on http://sytse.com/contact http://sytse.com/contact