Osobne provadim zalohovani vybranych dat pomoci SVN jiz leta. Prakticky jsem tim docilil verzovani u datovych souboru aplikaci. Jelikoz SVN pouzivam i pro uchovanani zdrojaku, tak mi to pripadlo proste logice. Jak ale kolega zjistil, SVN neni optimalni na vetsi mnozstvi binarnich dat. Tento problem by v GIT udajne byt nemel. I sami vyvojari se chvastaji:
Efficient handling of large projects. Git is very fast and scales well even when working with large projects and long histories. It is commonly an order of magnitude faster than most other version control systems, and several orders of magnitude faster on some operations. It also uses an extremely efficient packed format for long-term revision storage that currently tops any other open source version control system.
Jestli se podari projekt dotahnout do zdarneho konce, nemuselo by to byt spatne. Avsak zalohovat pomoci GIT muzeme jiz nyni z prikazove radky za pomoci skriptu. Jenom to holt nebude hezky GUI s obrazkama a caflikama. Ale staci uzivatelum rozdat lisohlavky, nebo LSD a oni si GUI udelaji sami dle vlastnich predstav. :)
Nevím, jak nejnovější verze, ale údajně jedna z hlavních výhod perforce vůči gitu je dobrá práce s binárními bloby, narozdíl od gitu. Git myslím binárky vůbc nediffuje, ukládá vždy celou.
Zvláštní já mám v git repository o velikosti 652MB data, která v aktuální verzi mají 1.4GB, v SVN repository 6GB a je tam několik verzí binárních dat, které jsou řádově v desítkách MB. Vážně by mě zajímalo jak to ten git dělá, když podle věech zdejěších odborníků žádný diff binárek nedělá.
Ale pozor preci, to ze nekdo pise, ze se to hodi na velke projekty preci neznamena ze se to hodi pro velke soubory!
Pokud vim tak git uchovava rozdily diffu mezi jednotlivymi zmenami, ovsem ne pro binarni obsah (pokud mi explicitne nereknete jak to delat). Tudiz s kazdou zmenou se ulozi cela data a vse roste a ztracite moznosti rychlych vetvi a clonu.
Osobne mi to prijde jako ne zcela super napad.
Rekl bych ze zalohovat pomoci verzovaciho systemu ma jednu slabinu, a tou je odmazavani starych zaloh. Tohle vyborne umi rdiff-backup.
Dd,
rdiff-backup docela používám, ale dost mi na něm vadí, že si velmi striktně hlídá verze (zřejmě se tam verze od verze mění buďto struktury dat nebo protokol), což mě, mírně řečeno, irituje. Byl bych moc rád, kdyby se toto už usadilo, nebo rdiff-backup uměl nějakou, byť omezenou, zpětnou kompatibilitu. Jinak je to na kompilaci na všech počítačích, abych měl opravdu tu jedinou verzi všude, což je docela opruz.
Zdraví
Honza Marek
To mate bohuzel pravdu, ja mam nastesti na vsech strojich debian nebo ubuntu, takze muzu instalovat stejny balicek a nemusim to resit. Jinak je to genialni nastroj, udrzuju tim zalohy 30 dnu zpatky.
Souhlasim s tim, ze se vzdy ukladaji cala binarky. To znamena, ze se nedela inteligentni diff. Byl tam nejaky jiny problem. Pokud se nepouzila pro SVN uloziste BerkeleyDB, tak se pouzivala nejaka on disk struktura. Tam byl s nejakej zakopanej pes, ale vazne si nevzpominam kde. Proste to nemelo rado vetsi objemy binarek.
Zalohovani pomoci SVN pouzivam pro nektera data v profilu, pro dokumenty, a pod. Neni toho zase tolik, a to ze nelze mazat historie mne zase tolik netlaci. Vyhodu, kterou jsem tim ziskal povazuji za dulezitou. Mam prehled o zmenach, ktere jsem provadel a kdy jsem je provadel. Navic, kdyz uz mam uloziste pro zdrojaky, tak k tomu hodim i dokumenty, a profil… Nemusim resit nic vedle. Na zalogovani stovek gigabajtu to neni, ale pro tech par stovek megabajtu je to z meho pohledu dobre reseni.
Bazaar VCS (http://bazaar-vcs.org/) umi dobre diffovat binarni soubory, ale osobne bych version control system pro zalohy nepouzil.
Taky používám SVN pro zálohování dokumentů, datašitů (a zároveň i např. zdrojáků) a zároveň pro synchronizaci notebooku a stolního počítače (SVN repositář mám na ntb).
Osobně pro moji potřebu nechápu, k čemu by v tomto případě měl být dobrý Git, naopak myslím, že na tom vzhledem ke své filosofii bude horší co do výkonu.