Usando o git sobre o sshfs no OSX

1

Devido a um novo trabalho, estou mudando do Ubuntu 14.04 para o OSX Yosemite.

Eu principalmente trabalho em R, e eu estava usando o RStudio e git para gerenciar meu código em um servidor (Debian). Para isso eu montei o servidor usando sshfs e simplesmente usei como se fosse um volume local, que funcionava perfeitamente.

Eu tentei fazer isso no OSX, mas em vez disso montá-lo via osxfuse + sshfs. No entanto, o git não funciona corretamente quando executado no volume OSXFUSE, causando o seguinte erro ao tentar confirmar alterações:

fatal: Unable to create '/Users/maltethodberg/server/home/nzl922/rstudio_projects/mactest2/.git/index.lock': File exists.

If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.

Eu posso criar e gerenciar projetos git usando o Rstudio criado localmente na minha máquina.

Existe algum truque para fazer o git jogar bem com o sshfs no OSX que eu não conheço? Neste momento não tenho certeza se é um problema no servidor ou na minha máquina local.

Qualquer ajuda é muito apreciada!

    
por Misconstruction 04.05.2015 / 16:50

1 resposta

1

Existe provavelmente um arquivo index.lock na pasta .git que está causando essa mensagem de erro. O erro é mostrado sempre que uma alteração é feita por um usuário e o bloqueio é de propriedade de outro usuário. Isso protegerá a árvore git local dos commits de diferentes usuários que interferem uns com os outros.

Você pode se perguntar por que o bloqueio não pertence ao seu usuário no sistema remoto, já que essa conta pertence a você. Isto é provavelmente devido ao fato de que osxfuse e sshfs não estão dando a você as permissões corretas. O que acontece é que o sistema remoto tenta combinar seus IDs de usuário e grupo locais com os do sistema remoto. Isso pode ser o que está causando o problema. Você pode tentar deixar o sshfs obter as permissões corretas no sistema remoto.

De este post , cito:

If you call sshfs from command line just add -o defer_permissions. If you use Macfusion put -o defer_permissions in "SSH Advanced > Extra Options".

    
por 04.05.2015 / 17:16

Tags