2.2 - Métodos de controle de acesso
Veja essa situação hipotética: suponha dois usuários, João e Maria. Cada um deles decide editar o mesmo arquivo ao mesmo tempo. Se o João salvar suas alterações primeiro, é possível que a Maria poderia acidentalmente sobrescrever as alterações feitas pelo João com sua versão do arquivo. Enquanto a versão do arquivo do João se perderia para sempre, qualquer alteração que João fez não estariam presentes na nova versão do arquivo de Maria, porque ela nunca viu as modificações do João. O trabalho do João foi perdido e esta é definitivamente uma situação que nós queremos evitar!
Há duas soluções para esta questão: travamento de arquivo e mesclagem.
a) Travamento de arquivo
Esse método funciona assim: a princípio, todos os arquivos do repositório são editáveis. Mas, quando um usuário quer realmente editar um arquivo, ele efetua o bloqueio do arquivo. Nesse momento, o arquivo do repositório fica bloqueado para edição (fica marcado “apenas para leitura”), somente esse usuário pode editar o arquivo. Dessa forma, nenhum outro usuário poderá modificar a versão do arquivo que está no repositório, apenas ler seu conteúdo. Quando o primeiro usuário terminar de editar o arquivo, ele faz o envio da versão que ele tem do arquivo para o repositório e desbloqueia-o. Dessa forma, outro usuário pode agora bloquear a nova versão do arquivo para completar com outras informações. Assim, um mesmo arquivo nunca estará sendo editada por duas pessoas ao mesmo tempo.
Clique aqui para ver quais são os principais problemas do travamento de arquivo.
Os principais problemas do travamento de arquivo são: