¿Cómo construyo y uso la última versión de git en cygwin?

En cuanto a por qué me gustaría hacer esto, vea esta pregunta: ¿Cuáles son las desventajas de usar los files binarys oficiales de Windows Git de cygwin?

O puede ver esto: http://git.661346.n2.nabble.com/Fwd-Error-with-git-svn-pushing-a-rename-td7599382.html Impide que presione los files renombrados al svn server.

Cygwin está atascado en una versión de git que tiene numerosos errores cuando se usa con el puente git-svn. Muchos de ellos se han solucionado en el último git (su twig principal, no la disponible para download). Entonces, ¿cómo lo consigues, construyes y usas?

Voy a responder esto a continuación.

Para comstackr git, vas a necesitar instalar algunos packages requeridos. Voy a suponer que sabes cómo instalar cosas en cygwin usando su setup.exe. Esto es lo que necesita para instalar:

git (you need git to get git source) make gcc-core libcurl-devel openssl-devel subversion-perl dos2unix libiconv libiconv-devel gettext expat gettext-devel expat-devel 

Así es como obtienes la fuente:

 git clone https://kernel.googlesource.com/pub/scm/git/git.git cd git 

Ahora, por alguna razón que no entiendo, tengo que convertir todos los files para tener terminaciones de línea Unix. No entiendo por qué ellos no vinieron de esa manera. Hice eso con esto:

 find . -type f | xargs dos2unix 

Finalmente, hice estos pasos:

  make -j8 make test; # optional, to verify that the git you built works ok export PATH=$(pwd)/bin-wrappers:$PATH 

Los files binarys de git están en ./bin-wrappers . Probablemente desee agregar permanentemente ese directory a su ruta.