Quante persone sono state coinvolte in un progetto? Basato sul sistema di controllo delle revisioni

StackOverflow https://stackoverflow.com/questions/1813649

Domanda

Come fai a sapere quanti sviluppatori sono stati coinvolti in un progetto utilizzando un sistema di controllo delle revisioni? Un mio amico ha trovato questo modo di cercare la risposta in git log:

git log | grep Author: | sort -u | cut –delimiter=” ” -f2 | sort -u | wc -l

Esiste un modo semplice in Git? Che ne dici di altri sistemi di controllo delle revisioni come Subversion, Bazaar o Mercurial?

Altri suggerimenti

Per mercurial, esiste un'estensione per fare esattamente questo: hg churn .

hg churn ordina per riga modificata, se si desidera il conteggio del changeset, utilizzare hg churn -c .

Per sovversione

svn log -q svn://path/to/repo | cut -f 3 -d " "  | sort -u

Esiste un plugin di statistiche per Bazaar per ottenere diverse informazioni sui partecipanti al progetto:

https://launchpad.net/bzr-stats/

Non sono nemmeno a conoscenza di un modo semplice per Mercurial e anche una buona ricerca di tutta la sua documentazione non ha rivelato nulla. Quindi, ecco un comando * nix, simile a quello trovato dal tuo amico, per Mercurial:

hg log | grep user: | cut -c 14- | sort -u | uniq | wc -l

A proposito, penso che ci sia un errore con il comando per git, il secondo sort -u dovrebbe sicuramente essere sostituito da uniq!

Una versione git più semplice è:

git log --pretty=tformat:%an | sort -u | wc -l

o se ti interessano indirizzi email univoci:

git log --pretty=tformat:%ae | sort -u | wc -l

Mercurial ha un potente linguaggio di template incorporato (vedi hg help templates ). Quindi puoi ottenere un elenco di tutte le persone nel progetto senza abilitare l'estensione churn:

hg log --template '{author}\n' | sort -u

Se le persone hanno cambiato il loro indirizzo email (ma altrimenti hanno mantenuto lo stesso nome), è possibile elaborare un po 'la parola chiave del modello author :

hg log --template '{author|person}\n' | sort -u

Quindi aggiungi wc -l come appropriato ai comandi sopra.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top