git-cache-meta
zmíněno v SO otázce "git - jak obnovit oprávnění k souboru, jak si git myslí, že by soubor měl být?" (a git FAQ) je přímější přístup.
Cílem je uložit do .git_cache_meta
soubor oprávnění k souborům a adresářům.
Je to samostatný soubor, který nemá verzi přímo v repozitáři Git.
Proto je použití:
$ git bundle create mybundle.bdl master; git-cache-meta --store
$ scp mybundle.bdl .git_cache_meta machine2:
#then on machine2:
$ git init; git pull mybundle.bdl master; git-cache-meta --apply
Takže vy:
- sbalte své úložiště a uložte související oprávnění k souboru.
- zkopírujte tyto dva soubory na vzdálený server
- obnovte tam úložiště a použijte oprávnění
Git je Version Control System, vytvořený pro vývoj softwaru, takže z celé sady režimů a oprávnění ukládá pouze spustitelný bit (pro běžné soubory) a bit symbolického odkazu. Pokud chcete uložit plná oprávnění, potřebujete nástroj třetí strany, například git-cache-meta
(zmínil VonC), nebo Metastore (používá etckeeper). Nebo můžete použít IsiSetup, který IIRC používá git jako backend.
Podívejte se na stránku Rozhraní, rozhraní a nástroje na Git Wiki.