Como posso copiar um repositório git de um Makefile?

2

Estou escrevendo um Makefile para sincronizar meus arquivos pontilhais locais com o GitHub. Eu recentemente decidi também adicionar minha pasta .vim ao repo. Mas ao tentar copiar a pasta .vim, continuo recebendo um erro de Permissão negada.

A linha no Makefile que deve copiar a pasta é:

@$(foreach file, $(FILES), echo "Copying $(BASH_DIR)$(file) to ."; cp -R $(BASH_DIR)$(file) . ; )

As permissões para a pasta .vim são drwxr-xr-x, e a mensagem de erro que recebo é:

cp: ./.vim/bundle/editorconfig-vim/.git/objects/pack/pack-bbb66dd84e2bdd3b05e19454b0800a928ecb94db.idx: Permission denied
cp: ./.vim/bundle/editorconfig-vim/.git/objects/pack/pack-bbb66dd84e2bdd3b05e19454b0800a928ecb94db.pack: Permission denied
cp: ./.vim/bundle/snipmate.vim/.git/objects/4d/e66757eebe4798eaaf02e3762a152d283eca81: Permission denied
cp: ./.vim/bundle/snipmate.vim/.git/objects/58/165f0e58211f8a5910df65414cc637651f046a: Permission denied
cp: ./.vim/bundle/snipmate.vim/.git/objects/6e/e90f3cfbd7c4956892da49896f62614448f851: Permission denied
cp: ./.vim/bundle/snipmate.vim/.git/objects/fc/161ff6515d405831c65c608d63627aa60c4066: Permission denied
cp: ./.vim/bundle/snipmate.vim/.git/objects/pack/pack-182ea16d08e5b471d5ce5f545f599f24ebe306cf.idx: Permission denied
cp: ./.vim/bundle/snipmate.vim/.git/objects/pack/pack-182ea16d08e5b471d5ce5f545f599f24ebe306cf.pack: Permission denied
cp: ./.vim/bundle/vim-jade/.git/objects/pack/pack-20254027167dcc621463c4454ed0fc539cf0b1da.idx: Permission denied
cp: ./.vim/bundle/vim-jade/.git/objects/pack/pack-20254027167dcc621463c4454ed0fc539cf0b1da.pack: Permission denied
cp: ./.vim/bundle/vim-markdown/.git/objects/pack/pack-b18aa89f38b322d622d05d969a9df41915bf9ea8.idx: Permission denied
cp: ./.vim/bundle/vim-markdown/.git/objects/pack/pack-b18aa89f38b322d622d05d969a9df41915bf9ea8.pack: Permission denied

Alguém sabe como posso fazer isso funcionar? De preferência sem ter que alterar as permissões manualmente.

@vonbrand Estou tentando adicionar minha configuração vim aos meus arquivos de ponto para facilitar o acesso em outros terminais. Eu estou usando o patógeno para lidar com meus plugins vim. Eles são manipulados clonando os plug-ins no diretório .vim/bundles . Quando tento cp -r .vim na minha pasta dotfiles, recebo o erro acima. Eu gostaria de encontrar alguma solução para ter esses repositórios como parte da minha pasta dotfiles sem ter que alterar manualmente as permissões, pois isso me forçaria a repetir esse processo toda vez que eu decidisse adicionar ou alterar um plugin. Não sei se a solução que estou procurando está passando alguma opção para cp , ou usando alguma outra ferramenta para copiar ou sincronizar o diretório .vim , ou se chown é a única opção que tenho. / p>

ls -ld ~/.vim/bundle/vim-jade/.git retorna drwxr-xr-x 12 $USER staff 408 Jan 21 15:26 ~/.vim/bundle/vim-jade/.git

    
por Eivind Eidheim Elseth 22.01.2013 / 10:28

1 resposta

1

Eu venho fazendo algo muito similar há alguns anos, e acabei usando symlinks para evitar a necessidade de copiar as coisas para trás e para frente. Se você também quer ter outros repositórios dentro do diretório .vim, você pode facilmente fazer isso com os submódulos do Git (usados, por exemplo, para incluir scripts de shell e makefiles comuns em mkgithub ).

    
por 23.01.2013 / 11:50