Bernhard Schiffner bernhard@schiffner-limbach.de schrieb:
git es unter Linux eine Lösung, Links automatisch "mitzuziehen"?
bernd@bs4:~/test$ touch ddd bernd@bs4:~/test$ ln -s ddd eee bernd@bs4:~/test$ ls -l total 4 -rw-r--r-- 1 bernd bernd 4 Nov 22 17:28 ddd lrwxrwxrwx 1 bernd bernd 3 Nov 22 17:28 eee -> ddd bernd@bs4:~/test$ mv ddd fff bernd@bs4:~/test$ ls -l total 4 lrwxrwxrwx 1 bernd bernd 3 Nov 22 17:28 eee -> ddd -rw-r--r-- 1 bernd bernd 4 Nov 22 17:28 fff bernd@bs4:~/test$
Ich wünschte mir, daß die Link eee zuletzt auf fff zeigt.
Hallo!
Also, wenn ich richtig verstanden habe (und wenn nicht, soll ich vielleicht noch weiter lernen, vor dem LPIC1-Prüfung... :D), ein SymLink enthält den Pfad zu der Datei, die du, über den Link, erreichen willst.
Das bedeutet, daß wenn die Datei entfernt oder unbenannt wird, du keine Möglichkeit mehr hast, mit einem SymLink, die originale Datei wieder zu finden.
Eine Lösung (aber nur wenn du mit DATEIEN [und keine Directories!] arbeitest und immer auf dem gleichen FileSystem) wäre ein HardLink. In dem Fall ist der Name dem System egal, da die Dateien sowieso nur über den Inode zugegriffen werden. Und die Datei zu umbenennen (oder sogar zu verschieben, solange das Ziel immer noch in dem gleichen FileSystem bleibt!) ist auch kein Problem.
Ansonsten, die einzige Lösung, die mir einfällt, ist ein Skript zu basteln, das die Links verfolgt, die Datei umbenennt und sofort alle Links zu dieser Datei anpasst. Das wird aber wirklich komplex, insbesondere, wenn die Links auf mehreren Directories sein können...
Grüße Luca Bertoncello (lucabert@lucabert.de)