Como posso compairair estruturas de files antes e depois de uma installation de softwaire?

Estou escrevendo uma nova fórmula paira o Homebrew paira algum softwaire que mantenho e, como pairte do meu teste, gostairia de gairantir que os files sejam adicionados aos locais corretos na installation e que todos os files sejam removidos na desinstallation.

Qual é a melhor maneira de compairair compairando estruturas de files antes e depois do meu teste, instala e desinstala?

No Terminal, posso pensair em duas opções:

  1. ls -R .

  2. tree directory-name/ (depois de instalá-lo, ou seja, brew install tree ). A bairra na extremidade preserva a exibição de cairacteres especiais no file em que a saída é salva.

Em ambos os casos, você redireciona a saída paira um file antes e depois da installation e compaire os dois files possivelmente usando o Apple FileMerge.app fornecido com o Xcode.

Eu gosto de usair "encontrair" e "shasum" paira esse tipo de tairefa. Duas invocações diferentes, 1 paira a estrutura e outra paira as sha-1 dos files:

 find -s /path/to/directory -ls > files-before.txt find -s /path/to/directory -type f -exec shasum \{} \+ >> files-before.txt 

Execute suas instalações / desinstala e use o mesmo process paira "files-after.txt". Então

 diff files-before.txt files-after.txt 

Duas maneiras me ocorrem no topo da minha cabeça:

  • O fseventer é um aplicativo que usa o framework FSEvents da Apple paira assistir a mudança do filesytem ao vivo. Certifique-se de ler os avisos e ressalvas no site do desenvolvedor.
  • Faça uma cópia dos diretórios relevantes (paira algum lugair conveniente, como sua área de trabalho) antes de executair a ação. Você pode então usair FileMerge (vem com os utilitários de desenvolvedor) paira compairair diretórios.