mv “Não é um diretório” quando o nome do alvo é longo demais

3

Estou tentando fazer um svn checkout na minha caixa vagrant local do Ubuntu 14.04 LTS (SSH via MTPutty):

vagrant@vagrant-ubuntu-trusty-64:~/shared/dev$ svn checkout https://...
[...]
svn: E000020: Can't move '/home/vagrant/shared/dev/svv/.svn/tmp/svn-EGIIH6' to '/home/vagrant/shared/dev/svv/trunk_new/htdocs/vendor/white-october/pagerfanta-bundle/WhiteOctober/PagerfantaBundle/TestsProject/src/WhiteOctober/PagerfantaTestBundle/Resources/views/Pagerfanta/twitterBootstrap3TranslatedView.html.twig': Not a directory

O diretório existe:

vagrant@vagrant-ubuntu-trusty-64:~/shared/dev$ ls -al /home/vagrant/shared/dev/svv/trunk_new/htdocs/vendor/white-october/pagerfanta-bundle/WhiteOctober/PagerfantaBundle/TestsProject/src/WhiteOctober/PagerfantaTestBundle/Resources/views/Pagerfanta/
total 6
drwxrwxrwx 1 vagrant vagrant 4096 May 15 09:35 .
drwxrwxrwx 1 vagrant vagrant    0 May 15 09:27 ..
-rw-rw-rw- 1 vagrant vagrant   50 May 15 09:27 defaultTranslatedView.html.twig
-rw-rw-rw- 1 vagrant vagrant   41 May 15 09:27 myView1.html.twig
-rw-rw-rw- 1 vagrant vagrant   50 May 15 09:27 twitterBootstrap3View.html.twig
-rw-rw-rw- 1 vagrant vagrant   49 May 15 09:27 twitterBootstrapView.html.twig

Eu então tentei mover o arquivo manualmente, o que também falha:

vagrant@vagrant-ubuntu-trusty-64:~/shared/dev$ sudo mv /home/vagrant/shared/dev/svv/.svn/tmp/svn-EGIIH6 /home/vagrant/shared/dev/svv/trunk_new/htdocs/vendor/white-october/pagerfanta-bundle/WhiteOctober/PagerfantaBundle/TestsProject/src/WhiteOctober/PagerfantaTestBundle/Resources/views/Pagerfanta/twitterBootstrap3TranslatedView.html.twig
mv: cannot move ‘/home/vagrant/shared/dev/svv/.svn/tmp/svn-EGIIH6’ to ‘/home/vagrant/shared/dev/svv/trunk_new/htdocs/vendor/white-october/pagerfanta-bundle/WhiteOctober/PagerfantaBundle/TestsProject/src/WhiteOctober/PagerfantaTestBundle/Resources/views/Pagerfanta/twitterBootstrap3TranslatedView.html.twig’: Not a directory

Se eu encurtar o nome do arquivo, o mv terá sucesso:

vagrant@vagrant-ubuntu-trusty-64:~/shared/dev$ sudo mv /home/vagrant/shared/dev/svv/.svn/tmp/svn-EGIIH6 /home/vagrant/shared/dev/svv/trunk_new/htdocs/vendor/white-october/pagerfanta-bundle/WhiteOctober/PagerfantaBundle/TestsProject/src/WhiteOctober/PagerfantaTestBundle/Resources/views/Pagerfanta/twitter.html.twig
vagrant@vagrant-ubuntu-trusty-64:~/shared/dev$ ls -al  /home/vagrant/shared/dev/svv/trunk_new/htdocs/vendor/white-october/pagerfanta-bundle/WhiteOctober/PagerfantaBundle/TestsProject/src/WhiteOctober/PagerfantaTestBundle/Resources/views/Pagerfanta/
total 7
drwxrwxrwx 1 vagrant vagrant 4096 May 15 09:33 .
drwxrwxrwx 1 vagrant vagrant    0 May 15 09:27 ..
-rw-rw-rw- 1 vagrant vagrant   50 May 15 09:27 defaultTranslatedView.html.twig
-rw-rw-rw- 1 vagrant vagrant   41 May 15 09:27 myView1.html.twig
-rw-rw-rw- 1 vagrant vagrant   50 May 15 09:27 twitterBootstrap3View.html.twig
-rw-rw-rw- 1 vagrant vagrant   49 May 15 09:27 twitterBootstrapView.html.twig
-rw-rw-rw- 1 vagrant vagrant   61 May 15 09:27 twitter.html.twig

O que estou perdendo aqui?

Editar:

@ Stéphane Chazelas Uau, eu não tinha pensado nisso. Eu estou tentando fazer o check-out svn no diretório compartilhado. O nome do arquivo é simplesmente muito longo para NTFS e, como é sincronizado entre host e guest, o mv falha. Cheers mate.

Segunda edição:

@ Stéphane Chazelas O diretório compartilhado usado para residir na minha pasta Usuário na minha unidade local ( C:\Users\benjamin.franke\Documents\Vagrant\data ). Mover a pasta para C:\dev me permitiu executar com êxito o check-out do svn em um repositório, mas falha com outro que contém um arquivo com um caminho ainda mais longo.

Minha entrada de pasta sincronizada Vagrantfile tem esta aparência:

 config.vm.synced_folder "C:/dev", "/home/vagrant/shared", :mount_options => ["dmode=775","fmode=664"]

Eu posso dar uma chance a este link e postar feedback.

    
por Benfranke 15.05.2015 / 11:39

0 respostas