Erros não determinísticos ao usar sshfs aninhados

1

A implementação do OSX de sshfs não gosta de se conectar ao meu telefone Android executando SSHDroid , então Estou tentando obter acesso montando uma VM do ubuntu via sshfs , que por sua vez tem um ponto de montagem para o telefone.

Meu objetivo principal é extrair git commits de repos no telefone para aqueles no meu MacBook e vice-versa. Meu fluxo de trabalho típico é 1) confirmar alterações no Mac e no telefone; 2) puxar novo commit do telefone; 3) mesclar no Mac; 4) puxar merge commit de volta para o telefone.

Isso funciona principalmente, mas estou vendo git fetch (buscar o repositório localizado no telefone) frequentemente falhar com

error: unable to create temporary file: Interrupted system call
fatal: failed to write object
fatal: unpack-objects failed

Isso não acontece de forma consistente - às vezes git fetch é concluído com sucesso e tudo está bem. Talvez possa ser algum tipo de problema de tempo.

Existe uma opção que posso passar para uma ou ambas as invocações sshfs para fazer isso funcionar sem problemas?

Eu percebo que eu poderia puxar por meio de um repositório intermediário na VM, mas isso seria meio chato.

    
por intuited 12.03.2015 / 19:52

1 resposta

3

Use git fetch --quiet . Para implementar o medidor de progresso, git usa setitimer() , o que faz com que freqüentes SIGALRM s sejam entregues. sshfs não os manipula muito bem, causando Interrupted system call ou File exists erros, dependendo do tempo e do comando. O problema é dependente do tempo e piora com repositórios maiores.

    
por 10.06.2015 / 15:27

Tags