GNU/Linux >> Tutoriels Linux >  >> Linux

Conserver les autorisations de fichiers avec Git

Le git-cache-meta mentionné dans la question SO "git - comment récupérer les autorisations de fichier que git pense que le fichier devrait être?" (et la FAQ de git) est l'approche la plus simple.

L'idée est de stocker dans un .git_cache_meta fichier les permissions des fichiers et des répertoires.
Il s'agit d'un fichier séparé non versionné directement dans le dépôt Git.

C'est pourquoi son utilisation est :

$ 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

Alors vous :

  • regroupez votre référentiel et enregistrez les autorisations de fichier associées.
  • copiez ces deux fichiers sur le serveur distant
  • restaurez le référentiel ici et appliquez l'autorisation

Git est un système de contrôle de version, créé pour le développement de logiciels, donc à partir de l'ensemble des modes et des autorisations, il ne stocke que le bit exécutable (pour les fichiers ordinaires) et le bit de lien symbolique. Si vous souhaitez stocker des autorisations complètes, vous avez besoin d'un outil tiers, comme git-cache-meta (mentionné par VonC), ou Metastore (utilisé par etckeeper). Ou vous pouvez utiliser IsiSetup, que l'IIRC utilise git comme backend.

Voir la page Interfaces, frontends et outils sur Git Wiki.


Linux
  1. Bases des autorisations de fichiers Linux

  2. Démarrer avec ls

  3. Autorisations Linux :une introduction à chmod

  4. Comment activer les autorisations de fichiers Unix sur le partage Samba avec Smb 2.0+ ?

  5. Autorisations de fichiers sous Linux avec exemple

Comprendre les autorisations de fichiers Linux

Commande Chmod sous Linux (autorisations de fichiers)

Commande Linux WC avec exemples

Signatures numériques avec GnuPG

Autorisations et propriété des fichiers Linux expliquées avec des exemples

Gérer les autorisations de répertoire et de fichier avec chmod Recursive