2010-09-03 9 views
5

Stiamo pensando di coinvolgere un paio di specialisti per progetti a breve termine. Sto cercando di capire come consentire loro di sviluppare efficacemente contro il nostro codice base senza rilasciare l'intero codice base a loro.Git/Django: permesso/disponibilità del codice granulare

Ogni progetto ha aree ben definite a cui è necessario accedere; principalmente i nostri modelli principali, insieme a pezzi specifici della nostra app.

Abbiamo iniziato a fare un lavoro migliore per suddividere il progetto in più app all'interno di un singolo progetto django, ma vivono ancora tutti insieme in un unico repository git. Se controlli il repository ottieni tutto.

Quali sono le strategie di successo per l'organizzazione di codice e repository in modo che terze parti possano accedere a modelli di base e funzionalità selezionate senza avere accesso a tutto?

Si noti che poiché questa è una necessità un po 'rara, preferirei fortemente una configurazione che non disturbi i nostri sviluppatori principali - le loro vite dovrebbero essere minimamente influenzate dal setup.

risposta

1

Si potrebbe provare git-submodule come un modo di sviluppare ogni app come proprio repository git, pur lasciando agli sviluppatori afferrano la radice e tutte le applicazioni con un "git clone". Tuttavia, non è del tutto indolore, poiché quando si esegue questa operazione è necessario eseguire il commit di tutte le modifiche in un sottomodulo e di nuovo nel repository root per fare riferimento al nuovo commit del sottomodulo. Questo è probabilmente inevitabile, dal momento che se vuoi che qualcuno accanto a uno sviluppatore principale sia in grado di eseguire il commit su una singola app, allora il commit della app deve essere indipendente da.

+0

In questo caso, anche i modelli principali dovrebbero essere in un sottomodulo. – bstpierre