O que acontece quando eu faço backup de um link simbólico para uma pasta?

3

A história: Eu comecei recentemente a tentar o DropBox. Depois de alguns mexer, descobri que poderia usar um aplicativo, DropBoxFolderSync , para sincronizar uma pasta com o DropBox, deixando algo chamado "Symbolic Link" "(que parece análogo a um ponteiro na programação) na localização da pasta anterior.

Parecia bom e eu sempre podia copiar os arquivos reais de volta do DropBox, então eu usei isso na minha pasta de projetos de programação - É sempre bom ter armazenamento externo.

No entanto, é sempre bom ter um backup local também, então eu já tinha deixado cair a minha pasta Projects na partição C: \ para um Briefcase na partição D: \.

Então, para resumir:

  • Pasta de projetos com backup para o Porta-arquivos.

  • Trabalhei um pouco, decidi dar uma chance ao DropBox.

  • Pasta de projetos sincronizada com o DropBox usando DropBoxFolderSync; links simbólicos deixados para trás.

  • Em seguida, atualizei o Porta-arquivos, porque já tinha feito algum trabalho desde a última vez que o atualizei. Alguns arquivos foram copiados.

Uma lista de pastas:

  • Pasta de projetos: "C: * \ Visual Studio 2010 \ Projects" (contém links simbólicos)

  • Pasta de projetos DropBox: "C: * \ DropBox \ Projects" (contém os arquivos reais)

  • Porta-arquivos: * "Backups \ Visual Studio 2010 Projects" na unidade D: (faz referência à pasta Project)

Agora, minha pergunta é: o Briefcase irá acumular os links simbólicos ou os arquivos reais? Ou seja, na programação speak (porque é o que eu sei), irá copiar o ponteiro ou o valor referenciado?

    
por Narf the Mouse 23.09.2011 / 19:53

1 resposta

1

Ele copiará os arquivos (valores referenciados). Este é o comportamento padrão dos hardlinks. Tecnicamente, esses não são links simbólicos.

Para copiar o hardlink (NTFS chama junções se eles apontarem para uma pasta em vez de um arquivo) você precisa explicitamente chamar uma função CreateHardLink. Você pode seguramente assumir que qualquer programa que não seja especificamente hardlink aware sempre copiará o "valor referenciado".

BTW, os links simbólicos são diferentes porque são literalmente um arquivo que contém o caminho para o destino.

editar

Para os nerds que estão lendo. . .

Hardlinks e junções em NTFS link

O resultado de diferentes funções quando executado em um link simbólico link

    
por 24.09.2011 / 03:23