Esta es la contestación más acertada que te podemos dar, pero primero obsérvala detenidamente y analiza si se puede adaptar a tu trabajo.
Solución:
Un guión de shell, cloc-git
Puede usar este script de shell para contar la cantidad de líneas en un repositorio Git remoto con un comando:
#!/usr/bin/env bash
git clone --depth 1 "$1" temp-linecount-repo &&
printf "('temp-linecount-repo' will be deleted automatically)nnn" &&
cloc temp-linecount-repo &&
rm -rf temp-linecount-repo
Instalación
Este script requiere la instalación de CLOC (“Contar líneas de código”). cloc
probablemente se pueda instalar con su administrador de paquetes, por ejemplo, brew install cloc
con cerveza casera. También hay una imagen acoplable publicada bajo mribeiro/cloc
.
Puede instalar el script guardando su código en un archivo cloc-git
corriendo chmod +x cloc-git
y luego moviendo el archivo a una carpeta en su $PATH
tal como /usr/local/bin
.
Uso
El script toma un argumento, que es cualquier URL que git clone
Va a aceptar. Los ejemplos son https://github.com/evalEmpire/perl5i.git
(HTTPS) o [email protected]:evalEmpire/perl5i.git
(SSH). Puede obtener esta URL desde cualquier página de proyecto de GitHub haciendo clic en “Clonar o descargar”.
Salida de ejemplo:
$ cloc-git https://github.com/evalEmpire/perl5i.git
Cloning into 'temp-linecount-repo'...
remote: Counting objects: 200, done.
remote: Compressing objects: 100% (182/182), done.
remote: Total 200 (delta 13), reused 158 (delta 9), pack-reused 0
Receiving objects: 100% (200/200), 296.52 KiB | 110.00 KiB/s, done.
Resolving deltas: 100% (13/13), done.
Checking connectivity... done.
('temp-linecount-repo' will be deleted automatically)
171 text files.
166 unique files.
17 files ignored.
http://cloc.sourceforge.net v 1.62 T=1.13 s (134.1 files/s, 9764.6 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Perl 149 2795 1425 6382
JSON 1 0 0 270
YAML 2 0 0 198
-------------------------------------------------------------------------------
SUM: 152 2795 1425 6850
-------------------------------------------------------------------------------
Alternativas
Ejecutar los comandos manualmente
Si no desea molestarse en guardar e instalar el script de shell, puede ejecutar los comandos manualmente. Un ejemplo:
$ git clone --depth 1 https://github.com/evalEmpire/perl5i.git
$ cloc perl5i
$ rm -rf perl5i
Lingüista
Si desea que los resultados coincidan exactamente con los porcentajes de idioma de GitHub, puede intentar instalar Linguist en lugar de CLOC. De acuerdo con su README, debe gem install linguist
y luego corre linguist
. No pude hacerlo funcionar (problema #2223).
Puedes ejecutar algo como
git ls-files | xargs wc -l
que te dará el conteo total →
O use esta herramienta → http://line-count.herokuapp.com/
Hay una extensión para Navegador Google Chrome – GLOC que trabaja para reportos públicos y privados.
Cuenta el número de líneas de código de un proyecto de:
- página de detalles del proyecto
- repositorios de usuarios
- página de la organización
- página de resultados de búsqueda
- página de tendencias
- explorar página
valoraciones y reseñas
Si entiendes que ha sido de provecho este post, te agradeceríamos que lo compartas con otros entusiastas de la programación y nos ayudes a dar difusión a este contenido.