Questão Por que o rsync pula uma subpasta chamada “core”?


Eu estou usando o seguinte comando para sincronizar arquivos de uma pasta para outra no meu sistema OSX local:

rsync -avC ./src ~/Sites

Dentro de ./src Existem várias subpastas:

  • ./src/assets
  • ./src/core 
  • ./src/css 
  • ./src/js

Todas as pastas e conteúdo são copiados como esperado, exceto para ./src/core. Renomear a pasta resolve o problema, mas não é uma opção. Por exemplo, nomeado como ./src/core2 e funciona.


4


origem




Respostas:


Faz isso porque você pediu. Especificamente, você perguntou com -C que "ignora coisas como o CVS".

Isso inclui vários tipos de lixo como despejos de núcleo que não são realmente interessantes no lado distante do link. Exceto que faz isso pelo nome em vez de "tipo e nome", então seu diretório fica preso na mistura.

A partir de rsync(1), a lista do que exclui:

RCS  SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #*
.#* ,* _$* *$ *.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o  *.obj  *.so
*.exe *.Z *.elc *.ln core .svn/ .git/ .hg/ .bzr/

Para ignorar arquivos e pastas do CVS e incluir a pasta "core", inclua explicitamente "core" da seguinte forma:

rsync -avC --include "core" ./src ~/Sites

10



Ah, eu preciso disso para ignorar o material .svn, mas não uma pasta chamada "core" Overlooked core nessa lista. Obrigado. - Michael Prescott
Posso fazer as duas coisas? Primeiro, exclua tudo isso, mas inclua apenas o meu "core" - Michael Prescott
Acho que uma inclusão explícita substituirá a exclusão. Dê uma chance. - Daniel Pittman
Sim, a solução: rsync -avC --include "core" ./src ~ / Sites - Michael Prescott
Além disso, o rsync respeita a lista de ignorados em .cvsignore. - Jānis Elmeris