Ubuntu: Jaunty
Mercurial: 1.3.1
Access: ssh (users john and bob)
File permission: -rw-rw---- 1 john john 129276 May 17 13:28 dirstate
User: bob
Command: 'hg st'
Response:
**abort: Permission denied: /our/respository/.hg/dirstate**
Ovviamente mercuriale non può permettere a bob di vedere lo stato perché il file che ha bisogno di leggere appartiene a me.Come impostare le autorizzazioni in modo che due utenti possano lavorare sullo stesso repository hg?
Quindi cambio le autorizzazioni per consentire a bob di leggere il file e tutto va bene, fino a quando non provo a fare qualcosa, da cui le situazioni sono invertite. Ora possiede il file e non riesco a leggerlo.
Così ho creato un gruppo di "committer" e sia john che bob appartengono al gruppo, ma ancora giocherelloni con la proprietà e le autorizzazioni ogni volta che uno o l'altro si impegna.
Inoltre, quando uno o l'altro di noi aggiunge un file al repository, il file è di proprietà esclusiva del committer. Per me va bene, dato che sono abbastanza familiare con chmod ma presenta un grosso problema a Bob quando trascuro di concedergli il permesso. Suppongo che abbiamo solo bisogno di un hook post-commit per questo; ma solo per includere questo sintomo ...
Come lo configuriamo in modo che due diversi accessi nello stesso gruppo possano eseguire il commit allo stesso repository su ssh?
Hai ragione. Il segreto è il bit appiccicoso ... "chmod g + s .hg .hg/store .hg/store/data" sembra aver reso le cose 'così-tanto-così-buone'. –
Sì, questo sistemerà qualsiasi nuovo file aggiunto. Il resto di quella roba era solo per riparare i file già creati. –