Frage

Wie wissen Sie, wie viele Entwickler an einem Projekt beteiligt waren, eine Revision Control System verwenden? Ein Freund von mir fand auf diese Weise die Antwort in git log zu sehen:

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

Gibt es eine einfache Möglichkeit, in git? Wie wäre es andere Revision Control Systeme wie Subversion, Basar oder Mercurial?

War es hilfreich?

Lösung

git

Die shortlog Befehl ist sehr nützlich, . Dies fasst die typische git-log Ausgabe.

$ git shortlog -sn
   119  tsaleh
   113  Joe Ferris
    70  Ryan McGeary
    45  Tammer Saleh
    45  Dan Croak
    19  Matt Jankowski
    ...

Gehen Sie zur wc die Anzahl der eindeutigen Benutzernamen, um zu sehen:

$ git shortlog -sn | wc -l
      40

Andere Tipps

Für Mercurial, gibt es eine Erweiterung genau das zu tun. hg churn

hg churn Arten von Linien geändert, wenn Sie changeset zählen möchten, verwenden hg churn -c.

Für Subversion

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

Es gibt Statistiken Plugin für Bazaar verschiedene Informationen über Projektmitarbeiter zu bekommen:

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

Ich bin mir nicht bewusst, auf einfache Art und Weise für Mercurial entweder und eine gute Suche aller seiner Dokumentation nichts zu aufgedeckt. So, hier ist ein * nix-Befehl, ähnlich der Ihr Freund gefunden, für Mercurial:

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

übrigens, ich denke, es ist ein Fehler mit dem Befehl für git, sollte die zweite sort -u sicher durch uniq ersetzt werden!

Eine einfachere git Version ist:

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

oder wenn Sie kümmern sich um eindeutige E-Mail-Adressen:

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

Mercurial hat eine leistungsfähige Template-Sprache eingebaut (siehe hg help templates). So können Sie eine Liste aller im Projekt erhalten, ohne dass die Abwanderungs Erweiterung ermöglicht:

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

Wenn die Leute ihre E-Mail-Adresse geändert haben (aber ansonsten behielten ihre Namen gleich), dann können Sie die author Vorlage Schlüsselwort ein wenig verarbeiten:

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

Dann wc -l entsprechend den obigen Befehle hinzuzufügen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top