git pull es lento cuando se usa en script de ant

Entonces, aquí está el trato:

matthijs@xx:xx (master)$ ant -v update Apache Ant version 1.6.5 compiled on January 6 2007 Buildfile: build.xml Detected Java version: 1.5 in: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85.x86_64/jre Detected OS: Linux parsing buildfile /var/www/xx/xx/xx/build.xml with URI = file:///var/www/xx/xx/xx/build.xml Project base dir set to: /var/www/xx/xx/xx Build sequence for target(s) `update' is [git-pull, update] Complete build sequence is [git-pull, update, composer-master, master_check, fetch_master, lint, api_check, create_api, prune_api, fetch_api, use_api, create_master, prune_master, use_master, shanetworking_check, create_shanetworking, prune_shanetworking, fetch_shanetworking, use_shanetworking, webservices_check, create_webservices, prune_webservices, fetch_webservices, use_webservices, use_dependencies, clean, prepare, basedir, composer-api, composer-portal, copy_api_ini, copy_portal_ini, phpdoc, build_nocq, phpunit, build_and_test, code-coverage, phpcpd, commit, pdepend, full_build, phpcs, pdepend-w-charts, ] git-pull: [echo] git pull [exec] Current OS is Linux [exec] Executing 'git' with arguments: [exec] 'pull' [exec] [exec] The ' characters around the executable and arguments are [exec] not part of the command. Username for 'https://git.xx.net': matthijs Password for 'https://matthijs@git.xx.net': [exec] Already up-to-date. update: BUILD SUCCESSFUL Total time: 32 seconds 

Como puede ver, tarda más de 30 segundos en completarse.

Las cosas (relacionadas) de mi file build.xml:

  <macrodef name = "git"> <attribute name = "command" /> <!--<attribute name = "options" default=""/>--> <attribute name = "dir" default = "" /> <element name = "args" optional = "true" /> <sequential> <echo message = "git @{command}" /> <exec executable = "git" dir = "@{dir}"> <arg value = "@{command}" /> <!--<arg value = "@{options}" />--> <args/> </exec> </sequential> </macrodef> <target name="git-pull" description="Pull the current git branch"> <git command="pull" dir="." /> </target> <target name="update" depends="git-pull" /> 

(Se eliminó todo el código no relevante)

Cuando ejecuto un git pull través de CLI es mucho más rápido:

 matthijs@xx:xx (master)$ time git pull Username for 'https://git.xx.net': matthijs Password for 'https://matthijs@git.xx.net': Already up-to-date. real 0m2.997s user 0m0.081s sys 0m0.083s 

¿Por qué el path "directo" es mucho más rápido? ¿La ant hace más cosas? ¿No sabe cuándo git está 'hecho'?

Nota sin contraseña (contraseña en caching) es rápido. Sí, sé que es posible usar keys ssh, etc., pero esto no debería ser necesario.

editar: realmente extraño, esto es con contraseña en caching (que fue rápido hace unos momentos)

 matthijs@xx:xx (master)$ ant update Buildfile: build.xml git-pull: [echo] git pull [exec] Already up-to-date. update: BUILD SUCCESSFUL Total time: 1 minute 13 seconds 

Debes actualizar tu versión de ant, ya que 1.6.5 es bastante viejo.
Puede probar las tareas ant y basadas en JGit (obtenga los binarys aquí ), para ver si funcionan mejor con ant / java.