2011-12-16 20 views
33

Il repository è di proprietà di root, e dev gruppoNon fidandosi di file .hg/hgrc dalla radice utente non attendibile, il gruppo dev

Un altro utente è in esecuzione hg update sul repository e ottenere i seguenti messaggi:

Not trusting file /dev/.hg/hgrc from untrusted user root, group dev 
Not trusting file .hg/hgrc from untrusted user root, group dev 
Not trusting file /dev/.hg/hgrc from untrusted user root, group dev 
Not trusting file /dev/.hg/hgrc from untrusted user root, group dev 
abort: Permission denied: /dev/src/backend/java/com/tt/afr/schedule/service/ScheduleComparator.java 

In /etc/mercurial/hgrc, abbiamo:

trusted.users=root 

Nella directory home dell'utente che esegue hg update, abbiamo questo file hgrc:

[trusted] 
users = root 
groups = dev 

L'utente si sta collegando al server utilizzando ssh ed esegue i comandi.

Cosa possiamo fare per risolvere questo problema?

+1

Sai che/dev è usato per altre cose, giusto? – cbz

+0

In realtà non è dev, è il nome della nostra app, l'ho modificato solo nella domanda. Sciocco da parte mia dimenticare che dev è usato per altre cose. – HyderA

risposta

60

Leggere lo help on trust in Mercurial e assicurarsi di aver aggiunto le impostazioni di attendibilità sul server. Quando ci si connette a SSH, non importa chi si fida o non si fida di localmente: è il binario hg che si esegue sul server (tramite il tunnel SSH) che deve considerare attendibile il file di configurazione.

Si noti inoltre che è necessario mettere

[trusted] 
users = root 

nel file /etc/mercurial/hgrc sul server. La sintassi section.key = name che usiamo quando parliamo delle impostazioni di configurazione funziona solo sulla riga di comando.

+0

Dall'articolo collegato: imposta trusted.users = root in/etc/mercurial/hgrc e quindi hgrc del tuo repository è di proprietà di root. – HyderA

+0

Sì, ma capisci che 'foo.bar = baz' è quello che usi nella riga di comando con' --config', in un file * di configurazione * devi usare la normale sintassi del file ini: '[foo] bar = baz' invece. –

+0

Ho appena aggiornato la pagina wiki per usare la sintassi corretta per il file di configurazione, spero che questo aiuti! –

20

Per tutti gli altri che ha aggiunto questo soluzione al loro /repo/.hg/hgrc e non è successo niente, questa soluzione ha funzionato per me: https://j.ee.washington.edu/trac/gmtk/ticket/33

Aggiungi a /etc/mercurial/hgrc.d/trust.rc

[trusted] 
groups = yourgroup 
users = youruser 

In sostanza, la scrittura le autorizzazioni per /repo/.hg/hgrc non funzioneranno, perché il file stesso è di proprietà di un utente non fidato.

Problemi correlati