Datenbank: Verhalten bei Symlinks, Hardlinks usw


#1

Wie verhält sich eigentlich die neue Datenbankfunktion (Versionen ab 2.85b) bei Symlinks, Hardlinks usw.?
Können da Komplikationen auftreten?
Grundsätzlich folgt MP3Tag ja zur Quelle des Links.
Was passiert aber in der Datenbank, wenn man den Symlink aufruft?
Wird der zusätzlich eingetragen?


#2

Ja, symbolische Links werden zusätzlich eingetragen. Es passiert völlig transparent für Mp3tag, das heißt es wird keine Unterscheidung gemacht.


#3

Ich muss doch nochmals nachfragen:
Wenn ich das jetzt richtig verstehe, folgt MP3Tag doch eigentlich dem Link.
Wenn jetzt der Link-Ordner zusätzlich eingetragen wird, existieren doch 2 Datenbankeinträge.
Erfolgt somit ein Update der Datenbank bei Veränderungen an den Files bei beiden parallel, ist also die Datenbank sich bewusst, dass es sich um dieselben Files handelt, oder wird ein Update der Datenbank für den weiteren Eintrag erst bei nächsten Laden des betreffenden Ordners, sei es der Link oder das Original, vorgenommen?


#4

Mp3tag erkennt nicht, dass es sich bei einem Verzeichnis um einen symbolischen Link handelt. Das heißt, wenn Du ein Verzeichnis Original und ein einen symbolischen Link Link der auf Original zeigt hast, werden Einträge in der Datenbank für alle Dateien in Original und Link angelegt.

Wenn sich jetzt eine Datei Track 01.mp3 ändert und Du nach Original navigierst, wird der Eintrag für Link\Track 01.mp3 nicht automatisch aktualisiert. Dieser wird erst beim Navigieren nach Link aktualisiert (falls das Änderungsdatum der Datei sich geändert hat).


#5

@Florian
Das spiegelt sich dann aber nicht in den Ordner-Informationsfeldern von MP3Tag wieder.
%_path% usw. melden immer die Werte der Original-Location.

Im Gegensatz zu Link-Verzeichnissen verhält sich MP3Tag bei Links zu Dateien offenbar so:
Die Größe eines Hardlinks zu einer Datei listet MP3Tag bei der Dateigröße mit der Originalgröße.
Bei einem Symlink zur einer Datei wird die Dateigröße 0 gelistet.


#6

Das klingt interessant und bei mir hier so nicht reproduzierbar: Ich habe zum Test einen symbolischen Link auf ein Verzeichnis mittels mklink /D Link Original erstellt.

Die Dateien aus Link zeigen in der Dateiansicht das Verzeichnis als Link an und haben eine korrekte Größenangabe.


#7

Ich habe es nochmals gecheckt. Irgendwie haben wir beide recht.

Ich habe einen Ordner, in dem ich symbolische Links zu anderen Ordnern gespeichert habe.
Wenn ich diesen Über-Ordner in Mp3Tag lade, zeigen alle aus den Unterordnern (=symbolische Links) geladenen Dateien den korrekten Pfad des Links an.
Wenn ich jedoch den Unterordner (=symbolischer Link) direkt mit MP3Tag ansteuere, wird der originale Pfad des Quellordners angezeigt.

In beiden Fällen wird die korrekte Größe angezeigt.
Meine Anmerkung hinsichtlich der Größe bezog sich ja auf einen direkten symbolischen Link zu einer Datei und nicht zu einem Ordner. Da stelle ich fest, dass der symbolische Link als Dateigröße 0 anzeigt wogegen ein Hardlink wiederum die korrekte Größe anzeigt.