Domanda

Sto cercando un tool che mi aiuterà a compilare una storia di alcuni metrica codice per un determinato progetto.

Il progetto è memorizzato all'interno di un repository mercurial e ha circa un centinaio di revisioni.Sto cercando qualcosa che:

  • controlla ogni revisione
  • calcola i parametri e li memorizza da qualche parte con un identificatore di revisione
  • fa lo stesso con le revisioni successive

Per cominciare, il conteggio SLOCs sarebbe sufficiente, ma sarebbe anche bello per analizzare # di Prove,TestCoverage etc.

So che queste cose sono di solito gestiti da un Server CI, comunque io sono solo su questo progetto, e così non ho preso la briga di impostare un Server CI (mi piacerebbe usare TeamCity, ma io davvero non vedo il vantaggio di farlo all'inizio).Se avessi impostato il mio Server CI ora, potrebbe manico che?

È stato utile?

Soluzione

Secondo il suggerimento di jitter ho scritto un piccolo script bash in esecuzione all'interno di cygwin utilizzando conteggio elaborato per contare le linee di sorgente. L'uscita è stata semplicemente scaricato a un file di testo:

 #!/bin/bash
COUNT=0 #startrev
STOPATREV = 98
until [ $COUNT -gt $STOPATREV ]; do
        hg update -C -r $COUNT >> sloc.log # update and log
        echo "" >> sloc.log # echo a newline
        rm -r lib # dont count lib folder
        sloccount /thisIsTheSourcePath | print_sum
        let COUNT=COUNT+1
done 

Altri suggerimenti

Si potrebbe scrivere un esempio script di shell che

  1. controlli fuori prima versione
  2. sloccount su di esso (salvare l'output)
  3. controllare prossima versione
  4. ripetere i passaggi 2-4

O guardare in Ohloh che sembra avere il supporto mercuriale ormai.

In caso contrario, I non so di qualsiasi strumento di statistiche SCM che supporta mercuriale. Come Mercurial è relativamente giovane (dal 2005) che potrebbe richiedere un po 'di tempo fino a quando tali "casi d'uso secondari" sono supportate. (Suggerimento: forse fornire una libreria hgstat te stesso come ci sono per svn e csv)

Se si trattasse di me, la scrittura di software per fare questo tipo di cosa, penso che mi piacerebbe dump risultati metriche per il progetto in un unico file, e il controllo di revisione che.Quindi la "analisi storica" strumento avrebbe dovuto tirare fuori le vecchie versioni di un solo file, piuttosto che dover tirare fuori ogni vecchia copia di tutta la repository e di rieseguire tutti i test ogni volta.

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