Lavoro su un repository Mercurial che è stato estratto su un filesystem Unix come ext3 su alcune macchine e FAT32 su altri.Impostazione bit di esecuzione di Mercurial su Windows
In Subversion, posso impostare la proprietà svn: eseguibile per controllare se un file deve essere contrassegnato come eseguibile al momento del check out su una piattaforma che supporta tale bit. Posso farlo indipendentemente dalla piattaforma su cui sto eseguendo SVN o dal filesystem che contiene la mia copia di lavoro.
In Mercurial, posso chmod + x ottenere lo stesso effetto se il clone si trova su un filesystem Unix. Ma come posso impostare (o rimuovere) il bit eseguibile su un file su un filesystem FAT?
Ho provato ad usare questa tecnica quando aggiungo un file e non ha funzionato. Ho aggiunto il file, creato la patch, ripristinato il repository, rimosso il file, modificato la patch sostituendo 0644 con 0755 e importato la patch. Quando si tira su un sistema Unix, la modalità è ancora 0644. Mercurial 1.9.1. –
Il pull non crea il file, l'aggiornamento fa. Dopo aver tirato e fatto un 'hg log --git -p' vedi il 100755 nella patch? Quando aggiorni che il bit di esecuzione potrebbe essere disinserito se umask lo proibisce, il file system viene montato no-execute, o poche altre cose improbabili. –
Osservando il log, mostra la modalità 0644, quindi per qualche motivo, non ha accettato la modalità dalla patch modificata. –