Como posso automaticamente chover um arquivo para o usuário que fez a modificação?

1

Eu configurei uma estrutura de diretórios compartilhada para usuários que acessam um conjunto comum de arquivos. Os arquivos criados por um usuário são de propriedade desse usuário (o grupo é herdado do diretório pai), portanto, a equipe sabe a quem perguntar sobre novos arquivos. No entanto, os arquivos modificados por um usuário não são atualizados para refletir esse usuário, portanto, a equipe não tem idéia de quem criou as edições em um arquivo.

Eu gostaria que os arquivos editados por um usuário fossem automaticamente enviados para esse usuário.

Os recursos já são controlados por revisão, mas eu quero que a equipe saiba quem está fazendo edições locais nessa caixa de areia compartilhada, entre os check-ins. Em um mundo ideal, as pessoas se lembram de cometer ou limpar todas as mudanças, mas ninguém é perfeito!

EDITAR

Por "já controlado por revisão", quero dizer, é um checkout do svn. Não estamos usando truques do sistema de arquivos para implementar nosso próprio tipo de controle de revisão. Para este caso em particular (eu percebo que não faria sentido na maioria dos casos), compartilhar o checkout, em vez de todo mundo se comprometer a partir de sua própria sandbox e publicar as alterações, é o mais produtivo.

    
por Chris Betti 27.02.2012 / 16:27

2 respostas

1

Remova as permissões de gravação do grupo e de outros arquivos, mas conceda-lhes permissões de gravação nos diretórios para que todos possam excluir arquivos. Então, quando um usuário deseja modificar um arquivo, ele precisa remover o arquivo original e escrever outro em seu lugar.

Como alternativa, você pode permitir sudo chown (sem permitir que sudo seja usado para outros comandos). Isso forçaria os usuários a assumirem a propriedade antes de editar.

    
por 27.02.2012 / 21:40
1

Parece bastante estranho usar sistemas de arquivos dessa maneira, eles não são realmente feitos para controle de revisão e trabalho colaborativo.

De qualquer forma, eu acho que você pode fazer algo com inotify . Há um evento IN_MODIFY que indica quando seu arquivo foi modificado.

Você pode usar ferramentas como inotify-tools ou criar seu próprio programa com a C-API .

    
por 27.02.2012 / 16:39