git-dumper



Una herramienta para volcar un repositorio git desde un sitio web.                                           

git-dumper

Una herramienta para volcar un repositorio git desde un sitio web.

Uso

usage: git-dumper.py [options] URL DIR

Dump a git repository from a website.

positional arguments:
  URL                   url
  DIR                   output directory

optional arguments:
  -h, --help            show this help message and exit
  --proxy PROXY         use the specified proxy
  -j JOBS, --jobs JOBS  number of simultaneous requests
  -r RETRY, --retry RETRY
                        number of request attempts before giving up
  -t TIMEOUT, --timeout TIMEOUT
                        maximum time in seconds before giving up

Ejemplo

./git-dumper.py http://website.com/.git ~/website

Instala las dependencias

pip install -r requirements.txt

¿Como funciona?

La herramienta primero verificará si la lista de directorios está disponible. Lo es, luego solo descargará recursivamente el directorio .git (lo que haría con wget).
Si la lista de directorios no está disponible, utilizará varios métodos para encontrar tantos archivos como sea posible. Paso a paso, git-dumper:
  • Fetch todos los archivos comunes ( .gitignore.git/HEAD.git/index, etc.);
  • Encuentra tantas referencias como sea posible (como refs/heads/masterrefs/remotes/origin/HEAD, etc.) mediante el análisis de .git/HEAD.git/logs/HEAD.git/config.git/packed-refsy así sucesivamente;
  • Encontrar tantos objetos (SHA1) como sea posible mediante el análisis de .git/packed-refs.git/index.git/refs/*.git/logs/*;
  • Recoge todos los objetos recursivamente, analizando cada uno de los compromisos para encontrar a sus padres;
  • Ejecutar git checkout .para recuperar el árbol de trabajo actual.












































Comentarios