Newsgroup: it.comp.os.linux.software
Titolo: Usare git in ambiente con molti progetti

Ciao a tutti,
non so se sia il ng giusto, ma si tratta piu` di amministrazione di 
sistema che di programmazione, quindi ho pensato fosse "meno sbagliato".
Attualmente usiamo cvs e svn per gestire i progetti legati ai siti dei 
nostri clienti.
Abbiamo un repository con accesso tramite user/pass in cui i vari 
sviluppatori (2...) possono creare progetti, farne il checkout, l'update, 
il commit, il branch, ecc.
A oggi abbiamo circa 300 progetti in cvs, di cui un centinaio 
"attivi" (nel senso che li modifichiamo almeno 2-3 volte l'anno) e una 
trentina "molto attivi" (li modifichiamo quasi giornalmente).
Ne creiamo uno nuovo ogni 15-30 giorni, mediamente.
Ci piacerebbe passare a git, ma da quel che ho visto finora deve esserci 
un sysadmin sul repository centrale che crea fisicamente ogni singolo 
progetto, assegna i permessi, e poi passa il link per il "git clone" agli 
sviluppatori.
Anche usando gitosis (o era gitorious? Sto facendo confusione) va 
comunque creato il progetto sul server, anche se e` piu` flessibile la 
gestione degli utenti.
E l'interfaccia web va abbastanza schifo, al punto che stavo quasi 
pensando di riscrivermela da solo appena capisco un po' meglio la 
filosofia dietro.
Escludendo github (che per questo numero di progetti e` completamente 
fuori budget per noi), esiste qualcosa che renda piu` semplice la 
creazione di progetti?
Non dico di fare semplicemente "git import ssh://..." (che mi piacerebbe 
comunque molto) ma almeno "vai sul sito, metti la password, clicca [crea 
progetto] e clonalo in locale".
Naturalmente i progetti creati da uno sviluppatore devono essere 
accessibili completamente dagli altri (eventualmente definendo un 
gruppo), e non solo suoi.
Non ci interessa, anzi, lo preferiamo, che ogni sviluppatore possa fare 
merge e branch anche sul master senza limitazioni.
Grazie.

 creazione di progetti?
Ho avuto problemi analoghi con Mercurial: alla fine ho fatto uno script 
(hgutil) che permette ad alcuni sviluppatori di fare poche semplici azioni 
sui repository:
          sudo -u www-data hgutil -c Repo: creates repository "Repo"
          sudo -u www-data hgutil -m Repo: modify repository "Repo"
          sudo -u www-data hgutil -r Repo: remove repository "Repo"
Anche io avevo provato una soluzione web (forse era phphgadmin): carina, ma 
con alcune limitazioni che ci servivano e un autore irreperibile.
Non c'entra niente ma provo a chiedere: una cosa strana che ho notato ï¿œ che 
le descrizioni inserite da client win7 (TortoiseHg), da web si vedono con le 
accentate sostituite ad es da punti interrogativi. Deve essere un problema 
di charser, ma al momento non sono riuscito ad ovviarvi, neanche inserendo 
nella configurazione di apache alcune combinazioni delle seguenti righe con 
diversi charset:
        LanguagePriority it en 
        ForceLanguagePriority Prefer Fallback
        AddDefaultCharset ISO-8859-1
Ciao,
  Void

 Grazie.
Io faccio la creazione del repository vuoto a mano, ma è un solo comando 
da shell, niente che con shell_exec non si possa ottenere, alla peggio 
wrapperizzando il git init dentro uno script
10 righe fra php e bash e hai fatto
Poi la cosa più comoda che io abbia trovato è creare gli utenti sulla 
macchina (in /etc/passwd intendo) e poi gestire con i permessi normali
per avere un repository condiviso fra tutti i facenti parte del gruppo 
developers (viva la fantasia):
git init --shared=developers
ls -la
drwxr-xr-x 3 marco marco      4096  3 giu 09.08 .
drwxrwsr-x 7 marco developers 4096  3 giu 09.36 .git
dopodiché vai con la gestione normale di git
M
-- 
I fatti mi cosano