As alterações feitas nos arquivos geralmente são muito menores que os arquivos que estão sendo alterados.
Isso significa que armazenar um diff pode economizar muito espaço. Quando diff
foi criado, o espaço em disco era caro.
Mas isso também significa que você pode aplicar novamente um diff a um arquivo, mesmo quando esse arquivo foi alterado de outras maneiras. O utilitário de correção fará isso por você e informará quando houver problemas.
Este é, de fato, o motivo mais importante para trabalhar com diferenças no desenvolvimento de software. Quando uma alteração é feita (geralmente em mais de um arquivo), ela pode ser salva como um diff: o resultado é chamado de conjunto de alterações ou patch . Se tudo estiver bem, o patch não é apenas uma mudança arbitrária, mas implementa algum tipo de mudança funcional - por exemplo, uma correção de bug ou um novo recurso.
Enquanto isso, uma mudança diferente pode ser feita, possivelmente por um desenvolvedor diferente, mesmo em um local diferente. Se as alterações não foram feitas nas mesmas partes dos mesmos arquivos, elas podem ser aplicadas independentemente. Assim, os desenvolvedores podem enviar seus patches para testes. Um conjunto inteiro de patches pode ser construído, representando possíveis alterações; alguns deles podem ser rejeitados, o restante será integrado ao sistema.
Portanto, trabalhar com diffs permite o desenvolvimento simultâneo. Você não precisa mais trabalhar em uma alteração de cada vez.
Os modernos sistemas de controle de versão distribuída são uma continuação dessa maneira de trabalhar.