Moc nerozumím tomu, že dosud tak uměla pracovat jen s příslušnými soubory Office. Přitom Office soubory, tedy takové ty modernější, jako .docx, .xlsx, .pptx jsou ve skutečnosti ZIP archivy, kde stačí jedna malá změna (změnit jedno písmenko) v souboru a změní se celý soubor, takže rozdílová synchronizace je úplně k ničemu.
Ostatně moc souborů, kde by rozdílová synchronizace měla smysl, mě nenapadá. Možná nějaké velké log soubory, kdy se přidávají informace jen na konec. Tedy asi i u zdrojových kódů to má nějaký smysl, ale kolik lidí programuje tak, aby jejich soubory měly nějakou nezanedbatelnou velikost.
Jinak teda ja si na OneDrive zalohuju z mobilu, a to jednocestne.
Vysvetlim: udelam nekde v prirode fotku do mobilu, odeslu ji na OneDrive. Vratim se domu a fotku z mobilu zkopiruju do PC a zazalohuju na sve uloziste.
Jinymi slovy, kdyby se mi stalo s mobilem neco mezi prirodou a domovem, tak o fotku neprijdu, asi bude mit jiny hash, ale je na OneDrive. Doma ale uz pracuju s originalem.
Je to jednodušší, než se ti může zdát. Jen o těch dokumentech nemůžeš přemýšlet jen na úrovni konečného produktu (tedy ZIP archivu). Archivy obvykle obsahují množství souborů. A právě Microsoft, který zná své formáty nejvíce dopodrobna, si může dovolit provádět takové rozdílové synchronizace. Uvnitř konečného ZIP archivu najdeš samostatné obrázky, samostatný text a spoustu dalších věcí. Místo celého dokumentu se tedy vezme například pouze ta stránka textu, u níž došlo ke změně, nahraje se na OneDrive a tam proběhne vložení změněné části textu. Díky tomu je možné přenést třeba pouhý kilobyte namísto 10 megabytového dokumentu plného obrázků.
Myšlenka hezká, ale dost pochybuju, že by si troufli něco nazývat synchronizací, když to může měnit ten soubor.
Když vezmu nějaké pptx, zipem ho rozbalí a pak zpátky zabalím, obsahuje tytéž soubory jako původní, jde i normálně otevřít, ale soubor je to evidentně jiný (má jinou velikost). Pokud by mi ho automaticky v rámci synchronizaci měnili na nějakou jejich verzi, asi by mě moc nepotěšili. A to nemusím samozřejmě dělat ručně, stačí tentýž soubor načíst v Libre Office a beze změny ho uložit.
To by pak mohli v rámci synchronizace přebalovat i jiné archivy nebo optimalizovat png soubory a to opravdu není účelem synchronizačního nástroje.
Jinak na tom BMP souboru, na kterém to ukazují, tam to bude fungovat bezvadně. Tam opravdu změna jednoho pixelu udělá jen změnu pár bytů. Ale změna jednoho pixelu v JPG, GIF či PNG už změní celý soubor.
U ztrátové komprese rozdílová synchronizace/aktualizace/"jakýkoliv správný termín" opravdu moc nejde. Ale u bezztrátové komprese to v leckterých případech lze. ZIP i PNG jsou bezeztrátové (kompresní) formáty. Když rozbalíš ZIP a znovu zabalíš veškerý obsah, nový archiv už nejspíš nebude mít stejný kontrolní součet, velikost a další parametry. Z mnoha důvodů -- jiná míra komprese, jiný algoritmus... Ale je obsah zachován beze změny? Je. Podobně jako můžeš zapsat číslo 2 snad nekonečným množstvím způsobů: 2222-2000-220; 1+1; 2*1; 4/2; nebo zkrátka 2. Nebo použít osmičkovou soustavu nebo šestnáctkovou nebo kteroukoliv jinou. Je to jiné, ale zároveň stejné.
Jak tedy udělat rozdíl z PNG souborů? Převeď je do BMP -- z nich, jak sám říkáš, už rozdíl udělat lze. Pak ho zpětně převeď do PNG. Hashe souhlasit nemusí, ale obrazová data jako taková zůstanou beze změny.
Do určité míry to jde dělat i s videem. Třeba Transport Stream (*.ts) lze stříhat a lepit skoro jako pásku. Příklad: nahraju film z televize, reklamy odstřihnu, aniž bych musel překódovat celek a tedy ztratit i informace (kvalitu), neboť zde už se jedná o ztrátovou kompresi. Nahraju na cloud úložiště. Druhý den zjistím, že chybí na konci 2 minuty filmu. Tak můžu nahrát konec, až bude v TV opakování, a přilepit k původní nahrávce. Na cloud úložiště pak už místo několika gigabytů mohu nahrát jen několik desítek megabytů.
Možná, že je to nad rámec běžné synchronizace, možná je pro to jiné pojmenování, ale jsou způsoby, jak něčeho takového docílit.