Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I plan to use git/gitolite to provide managed read/write access for approximately 30 developers and project managers to a shared SAN with the following file structure:

    base/
     clients/
      clientA/
       dirA/
         xxx-config.xml-app1
         xxx-config.xml-app2
       app1/
         conf/
         deploy/
         app1.tgz
       app2/
       app3/
       ...
      clientB
      ...

I can use gitolite to to configure R / RW access for different groups of devs. The files the developers need to read / modify are the xxx-config.xml-appX and the files in the conf/ and deploy/ folders. Further, whenever anything in conf/ or deploy/ are modified (via "git push"?), I need a git hook script to recreate the appX.tgz file containing all the new contents of the appX folder.

I'm assuming each developer could do a "git clone" to their local computer and do periodic "git fetch" to refresh or "git push" whenever they make changes.

The "git hook" requirement has me wondering whether I should have one git repo for each client folder: /base/clients/clientA, .../clientB, etc. or one repo for each clientX/appX folder.

The following comes from the gitolite samples:

    repo    clientA
      RW+     =   @clientA-grp
      option hook.post-receive    =   deploy

If there is one repo for each client folder, how would the "deploy" script know which appX.tgz file needs to be recreated? Or would it just recreate them all indiscriminately? The second option clearly doesn't scale.

share|improve this question
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.