Por que subversão chown / criar arquivos no check-in?
-
03-07-2019 - |
Pergunta
Eu tenho um wiki pessoal que eu tomar notas diante. As páginas do Wiki estão em um diretório de cópia de subversão trabalhando, "páginas", e eu definir suas permissões para 664, de propriedade de www-data: www-data. Meu nome de usuário está no grupo "www-data", para que eu possa check-in e mexer com as páginas manualmente.
Por um tempo, eu tive um problema porque cada vez que eu corri um check-in, os arquivos seria de propriedade de mim: www-data, em vez de www-data: www-data, e eu não seria mais capaz de mudar o wiki arquivos através da minha interface web! Eu resolvi o problema lançando o bit setgid no diretório "páginas", mas ainda estou confuso sobre o porquê isso aconteceu, em primeiro lugar:
Toda vez que eu verificar algo em subversão, ele aparece como se svn exclui-lo e recriá-la. Por quê? Será que este comportamento apoiar algumas funcionalidades que eu não estou ciente de? Existe uma maneira de mudar isso?
Obrigado!
Solução
Definir as permissões "pegajosas" bit.
find -type d -exec chgrp www-data {} +
find -type d -exec chmod g+s {} +
isso vai incentivar fase de criação do arquivo de check-out para herdar as permissões diretórios em vez de mudar para a pessoa a quem última editou.
Editar : dow + s == setgid. Informações deixou aqui para a posteridade e outros leitores.
Outras dicas
Eu acho que você está usando errado. O que você poderia fazer ainda é ter tudo em subversão e tem copiar o seu trabalho local separado do diretório www que você desenvolver em.
Em seguida, basta ter o www working-copy-auto atualizado (ou exportados se você não quiser que os diretórios .svn na pasta www) para o usuário www por algum script (talvez como gancho post-commit ), que, em seguida, setups permissões em conformidade <. / p>
O fluxo de trabalho seria:
- editar arquivos em / home / youruser / yourwiki-working-copy /
- não svn
- post-commit gancho atualiza os arquivos em / var / www / (ou onde quer que o wiki está localizado)
- Goto 1.
Desta forma, você não precisa se preocupar com permissões e você ainda pode ter um trabalho mais de uma pessoa no site com todos os benefícios de controle de versão.