git svn clona sin problemas en Windows, se bloquea silenciosamente en OS X – ¿estado de soporte externo?

Intento usar git svn para clonar un repository que contenga elementos externos. En mi máquina Windows7, funciona perfectamente. En mi Mac falla silenciosamente después de crear el repository local vacío.

Las publicaciones que hablan de algunos de los problemas que rodean a este tema tienen más de dos años, así que espero que las cosas hayan cambiado.

Intenté con las versiones de Git y SVN instaladas con XCode, y con las versiones más recientes instaladas con HomeBrew y MacPorts. La última versión de Git (2.7.2) es con la que hice mi solución de problemas.

Encontré los hilos que hablan de la necesidad de vincular los modules SVN Perl en los directorys que están siendo buscados por el time de ejecución de Perl, y he hecho algo comparable con estos:

sudo ln -s /opt/local/lib/perl5/vendor_perl/5.22/darwin-thread-multi-2level/SVN /opt/local/lib/perl5/site_perl/5.22/darwin-thread-multi-2level/SVN sudo ln -s /opt/local/lib/perl5/vendor_perl/5.22/darwin-thread-multi-2level/auto /opt/local/lib/perl5/site_perl/5.22/auto 

Si bash con el depurador de Git activado, haga lo siguiente:

 GIT_TRACE=1 git svn clone -s https://my-remote-repo 

Recibo un montón de posts networkingundantes que se parecen al siguiente, con algo sospechoso sucediendo justo en el momento en que Git encuentra su primera reference externa:

 ... Checked through r45000 16:49:19.677091 git.c:348 trace: built-in: git 'config' 'svn-remote.svn.branches-maxRev' '45000' 16:49:19.684111 git.c:348 trace: built-in: git 'config' 'svn-remote.svn.tags-maxRev' '45000' Checked through r45100 16:49:19.721522 git.c:348 trace: built-in: git 'config' 'svn-remote.svn.branches-maxRev' '45100' 16:49:19.728460 git.c:348 trace: built-in: git 'config' 'svn-remote.svn.tags-maxRev' '45100' 16:49:19.784923 git.c:348 trace: built-in: git 'config' 'svn-remote.svn.reposRoot' 'https://a-remote-external' 16:49:19.807647 git.c:348 trace: built-in: git 'config' 'svn-remote.svn.branches-maxRev' '45172' 16:49:19.814647 git.c:348 trace: built-in: git 'config' 'svn-remote.svn.tags-maxRev' '45172' 

Si ejecuto con el depurador Perl de esta manera:

 PERLDB_OPTS="NonStop frame=5" /opt/local/bin/perl5.22 -d $(git --exec-path)/git-svn clone -s https://my-remote-repository 

Obtengo la siguiente papilla de stackgrace justo antes de que se bloquee. Parece que varios processs están enviando resultados a TTY para que las trazas de stack estén intercaladas. Hay una reference a Error :: throw () abajo en la parte inferior que espero sea útil.

  in .=main::post_fetch_checkout() from /opt/local/libexec/git-core/git-svn:387 in $=main::verify_ref('HEAD^0') from /opt/local/libexec/git-core/git-svn:1716 in $=Git::command_oneline(ref(ARRAY), ref(HASH)) from /opt/local/libexec/git-core/git-svn:1806 in @=Git::command_output_pipe(ref(ARRAY), ref(HASH)) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:314 in @=Git::_command_common_pipe('-|', ref(ARRAY), ref(HASH)) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:344 in @=Git::_maybe_self(ref(ARRAY), ref(HASH)) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:1561 in $=UNIVERSAL::isa(ref(ARRAY), 'Git') from /opt/local/lib/perl5/site_perl/5.22/Git.pm:1549 in .=Git::_check_valid_cmd('rev-parse') from /opt/local/lib/perl5/site_perl/5.22/Git.pm:1569 from /opt/local/lib/perl5/site_perl/5.22/Git.pm:1598 in .=Git::_setup_git_cmd_env(undef) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:1608 in .=Git::_execv_git_cmd('rev-parse', '--verify', 'HEAD^0') from /opt/local/lib/perl5/site_perl/5.22/Git.pm:1609 in @=Error::subs::with(ref(CODE)) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:325 in $=Error::catch('Git::Error::Command', ref(CODE)) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:325 in .=Error::subs::try(ref(CODE), ref(HASH)) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:325 in .=CODE(0x7fa8a367bd40)() from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:421 in .=Git::_cmd_close('rev-parse --verify HEAD^0', ref(GLOB)) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:319 in .=Error::throw('Git::Error::Command', 'rev-parse --verify HEAD^0', 128) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:1640 in $=Git::Error::Command::new('Git::Error::Command', 'rev-parse --verify HEAD^0', 128) from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:184 in $=Error::new('Git::Error::Command', '-text', 'command returned error', '-cmdline', 'rev-parse --verify HEAD^0', '-value', 128, '-outputref', undef) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:1466 in $=CODE(0x7fa8a31d3db8)(ref(Git::Error::Command), undef, '') from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:426 in $=Error::subs::run_clauses(ref(HASH), ref(Git::Error::Command), undef, ref(ARRAY)) from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:432 in $=Scalar::Util::blessed(ref(Git::Error::Command)) from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:324 in $=UNIVERSAL::isa(ref(Git::Error::Command), 'Git::Error::Command') from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:324 in .=CODE(0x7fa8a23a74b8)(ref(Git::Error::Command), ref(SCALAR)) from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:345 in .=Error::throw(ref(Git::Error::Command)) from /opt/local/lib/perl5/site_perl/5.22/Git.pm:324 in $=CODE(0x7fa8a31d3db8)(ref(Git::Error::Command), undef, '') from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:354 in $=Scalar::Util::blessed(ref(Git::Error::Command)) from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:440 in $=UNIVERSAL::can(ref(Git::Error::Command), 'throw') from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:440 in .=Error::throw(ref(Git::Error::Command)) from /opt/local/lib/perl5/vendor_perl/5.22/Error.pm:442 

Pregunta: ¿Puedo hacer que Git / SVN trabaje en mi MacBook? Si no, ¿hay alternativas que pueda aprovechar?