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

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.