Editar o hardlink não edita o arquivo original

1

Eu tenho um arquivo em D:\JavaScript\CheckIban.js e quero reutilizá-lo em muitos lugares sem duplicá-lo. Porque quando eu corrijo um bug (mudo seu conteúdo) eu preciso que essa mudança seja propagada para todos os arquivos. Usando links, meu plano é alterar uma instância dos hardlinks e esperar que outras instâncias sejam atualizadas automaticamente.

Agora, digamos que criei um link físico para este arquivo usando:

mklink /H D:\Projects\Crm\Site\Scripts\CheckIban.js D:\JavaScript\CheckIban.js

e recebo a mensagem de sucesso de que o hardlink é criado para ...

No entanto, quando abro cada arquivo e o altero, o conteúdo do outro arquivo não é alterado. O que eu sinto falta aqui?

Notas: Não posso usar links suaves, porque estou usando um programa (TFS) que não suporta o trabalho com links suaves.

    
por Saeed Neamati 29.04.2015 / 08:12

1 resposta

0

Há uma diferença entre alterar o arquivo e substituir o arquivo. De acordo com esta página da Microsoft em Links e junções de hardware , "Quaisquer alterações a esse arquivo são instantaneamente visíveis para aplicativos que o acessam através dos hard links que o referenciam." No entanto, considere o que acontece quando você substitui um arquivo: o sistema de arquivos exclui o arquivo (nesse caso, o link físico) e grava o novo arquivo com o mesmo caminho e nome do antigo link físico .

Então, depende de como o programa que você está usando para alterar o arquivo grava no sistema de arquivos quando atualiza o arquivo.

Veja também Quais operações quebram os hardlinks

    
por 24.08.2015 / 13:43