Como manter grupos ao puxar com git

1

Eu tenho um site de teste que é um diretório de trabalho de um repositório git. Como configurar o git para permitir que um desenvolvedor extraia uma ramificação ou libere sem alterar o grupo dos arquivos modificados?

Um exemplo. Digamos que eu tenha dois desenvolvedores, robin e david. Ambos estão no grupo git-users, então inicialmente eles podem ter permissões de gravação em site.php.

-rw-rw-r--  1 robin git-users   46068 Nov 16 12:12 site.php
drwxrwxr-x  8 robin git-users    4096 Nov 16 14:11 .git

Após robin-server1 $ git pull origem mestre:

-rw-rw-r--  1 robin robin       46068 Nov 16 12:35 site.php
drwxrwxr-x  8 robin git-users    4096 Nov 16 14:11 .git

E david não tem permissões de gravação no site.php, porque o grupo mudou de 'git-users' para 'robin'. A partir de agora, david terá uma permissão negada, quando ele tentar puxar para este repositório.

    
por mimrock 16.11.2012 / 14:48

2 respostas

4

Isso é melhor resolvido com a configuração das permissões em todos os diretórios. Se você definir o bit 'fixo' do grupo, todos os arquivos no diretório manterão o grupo do diretório quando os membros do grupo os modificarem. Portanto, para definir isso rapidamente no site de teste, faça o seguinte:

chmod g+ws [directory]
find [directory] -type d -exec chmod g+ws {} \;
find [directory] -type f -exec chmod g+w {} \;

O primeiro comando define a gravação e os bits adesivos para o grupo no diretório de nível superior do site. O segundo, em seguida, encontra todos os subdiretórios da pasta de nível superior e faz o mesmo. O terceiro, então, garante que o grupo tenha acesso de gravação a todos os arquivos.

Quando você cria inicialmente o repositório git, é possível fazer isso automaticamente usando a opção --shared :

git create --shared [directory]
    
por 26.11.2012 / 10:50
0

Experimente os submodules do git, que devem ser uma solução para o que você precisa.

Ou, se você realmente não quiser, você pode implementar alguns scripts para isso, que armazenará alguns arquivos antes de extraí-los, mas isso também causará problemas mais tarde com a mesclagem.

    
por 18.11.2012 / 00:11