Ho visto un certo numero di post sul blog e ho sperimentato personalmente che Mercurial non conserva le autorizzazioni sui file trasferiti da un repository all'altro. Qualcuno sa di un'estensione Mercurial che preserverebbe le autorizzazioni? Suppongo che non possa essere eseguito con un hook, perché cosa sa un hook sulle autorizzazioni al repository di origine?È possibile eseguire Mercurial per preservare le autorizzazioni dei file?
elaborazione richiesto:
Se l'unica modifica a un file è un cambiamento di permessi (ad esempio
chmod o+r filename
), tenta di commettere il file fallire con un messaggio che dice che il file non è cambiato.Se commetto un file con permessi 600 (rw -------), quindi clonare il repo, lo stesso file nel clone dispone di autorizzazioni 664 (rw-rw-r--):
: [email protected] 6522 ; hg clone one two updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved : [email protected] 6523 ; ls -l one two one: total 4 -rw------- 1 nr nr 8 Aug 18 21:50 foo two: total 4 -rw-rw-r-- 1 nr nr 8 Aug 18 21:51 foo
Questo esempio dimostra che hg clone
non preserva i permessi, ma hg push
non conservi la loro neanche.
Nella mia applicazione, un pronti contro termine è in un percorso accessibile al pubblico, ed è di grande importanza che
Più utenti hanno il diritto di modificare il repo
file nel repository pubblico diventare leggibile solo se esplicitamente reso leggibile.
Puoi approfondire un po 'questo? Posso modificare le autorizzazioni sui miei file locali, eseguire il commit delle modifiche, inviarle a un clone e il clone, quando lo aggiorno, modificherà le autorizzazioni. La chiave è che devo impegnarmi e aggiornarmi. Vuoi che il clonato spinga a cambiare i permessi solo dalla push? Per notare le modifiche locali senza il commit? Per dedurre tutte le autorizzazioni * esistenti *? Qual è il problema esatto/cosa mi sto perdendo? – quark
@quark: come è fatto? Sto usando hg 1.2.1 su Debian Linux e non riesco nemmeno a capire che un cambiamento nel permissino è un cambiamento che vale la pena di commettere. (NB Ho elaborato come da tua richiesta.) –
Norman: scopre che quello che mi manca è il fatto che vuoi tenere premuto per passare a "r" e "w", e quello di cui sto parlando sono i cambiamenti a "x" (che Mercurial ha tracciato da 0.6). Avrei dovuto capire che intendevi leggere/scrivere non eseguibile. – quark