remote sharing walkthrough

/#comment-8db0dfe78c8f81f4d1d699bc5c3ae7

  • Bon, je me demande si j’ai bien tout compris de #git-annex...

    Je pensais qu’il était possible, avec git-annex assistant, c’est à dire, sans se soucier de rien (il tourne en arrière plan), de synchroniser un dossier de mon ordi avec mon disque dur externe, et d’avoir les mêmes fichiers aux deux endroits.

    Mais non, apparemment, le disque dur externe est utilisé comme « transfer repository », et permet « juste » de synchroniser mon ordi avec, disons, un autre ordi au bureau, en utilisant le disque dur externe comme intermédiaire. Mais sur celui-ci, pas de trace directe des fichiers en question, juste des fichiers abscons (qui sont apparemment ce que contiennent les répertoires .git/ : branches/, hooks/, info/, logs/, ...)

    Du coup, c’est beaucoup moins tentant, puisque ça fait de l’espace perdu. J’aimerais voir mes photos aussi sur ce disque dur externe.

    Ou est-ce que je me suis planté dans la configuration ?

    • Les manipulations (les mêmes opérations peuvent se faire avec un disque distant par SSH)

      créer un dépôt sur la clé USB

      1. créer un dépôt avec la webapp git-annex assistant sur mon ordi (/home/severo/gitannex/test/) et déposer les fichiers que je veux synchroniser
      2. sur la clé USB, cloner le dépôt

      cd /media/USB/gitannex/
      git clone /home/severo/gitannex/test/

      3. dans la webapp git-annex assistant, ajouter un nouveau dépôt USB, en pointant vers /media/USB/gitannex/test/ et accepter d’utiliser le dépôt existant (qu’on a créé à l’étape 2.)

      MAJ du dépôt sur la clé USB

      Maintenant, tout fichier ajouté dans le répertoire local sera envoyé directement (grâce au démon git-annex assistant) vers la clé USB. MAIS il n’apparaîtra pas dans le système de fichiers, c’est seulement le répertoire .git qui sera mis à jour. Pour MAJ aussi la copie de travail, il faudra synchroniser manuellement :

      cd /media/USB/gitannex/test/
      git annex sync

      MAJ du dépôt local après ajout d’un fichier sur la clé USB

      Dans l’autre sens, pour ajouter un fichier sur la clé USB, et la voir synchronisée sur mon disque local :
      0. la copie du nouveau fichier sur la clé USB

      cp nouveaufichier /media/USB/gitannex/test/

      1. la prise en compte du fichier par git-annex
      cd /media/USB/gitannex/test/
      git annex add /media/USB/gitannex/test/nouveaufichier

      2. la synchronisation
      git annex sync

      C’est alors, seulement, que le fichier sera rapatrié sur le disque dur par le démon git-annex assistant.

      À noter : pour savoir quels sont les fichiers de la clé USB non gérés par git-annex, il suffit de faire

      cd /media/USB/gitannex/test/
      git annex status

      et les fichiers non gérés sont affichés avec un point d’interrogation
      ? tmp.txt
    • J’ai tenté la même manip, en changeant le mode « external drive » par « local repo », mais avec les mêmes résultats : la synchro n’est automatique que sur 1 seule des deux copies. Sur l’autre il faut faire explicitement sync (et même sync --content si on tourne sans l’assistant et si j’en crois http://git-annex.branchable.com/sync).

      J’ai aussi essayé en passant les deux repos en mode direct ; c’est à mon sens plus joli (notamment on peut supprimer tout le répertoire .git/ sans perdre ses fichiers) ; ça n’a rien changé au problème.