Hallo Raphael,
am Samstag, 2009-08-22 20:50:53 schrieb Raphael Becker:
> > Aber mein Ziel war doch, Dubletten im Home durch Links zu
> > ersetzen!
>
> Ja, aber Du willst moeglicherweise ausserdem sicherstellen, dass
> das Linkziel immer den Inhalt behaelt, den es beim Setzen des
> Links hatte. Ausgehend von meinem Beispiel waere z.B. sowas
> machbar: Statt der Datei
> /home/rabe/UUGRN/Aufnahmeantrag_UUGRN.pdf ein Symlink setzen:
>
> /home/rabe/UUGRN/Aufnahmeantrag_UUGRN.pdf -->
> /.repo/e/55/e55d56d38035824cf1e2ead96e7688a72f3dac068d97e98d25fa8
>19349a0cfae
>
> Uebertragen auf Deinen Anwendungsfall:
>
> 1. Wiederholt vorkommende Dokumente, etwa PDF-Dokumente legst Du
> in das beschriebene Repository. Du hast damit nicht einen
> Dateinamen sondern einen ganz bestimmten Inhalt archiviert. Der
> Inhalt wird durch die Checksumme (Hash) repraesentiert.
>
> 2. Du verlinkst diesen Inhalt unter verschiedenen Arbeits- oder
> Projektverzeichnissen durch einen Symlink in das Repository.
Das Repository mit den md5-Namen ist ja nicht gerade uebersichtlich.
Man wird also auch den Vorgang der Verlinkung automatisieren
muessen. Das gaebe dann folgenden Ablauf:
Der Benutzer erstellt einfach neue Projektverzeichnisse und kopiert
die dort benoetigten Datenblaetter hinein, ohne sich um
Dubletten-Vermeidung zu kuemmern.
Ein regelmaessiger Job tut folgendes, moeglicherweise ist dazu dein
Index notwendig oder zweckmaessig:
Er untersucht alle (oder ausgewaehlte) Verzeichnisse und legt fuer
alle noch nicht im Repository vorhandenen Dateien Hardlinks in das
Repository. Jede Datei wird dort benannt mit ihrer md5-Summe.
Dann werden die Verzeichnisse erneut durchsucht, diesmal nach
Hardlinks ins Repository. Diese Hardlinks werden geloescht und
durch Softlinks ersetzt.
Anschliessend (oder besser zu allererst) wird fuer jede Datei im
Repository untersucht, ob noch mindestens 1 Softlink auf sie
weist. Wenn nicht, wird die Datei im Repository geloescht.
Allerding muss der Nutzer durch Entzug der Schreibrechte an einer
Modifikation der Datei gehindert werden! Er kann ggf. eine Kopie
anlegen, modifizieren und den urspruenglichen Link loeschen. Da das
aber fuer *alle* vom geschilderten Job erfassten Dateien gilt (auch
fuer die nicht-Dubletten) ist das letztlich nicht praktikabel...
Entspricht diese Zusammenfassung deiner Intention?
--
Viele Gruesse
Werner Holtfreter
--
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: http://wiki.uugrn.org/wiki/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/