Herramienta para evaluar la distancia de Hamming entre hashes (SHA-1) de repositorios de git.
Dependencias: el proyecto principal depende libgit2, C++ std23 y Doxygen para generar la documentacion. Para generar los plots hace falta python, pandas y matplotlib.
$ make
Para generar la documentacion (still in progress!):
$ make docs
Al igual que git, hdr se ejecuta sobre un repo de git (con hashes del tipo SHA-1):
$ cd <repositorio>
Todos los comandos implementados en hdr generan una salida hacia stdout. Estos comandos permiten evaluar:
$ hdr hd
Opcionalmente, se puede pasar el argumento de largo abreviado de los hashes, por ejemplo, para largo abreviado de 10 bytes:
$ hdr hd --alen 10
$ hdr hist [--alen nro]
Esto genera un histograma con la cantidad de veces que se obtienen los valores posibles de distancia de Hamming ()
$ hdr hdstats [--alen nro]
Genera un vector de ternas: min, max, mean.
$ hdr print [--alen nro]
Imprime la lista de hashes para el largo abreviado suministrado.
Puede plotearse el histograma a partir de un archivo.
Por ejemplo:
$ hdr hist --alen 9 > /tmp/git_hist_9.csv
$ python plot_scripts/histogram.py /tmp/git_hist_9.csv
Generan el siguiente grafico:
