2010-07-27 17 views
6

Ho un repository Mercurial centralizzato con cui voglio fornire l'accesso tramite SSH.Repository Mercurial multiutente su SSH?

Ho fatto una radice chown: repository sviluppatori -R nella directory repository, quindi tutti gli utenti del gruppo 'developers' dovrebbero avere accesso.

Quindi, clonare, aggiungere i miei file iniziali al repository come utente A, commit, push, done. Ora, vado come utente B, clona, ​​aggiungo un file, commetto e spingo. Ma poi, quando faccio un tiro, un aggiornamento, e cambiare il file come utente A e quindi provare a spingere, ho

pushing to /var/hg/repository 
searching for changes 
1 changesets found 
adding changesets 
adding manifests 
adding file changes 
transaction abort! 
rollback completed 
abort: Permission denied: /var/hg/repository/.hg/store/data/test.i 

mi manca un passo di configurazione? Non dovrei usare SSH?

EDIT Ho scoperto che l'uso del bit adesivo risolve il problema: How to set permissions so two users can work on the same hg repository?. Questa è una pessima soluzione?

risposta

3

Il bit di gruppo appiccicoso è il modo giusto per farlo. Inoltre, era necessario che le umasks dell'utente dovessero essere impostate in modo tale che il gruppo di lettura/scrittura fosse attivo per i nuovi file che aggiungono, ma per l'ultimo anno o due copie mercurial le autorizzazioni (non la proprietà) della directory .hg nel repository stesso su file appena creati, quindi l'umask non è così importante.

2

Forse ti potrebbe interessare da Mercurial-server: http://www.lshift.net/mercurial-server.html

mercuriale-server è utile se non si desidera fornire una shell per gli sviluppatori sul server che ospita repository centrale mercuriale.

Problemi correlati