Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Des centaines de fichiers xmp ratachés a rien
#11
À mon avis, le plus simple est de conserver ces fichiers .xmp. Au pire, tu auras perdu 3000 * pas grand chose d'espace disque (1 fichier = quelques dizaines de Ko, 3000 fichiers ça fait au pire 100 Mo, c'est l'équivalent de 5 images RAW à peu près ...), et inversement il est possible qu'un jour tu veuilles vraiment récupérer ces données et si tu les supprimes maintenant il sera trop tard.
Répondre
#12
(01-10-18, 12:39)philippus a écrit : Je reviens sur le sujet, car le souci c'est que lorsque que l'on met une image à la poubelle avec darktable, ce dernier supprime l'image mais ne supprime pas le XMP qui lui est rattaché !!!

Il en ressort qu'on se retrouve dans ce cas avec un énorme paquet de fichiers XMP qui ne servent plus a rien.

La question est : comment les suprimer automatiquement ?

Y-a-t-il une combine, un truc que je n'ai pas vu ? car manuellement c'est presque impossible a faire, il doit bien y avoir entre 2 et 3000 fichiers a suprimer !!!

Sur quelle plateforme travailles-tu, et avec quelle version de DT ? Car je viens de vérifier sur mon Opensuse : si je mets un fichier à la corbeille avec DT, ce sont bien le raw ET le xmp qui sont "jetés". Bizarre...

Sinon, sous Linux, l'écriture de quelques lignes de script permettent de régler le problème en quelques secondes :
Code :
#!/bin/bash
# attention: ce code ne fonctionne pas avec les fichiers xmp de LR
# qui n'ont pas la même structure de nom que ceux de DT

for i in *.xmp ; do
  if test ! -e ${i%".xmp"} ; then
    rm $i
  fi
done
Sous Windows, je ne sais pas...
Mes photos : jpverrue.fr
Répondre
#13
(30-09-18, 11:02)philippus a écrit : Bonjour,

Etant sous linux, je serai interessé de connaitre ces commandes afin de faire un peu le ménage dans ces XMP orphelins !!

Merci

En 1er lieu une sauvegarde de tous les xmp ne sera peut-être pas superflue...

Sais-tu lancer un terminal (Ctrl + Alt + t) et aller sur le répertoire racine des photos (cd ton-repertoire-racine-des-photos) ?

Ensuite en deux commandes, en supposant que tes fichiers XMP sont nommés .xmp (en minuscules, sinon remplacer par des majuscules dans les commandes), il suffit de copier (Ctrl+c) et coller (Maj+Ctrl+v) dans le terminal :

Code :
find . -name "*.xmp" -exec bash -c 'echo "{}" | sed "s/.xmp//g"' \; > /tmp/photos
while read f ; do if [ ! -e "$f" ]; then echo "$f.xmp" ; fi ; done < /tmp/photos

Ça ne supprime rien ! Ça affiche la liste des fichiers XMP "orphelins".

Si ça te liste bien effectivement ce que tu attends, i.e. la liste des XMP non liés aux photos qu'ils prétendent, alors :

Code :
while read f ; do if [ ! -e "$f" ]; then rm -f "$f.xmp" ; fi ; done < /tmp/photos

Doit y avoir d'autres méthodes, l'important c'est sans doute que ça vire ce qu'il faut.
dt stable / Ubuntu 22.04
Répondre
#14
bonjour à tous
Comme Marcel43 je suis sous windows et darktable2.4.4. et je viens de m'apercevoir du même problème mais en pire, j'ai plus de 33 000 fichiers .xmp orphelins dans la racine de mon dossier image, là où je ne range jamais mes photos autrement que dans des sous dossiers.
J'ai de nombreuses photos rangées à part que je n'ai pas mis dans darktable, pour ne pas avoir de fichier.xmp accouplés à ces photos, ce sont d'anciennes diapos que j'ai scanné et retouchées avec gimp et que je laisse dans l'état en .jpg, juste des souvenirs. Et je retrouve les .xmp de ces photos dans le dossier image?
J'ai fait pas mal de manips hasardeuses au début avec  darktable et je pense que depuis, je n'avais pas détecté ces fichiers. Peut-être en est-il de même pour Marcel43? Pour l'instant, moi, j'ai vérifié que toutes mes photos retouchées avec darktable avaient leur .xmp et j'ai mis mes 33 000 et quelques .jpg.xmp indésirables à la corbeille.
Pour l'instant je n'ai pas le temps d'essayer de reproduire ce qui aurait provoqué tous ces fichiers, mais je pense que maitrisant mieux darktable maintenant, ils ne devraient plus réapparaître.
J'en profite pour dire qu'il est dommage que darktable mette systématiquement un fichier.xmp à tous les fichiers, ils suffirait que ce ne soit fait que pour les fichiers qui passent par la chambre noire.
Pour ma part et je suis sûr que comme beaucoup d'autres, je ne retouche pas systématiquement toutes mes photos que je prends en RAW+JPG et si le jpg me satisfait je n'y touche pas. C'est sûr que les fichiers . xmp ne prennent pas de place mais quand il faut en supprimer 33000 ça prends du temps, près d'une heure avec mon ordi qui n'est pas j'en convient, une bête de course.[Image: wink.png]
Répondre
#15
Si si, les fichiers xmp sont nécessaires dès l'importation, car ils contiennent des informations crées dès ce moment là. Par exemple, si tu coches dans la fenêtre d'importation "appliquer des méta-données lors de l'importation", tu ajoutes des infos à ton fichier qui sont stockées dans le xmp (ainsi que dans la BdD évidemment). De plus, si tu catalogues tes photos ou que tu les classes avec des étoiles ou des codes de couleurs, toutes ces informations sont stockées dans le xmp. Pourtant tu n'as, pour l'instant rien fait en chambre noire.
Mes photos : jpverrue.fr
Répondre
#16
+1!
Autant virer les xmp orphelins ça peut s'imaginerles autres en revanche...
C'est quoi au juste le pb d'avoir autant de xmp que de fichiers photo ?
dt stable / Ubuntu 22.04
Répondre
#17
D'accord j'ai bien compris l'intérêt des xmp à l'importation, mais quand on a un très grand nombre de photos, les recherches sont beaucoup plus longues avec un ordi qui rame
s'i il y a en plus des fichiers .xmp enfin c'est ce que j'ai cru remarquer!
C'est pour cela que très prochainement je vais changer d'ordi et je verrai alors si je pourrai tout gérer avec darktable en plus je vais certainement passer sous Linux Ubuntu et en double boot avec windows pour garder certains logiciels sous la main, qui n'existent pas sous linux.
Répondre
#18
(01-10-18, 13:48)jpverrue a écrit :
(01-10-18, 12:39)philippus a écrit : Je reviens sur le sujet, car le souci c'est que lorsque que l'on met une image à la poubelle avec darktable, ce dernier supprime l'image mais ne supprime pas le XMP qui lui est rattaché !!!

Il en ressort qu'on se retrouve dans ce cas avec un énorme paquet de fichiers XMP qui ne servent plus a rien.

La question est : comment les suprimer automatiquement ?

Y-a-t-il une combine, un truc que je n'ai pas vu ? car manuellement c'est presque impossible a faire, il doit bien y avoir entre 2 et 3000 fichiers a suprimer !!!

Sur quelle plateforme travailles-tu, et avec quelle version de DT ? Car je viens de vérifier sur mon Opensuse : si je mets un fichier à la corbeille avec DT, ce sont bien le raw ET le xmp qui sont "jetés". Bizarre...

Sinon, sous Linux, l'écriture de quelques lignes de script permettent de régler le problème en quelques secondes :
Code :
#!/bin/bash
# attention: ce code ne fonctionne pas avec les fichiers xmp de LR
# qui n'ont pas la même structure de nom que ceux de DT

for i in *.xmp ; do
 if test ! -e ${i%".xmp"} ; then
   rm $i
 fi
done
Sous Windows, je ne sais pas...


J'ai testé le script et il ne fonctionne pas chez moi (erreur ligne 6 trop d'arguments)

(01-10-18, 17:54)manu a écrit :
(30-09-18, 11:02)philippus a écrit : Bonjour,

Etant sous linux, je serai interessé de connaitre ces commandes afin de faire un peu le ménage dans ces XMP orphelins !!

Merci

En 1er lieu une sauvegarde de tous les xmp ne sera peut-être pas superflue...

Sais-tu lancer un terminal (Ctrl + Alt + t) et aller sur le répertoire racine des photos (cd ton-repertoire-racine-des-photos) ?

Ensuite en deux commandes, en supposant que tes fichiers XMP sont nommés .xmp (en minuscules, sinon remplacer par des majuscules dans les commandes), il suffit de copier (Ctrl+c) et coller (Maj+Ctrl+v) dans le terminal :

Code :
find . -name "*.xmp" -exec bash -c 'echo "{}" | sed "s/.xmp//g"' \; > /tmp/photos
while read f ; do if [ ! -e "$f" ]; then echo "$f.xmp" ; fi ; done < /tmp/photos

Ça ne supprime rien ! Ça affiche la liste des fichiers XMP "orphelins".

Si ça te liste bien effectivement ce que tu attends, i.e. la liste des XMP non liés aux photos qu'ils prétendent, alors :

Code :
while read f ; do if [ ! -e "$f" ]; then rm -f "$f.xmp" ; fi ; done < /tmp/photos

Doit y avoir d'autres méthodes, l'important c'est sans doute que ça vire ce qu'il faut.

J'ai aussi testé ces 2 codes dans le terminal, le premier ne fonctionne pas, il me liste des xmp qui sont rattaché à des images !!

Par contre le deuxième m'a bien suprimé les xmp orphelins ... donc je le garde bien au chaud !!

Merci de vos réponses
darktable 3.4.1 + darktable 3.5 + Nikon D7200 + Nikon D750

Répondre
#19
(04-10-18, 15:58)JMM40 a écrit : D'accord j'ai bien compris l'intérêt des xmp à l'importation, mais quand on a un très grand nombre de photos, les recherches sont beaucoup plus longues avec un ordi qui rame
s'i il y a en plus des fichiers .xmp enfin c'est ce que j'ai cru remarquer!
C'est pour cela que très prochainement je vais changer d'ordi et je verrai alors si je pourrai tout gérer avec darktable en plus je vais certainement passer sous Linux Ubuntu et en double boot avec windows pour garder certains logiciels sous la main, qui n'existent pas sous linux.
Les xmp ne ralentissent pas la recherche, car darktable utilise sa BdD dans ce cas. Les xmp ne sont utilisé par le logiciel qu'à deux moments :
- Premièrement, lorsque tu charges DT. Si tu as coché "vérifie les fichiers xmp modifiés au démarrage" dans les préférences->fonctionnement, DT va vérifier la cohérence entre les xmp et la base de donnée pour assurer l'intégrité des données. C'est utile quand les xmp sont modifiés par un autre logiciel
- Deuxièmement lors de l'écriture des informations de traitement. En table lumineuse d'abord, quand tu modifies les méta-données, les mots-clés, les scores ou les codes couleurs. Ou quand tu appliques globalement des traitements avec les fonctions de copier/coller ou avec les styles. En chambre noire ensuite, quand tu modifies un traitement. quelque soit la modification que tu fais : ajout/suppression de modules, modification d'un réglage quelconque, intervention sur les masques, etc.
Ah si, il y a une troisième utilisation, c'est dans la fenêtre cartes !..

Si tu as une machine sous dimensionnée (mémoire, processeur, GPU), effectivement, l'upgrader de donnera une bonne bouffée d'oxygène !

Citation :J'ai testé le script et il ne fonctionne pas chez moi (erreur ligne 6 trop d'arguments)

C'est parce que tu as testé sur un dossier ou il n'y a pas de xmp. ;-)
Mes photos : jpverrue.fr
Répondre
#20
Bonjour,

si j'ai bien tout compris, une question me vient à l'esprit. Je la pose, car il se pourrait bien que le même problème m'arrive. J'aimerais avoir une solution viable –au cas où.

En créant une installation parallèle de darktable et en y important les mêmes images, avec à l'importation l'application d'un mot-clé "spécial".
darktable devrait ignorer les xmp orphelins et mettre à jour les xmp associés aux images existantes.
Ensuite, il devrait être facile d'isoler les fichiers .xmp qui ne contiennent pas le mot-clé "spécial".
- numérique & argentique, du compact 1" au 645
- labo : darktable 4.4.0 >> Ansel ou ART
- catalogage : Digikam
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)