Wunsch: Synchronisation bei verschobenen Dateien

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
chris321
Junior Member
Junior Member
Posts: 6
Joined: 2006-08-27, 20:17 UTC

Wunsch: Synchronisation bei verschobenen Dateien

Post by *chris321 »

Hallo

Seit einiger Zeit komme ich immer wieder in Verlegenheit Ordner zu synchronisieren bei denen sich einzelne Dateien verschoben haben.

Ein Bespiel: mein Bilderarchiv mit Digi-Fotos
Ich habe auf unterschiedlichen Speicherorten (zB. PC und externe Festblatte) ein Archiv mit Digitalbildern. Dabei kommt es nicht nur vor, dass ich neue Bilder hinzufüge sondern auch vorhandene Bilder neu 'ordne' (sprich in ein neues Unterverzeichnis verschiebe).

Würde ich solche Archive synchronisieren würden dabei lauter Duplikate entstehen.

Dabei bin ich nun auf folgende Erweiterung beim Synchronisationsfeature von TC gekommen:
Wie wäre es mit einer Option 'Ordner ignorieren'. Ähnlich wie bei der Option 'Datum ignorieren', sollten die Dateien verglichen werden, unabhängig davon, in welchem Ordner sie sich befinden (die Synchronisation selbst sollte die Ordnerstruktur dann natürlich schon berücksichtigen).
Somit würde TC all die potentiellen Duplikate entdecken. Ich müsste ihm dann nur nach sagen welcher Speicherort (Ordner) Priorität hat. In der Praxis wäre das bei mir einfach, da die 'Verschiebungen' immer nur auf einer bestimmten 'Seite' stattfinden.

Was haltet ihr davon - wie löst ihr solche 'Probleme'?

Sollte jemand von euch übrigens einen Weg kennen das Problem bereits mit vorhandenen Mitteln zu lösen wäre ich natürlich auch dankbar ;-).

lg
chris
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Diese Funktionalität geht zu weit für einen Dateimanager. Wenn Du binäridentische Duplikate finden willst, greif zu CloneSpy; wenn Du zusätzlich auch noch "ähnliche" Bilder finden willst, ist der Dup Detector die richtige Wahl.

Die Homepage des letzteren ist immer noch down, wie ich gerade sehe. Du findest die aktuellste Version 3.201 aber sicherlich problemlos per Google.

Icfu
This account is for sale
Franz Müller
Senior Member
Senior Member
Posts: 383
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

Es geht ja nicht um binäridentische Duplikate (obwohl das der TC durch Ankreuzen von "Vergleich nach Inhalt" auch kann).
Der Vorschlag war, über eine Checkbox die Unterverzeichnisse auszublenden, d.h. beim Dateivergleich so zu tun, als wären alle Files in einem Verzeichnis, wie bei der Zweigansicht (wobei allerdings zu klären wäre, wie unterschiedliche Files mit gleichen Namen an verschiedenen Stellen im Baum behandelt werden sollen).
chris321
Junior Member
Junior Member
Posts: 6
Joined: 2006-08-27, 20:17 UTC

Post by *chris321 »

Danke für die Antwort icfu.

Ich habe vor meiner Anfrage einige Threads zum Thema Synchronisation und Duplikate durchforstet. Dabei bin ich auch auf den Tip mit cloneSpy gestoßen und habe kurz überlegt ob sich so das Problem beheben läßt

ABER: es handelt sich nicht um ein Duplikat-Problem!

Die Duplikate würden ja erst nach einer Synchronisation entstehen weil TC nicht erkennt, dass diese Datei schon in einem anderen Verzeichnis existiert.

Ich denke, dass durch ein (aus meiner bescheidenen Sicht :wink:) "einfaches" Erweitern der Synchronisationsoptionen ein Problem behoben werden kann, für das ich (auch in anderen Tools) keine Lösung gefunden habe.

Ich kann zur Zeit ja TC anweisen das Datum zu ignorieren um Dateien als 'gleich' zu erkennen.
Ähnlich müsste TC dann den Pfad ignorieren um zu erkennen, dass die Dateien 'gleich' sind.

Das Wichtige: so könnte man schon vor/während der Synchronisation Duplikate vermeiden.

Sind die Duplikate erst einmal erzeugt kann man nicht mehr unterschieden welche Dateien zB. von der externen Platte und welche vom PC kommen -> ein auflösen des dadurch entstandenen Duplikatproblems ist so kaum möglich.

TC hätte die Chance über diese Option das Problem an der Wurzel zu packen bevor noch Duplikate entstehen.

Es geht einfach darum, dass man beim Sychronisieren ein Problem bekommt wenn Dateien verschoben wurden. Da das Sychronisieren eine wichtige Funktion von TC ist, kann ich mir dieses Feature sehr wohl als Teil von einem Dateimanager vorstellen.
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

ABER: es handelt sich nicht um ein Duplikat-Problem!
Doch, tut es, denn auch
Ich kann zur Zeit ja TC anweisen das Datum zu ignorieren um Dateien als 'gleich' zu erkennen.
Ähnlich müsste TC dann den Pfad ignorieren um zu erkennen, dass die Dateien 'gleich' sind.
ist eine Suche nach Duplikaten, die der TC vor der Synchronisation durchführen müßte. In diesem Fall ist das Duplikatsmerkmal der Dateiname.

CloneSpy erlaubt es Dir, zwei Verzeichnisse vor der Synchronisation daraufhin zu überprüfen, ob Dateien mit gleichem Namen und/oder Binärgleichheit vorliegen, unter Einschluß aller Unterverzeichnisse.
Du kannst damit auch eine Regel erstellen, daß automatisch alle Dateien, die es im Container 2 bereits gibt, aus Container 1 gelöscht werden, so daß Du für die anschließende TC-Synchronisation perfekt gerüstet bist.

Ich stelle mir gerade vor, wie der TC das Chaos anzeigt, wenn er bei der Synchronisation feststellst, daß 200 Dateien mit gleichem Namen in 50 verschiedenen Verzeichnissen vorhanden sind... Eine "einfache" Implementation wäre das sicherlich nicht.

Icfu
This account is for sale
Franz Müller
Senior Member
Senior Member
Posts: 383
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

Die Regel könnte sehr simpel sein:
Erst werden Dateipaare zugeordnet, die links und rechts im selben Umterverzeichnis stehen.
Danach schaut das Programm, ob Dateien, die auf einer Seite ohne Gegenstück auf der anderen Seite übrig bleiben, auf der anderen Seite in einem anderen Verzeichnis auftauchen (gleicher Name und je nach Synchronisiermodus gleiches Datum oder gleicher Inhalt). Die erste identische Datei wird zugeordnet

Zuletzt werden die noch verbleibenden Einzelgänger wenn möglich paarweise (gleicher Name) zugeordnet, wenn hier keine eindeutige Zuordnung möglich ist, weil der selbe Dateiname auf einer oder auf beiden Seiten mehrfach vorkommt, dann erfolgt gar keine Zuordnung, sondern die Dateien werden so wie bisher jeweils als nur auf einer Seite vorkommend betrachtet - wenn viele solche Dateien im Teilbaum vorkommen, ist es ja ohnedies nicht sinnvoll, dieses Feature anzuwenden.
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Das klingt simpel, aber ghisler wird es als programmiertechnischen Irrsinn auf seine Giftmüllliste setzen, da brauche ich nicht mal meine eh seit längerem defekte Glaskugel für. ;)

Ich selbst empfinde es als sinnvoller, so eine erweiterte Duplikatsuche und Synchronisation vollständig voneinander zu trennen. Bei diesem Mischmasch käme es zwangsläufig zu Mißverständnissen bei den Anwendern, denn diese müßten sich vorher ganz genau schlaumachen, nach welchen Regeln – sind die dann auch noch einstellbar? was wird aus chris321' Ordner, der Priorität hat? – wie der TC bei der Synchronisation vorgeht. Mit der eindeutigen Zuordnung ist es nämlich hier, wie Du selbst bemerkst, vorbei, und das ist genau das Gegenteil von dem, was Dir der Synchronisationsdialog vorgaukelt. Eine Datei, die es nur auf einer Seite gibt, wird dann nämlich nicht mehr angezeigt, wenn sie auf der anderen irgendwo in einem Unterverzeichnis vorhanden ist.

Also sorry, ich bin nicht überzeugt. ;)

Icfu
This account is for sale
chris321
Junior Member
Junior Member
Posts: 6
Joined: 2006-08-27, 20:17 UTC

Post by *chris321 »

Danke für eure Antworten:

Also ob die Umsetzung wirklich 'zu' kompliziert ist kann ja Christian entscheiden - daran sollte es nicht scheitern - ich trau dass Christian schon zu :wink:.

Ich denke es gibt 2 Punkte die entscheidend sind:
- wie komplex sind die Folgesituationen die dadurch auftreten können (zB. die schon erwähnten Duplikate auf einer Seite die dann auftauchen könnten)
- wie 'durchschaubar' ist die Option und ihre Folgen für die Benutzer (wobei gerade TC ja eh kein Tool für die 'unbedarften' User ist).

Ich weiß es jedenfalls zu schätzen, dass Christian über die Jahre hinweg ein Feature immer durchgängig und durchdacht implementiert hat (und nicht schnell mal ein Feature halbherzig hinzugefügt und die Folgeprobleme dann später behoben hat).

Ich wollte hier eine Anregung geben, wie ein zusätzliches Feature den Synchronisationsmechnismus noch mächtiger machen könnte. Das Problem im Zusammenhang mit der Sychronisation müsste ja mehr Personen treffen als nur mich.


Zum Thema CloneSpy:

Leider ist diese Lösung nicht ideal da damit teilw. große Datenmengen gelöscht werden müssten, anstelle einfach das relativ kleine Delta zu kopieren. (In meinem konkreten Fall geht es nämlich nur um eine Sychronisation in eine Richtung.)

@icfu:
Nichtsdestotrotz würde ich gerne mal ausprobieren wie sich eine Lösung mit CloneSpy 'anfühlt'. Leider habe ich beim 'Spielen' den von dir angesprochenen Weg 'Dublikate auf einer Seite löschen' nicht gefunden.
Du kannst damit auch eine Regel erstellen, daß automatisch alle Dateien, die es im Container 2 bereits gibt, aus Container 1 gelöscht werden
Wenn du noch ein paar Zeilen über die notwendige Konfiguration verlieren könntest wäre ich dankbar. :)

Gruß
Chris
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Hm, das siehst Du alles nach Programmstart...

1. Both pools
2. Same name
3. In Pool 1 das Quellverzeichnis eintragen
4. In Pool 2 das Zielverzeichnis eintragen.
5. Automatically delete only in Pool 1
6. Delete directly
7. Start

Icfu
This account is for sale
chris321
Junior Member
Junior Member
Posts: 6
Joined: 2006-08-27, 20:17 UTC

Post by *chris321 »

icfu wrote: 5. Automatically delete only in Pool 1
Ich hatte es vor den Augen und sah es doch nicht :roll:

War ausgegraut weil ich zur Sicherheit die Einstellung 'Ask user' aktiviert habe -> dort im Dialog ist es etwas komplizierter - habe es aber auch schon durchschaut.

danke
chris321
Junior Member
Junior Member
Posts: 6
Joined: 2006-08-27, 20:17 UTC

Post by *chris321 »

Hallo zusammen

Nach einigen Monaten des probierens wollte ich nun meine abschließende Meinung mit euch teilen:

1 - CloneSpy...
... ist ein nützliches Tool (nochmals danke für den Tip).
Es eignet sich sehr gut für die erstmalige Bereinigung von Verzeichnissen in denen sich auf den beiden Seiten 'verschobene Dateien' befinden.

2 - Für die tägliche Synchronisation...
der Ordner eignet sich CloneSpy aber nicht!

Der Grund: es würden so (zumindest in meinem Fall) 95% aller Dateien zuerst einmal auf einer Seite gelöscht bevor sie wieder von der anderen Seite kopiert werden -> und das alles nur um vielleicht 2% der verschobenen Dubletten in den richtigen Ordner zu synchronisieren. Bei einem Sync mit einer externen Festplatte und vielen MB an Daten ist es so einfach nicht sinnvoll machbar.

Meine Lösung:
Ich habe 2 Programme gefunden die eine Synchronisation auch bei verschobenen Dateien korrekt durchführen können:
http://www.superflexible.de/ &
SyncBackSE -> http://www.2brightsparks.com/
Ich habe mich letztendlich für SyncBackSE entschieden.

3 - Ich denke immer noch, ...
...dass TC eine entsprechende Erweiterung des Sync-Features gut tun würde und sich so in vielen Fälle die Verwendung von 2 weiteren Tools erübrigen würde. Für immer wiederkehrende Synchronisationsaufgaben empfiehlt sich aber generell ein anderes Tool.

Grüße
Chris
User avatar
chrizoo
Senior Member
Senior Member
Posts: 349
Joined: 2008-03-12, 02:42 UTC

Re: Wunsch: Synchronisation bei verschobenen Dateien

Post by *chrizoo »

chris321 wrote:... die eine Synchronisation auch bei verschobenen Dateien korrekt durchführen können
chris321 wrote: ... einfach, da die 'Verschiebungen' immer nur auf einer bestimmten 'Seite' stattfinden.

Also ich hab mir die ganze Seite hier zwei mal durchgelesen, aber ich bin noch immer nicht ganz sicher: Ist das Problem, dass ...

A) TC die Synchronisation GAR NICHT wunschgemäß durchführen kann, und dass Duplikate entstehen ?
oder
B) TC die Synchronisation schon schafft, aber nur umständlich und mit großem Aufwand ?

Falls A) : TC kann doch eine asymmetrische Synchronisation durchführen. Wenn du, wie du schreibst, nur in eine Richtung synchronisieren möchtest, dann werden die Dateien auf der Gegenseite ohnehin vorher gelöscht, bevor der Kopiervorgang stattfindet. Daher entstehen doch keine Duplikate. ??

Falls B) : Das ist eine Frage die ich mir auch schon lange gestellt habe, aber bisher dachte ich eben immer, dass es keine andere Lösung gäbe als einfach die Dateien, die auf der "Originalfestplatte" verschoben wurden, dann auf der "Backupfestplatte" zu löschen und dann an die entsprechende Stelle neu von der Originalplatte zu kopieren (anstatt einfach die Ordner auf der Backupplatte umzubenennen).

Umso erstaunter war ich natürlich als ich die geposteten Links oben gesehen habe. Ich zitiere:
superflexible.de wrote:Erkennt verschobene Dateien, falls Sie Ihre Ordner umorganisiert haben bzw. Dateien an andere Stellen verschoben haben, kann der Super Flexible File Synchronizer dies erkennen und dieselben Verschiebungen auf der anderen Seite der Synchronisation durchführen. Es entstehen keine überflüssigen Kopiervorgänge oder Dubletten!
Es steht dort aber nirgends, wie genau denn das Programm denn draufkommt, welche Dateien verschoben wurden. Wie kann man sicher sein, dass nicht irrtümlich Dateien verwechselt werden, ich denke da zB an kleine Dateien mit häufigem Namen, die leicht einmal die selbe Dateigröße und Namen haben können (desktop.ini, etc.) Checksums? Byte-for-Byte comparison ? Da du schreibst, du hast monatelang getestet, könntest du uns ein bisschen erzählen von deinen Ergebnissen diesbezüglich ? Mich würde vor allem SyncBackSE interessieren, da ich diese "Erkenne-verschobene-Dateien-Funktion" für ein Backup-Programm benötigen würde und SyncBack macht ja backups.

Und ich gebe dir vollkommen recht, wenn Total Commander die Synchronisation so optimieren könnte, dass - wie oben zitiert - "keine überflüssigen Kopiervorgänge" entstehen, dann glaube ich würde niemand hier dankend ablehnen. Nur kann ich mir nicht ganz vorstellen, wie das gehen soll ...
User avatar
chrizoo
Senior Member
Senior Member
Posts: 349
Joined: 2008-03-12, 02:42 UTC

Post by *chrizoo »

icfu wrote:Das klingt simpel, aber ghisler wird es als programmiertechnischen Irrsinn auf seine Giftmüllliste setzen, da brauche ich nicht mal meine eh seit längerem defekte Glaskugel für. ;)ch bin nicht überzeugt. ;)
Hier ein Link, wo nachzulesen ist wie die Fragestellung bei "Synchronize it", einem anderen Synchronisierungsprogramm umgesetzt wird (bzw. geplant ist):
http://www.grigsoft.com/forum/viewtopic.php?p=2949
Last edited by chrizoo on 2008-04-23, 12:46 UTC, edited 1 time in total.
User avatar
chrizoo
Senior Member
Senior Member
Posts: 349
Joined: 2008-03-12, 02:42 UTC

Re: Wunsch: Synchronisation bei verschobenen Dateien

Post by *chrizoo »

chrizoo wrote: Es steht dort aber nirgends, wie genau denn das Programm denn draufkommt, welche Dateien verschoben wurden.
Der Software-Autor von www.superflexible.de hat mir gerade folgendes geantwortet:
Tobias Giesen wrote: Das ist eine ganz einfache Funktion. Es werden ja die Ordner auf beiden Seiten eingelesen. Wenn sich nun identische Dateien in unterschiedlichen Ordnern befinden, dann sind sie verschoben worden. Dieselbe Verschiebung wird dann auf der anderen Seite durchgeführt. Falls Sie in bidirektional synchronisieren möchten, dann kann das sogenannte SmartTracking auch noch feststellen, auf welcher Seite die Verschiebung stattgefunden hat.
chrizoo wrote:Sie sagen "identische Dateien". Wie definiert ihr Programm das? Nur nach Dateiname und Größe?
Tobias Giesen wrote:Und Uhrzeit der letzten Änderung, auf die Sekunde genau. Da gibt's keine Versehen! Außerdem wird nur nach einer verschobenen Datei gesucht, wenn sie auf einer Seite der Synchronisation nicht existiert. Das kommt wirklich nur vor, wenn Sie selbst Dateien verschieben. Ich habe in den letzten fünf Jahren noch nie von einem Fehlverhalten der Funktion gehört. Sie können sich die erkannten Verschiebungen auch in der Sync-Vorschau anschauen, bevor sie durchgeführt werden.
Post Reply