Fórum Root.cz

Hlavní témata => Windows a jiné systémy => Téma založeno: prezek 14. 11. 2013, 10:41:55

Název: Správa verzí, synchronizace a zálohování
Přispěvatel: prezek 14. 11. 2013, 10:41:55
Zdravím, většinou píšu programy pro mikroprocesory v NetBeans a jednotlivé programy spravuji pomocí subversion (v NetBeans stačí 3 kliknutí na commit, nebo update a jednoduše se dostanu k historickým souborům). Pracuji ve Windows XP a rád bych si zautomatizoval synchronizaci s notebookem a zálohování (často zapomenu z notebooku zazálohovat data a když je potřebuji, tak notebook leží vypnutý 10 km ode mě).
Zatím synchronizuji a zálohuji ručně přes svn server (který běží na Rapsberry Pi). Svn adresář na serveru občas zabalím do tar.gz a zazálohuji na email. Co doporučujete? Zůstat u svn, nebo přejít na git či jiný správce verzí? Synchronizovat a zálohovat pomocí správy verzí a adresář občas zabalit a uložit na jiný HW, nebo používat rsync, rdiff-backup apod?
Díky, Petr
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: Kolemjdoucí 14. 11. 2013, 10:53:28
Centrální VCS repository ke kterému vývojáři přistupují z různých zařízení je lety prověřená klasika která určitě není špatně. To, že je toto centrální repository nutno zálohovat je jasné. Myslím tedy že to máš nastavené v základu dobře, a detaily jako jaké konkrétní VCS  repository použít (SVN se mně osobně líbí) a jak konkrétně ho zálohovat jsou už podružné, určitě ale dokáží vyvolat solidní flamewar. ;-)
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: hergot 14. 11. 2013, 10:55:48
No tak rozhodne doporucuji git. Muzes si nastavit vic serveru takze celkem jednoduse muzes pushovat veci na vice serveru a potom z nich aktualizovat. Nebo dalsi moznost je zalozit si ucet na githubu a jet pres nej - ten je dostupny vsude.
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: prezek 14. 11. 2013, 11:24:05
Díky. V současnosti mě nejvíc trápí to, že zapomínám spustit commit, takže plánuji zautomatizování procesu (commit všech projektů každou hodinu a před vypnutím počítače a update při zapnutí). A taky mi vadí, že když jsem offline, tak se nedostanu k historickým datům. Umožňuje svn nebo git mít všude synchronizovaný celý repozitář?
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: Ziktofel 14. 11. 2013, 11:40:22
ten problem kdyz jses offline resi prave git, mas kopii celyho repozitare u sebe a muzes commitovat i kdyz jses offline

jinak v gitu se muzes dostat na ten svuj stavajici svn pomoci git svn, takze je jednoducha prenositelnost
jo a v gitu mas zalohu vsude, kde ten repozitar pouzivas, protoze kazdej, kdo s repozitarem pracuje, ma uplnou kopii

takze jednoznacne doporucuju git
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: Ivan 14. 11. 2013, 11:41:38
Díky. V současnosti mě nejvíc trápí to, že zapomínám spustit commit

Pouzivam SVN(sourceforge) i git (Github). Prestoze mam moznost provozovat to na vlastnim serveru tak uz me to proste nebavi.
Git pouzivam pro programovani a ne proto abych spravoval a konfiguroval nejaky server.

Pro oboji pozivam na woknach Tortoise. Ten ma plugin do exploreru (Prozkumnika) a nad kazdym souborem a adresarem ukazuje bud "zelenou fajfku" anebo "cerveny vykricnik". Kdyz vidim cerveny vykricnik na adresari s projektem tak si hned vsimnu ze jsem neco zapomnel commitovat.

Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: BoneFlute 15. 11. 2013, 12:24:03
Řeším podobný problém.

Zautomatizovat se to moc nedá, přotože, pokud nemám některé věci commitlé, a pušnuté (používám git a mercurial), tak k tomu asi mám důvod.

Takže jedinou věc, kterou jsem zatím vymyslel je disciplína.
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: to_je_jedno 15. 11. 2013, 12:50:21
bohuzel stale existuji jedinci a firmy pouzivajici ten relikt minuleho tisicileti... mimochodem git je v netbeanech stejne pohodlny jako svn. akorat s tim rozdilem, ze si commitujes i sebemensi zmeny a na server ti staci pushnout (treba vecer) vice commitu najednou. neresis kdy jsi offline a kdy online. neni to brutalne line.

automatizovat commit je imho blbost. automatizovat push - mohlo by bejt. hlavne je super moznost mit vic serveru(jeden svuj prave na zalohovani a dalsi treba u klienta na odevzdani prace).
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: Hans 15. 11. 2013, 14:32:21
Díky. V současnosti mě nejvíc trápí to, že zapomínám spustit commit, takže plánuji zautomatizování procesu (commit všech projektů každou hodinu a před vypnutím počítače a update při zapnutí).

To není dobré. Commit bys měl dávat jen tehdy, pokud máš kompilovatelnou verzi. Jinak se v tom ztratíš.
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: prezek 15. 11. 2013, 17:07:05
Taky už mi došlo, že bych neměl commitovat každé uložení souboru, ale možná by nemuselo být špatné doplnit commit do makefile za úspěšnou kompilaci.
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: Jimm 15. 11. 2013, 19:23:07
Já bych tedy přestal zálohovat na e-mail. Je to takové znásilnění informačních technologií. :)
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: Ziktofel 16. 11. 2013, 17:25:15
no, git je sam o sobe takovej, ze je to i de facto skvelej zalohovaci nastroj
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: prezek 16. 11. 2013, 23:43:57
Já bych tedy přestal zálohovat na e-mail. Je to takové znásilnění informačních technologií. :)
Taky se mi to nelíbí. Rád si nechám doporučit alternativu. Google Drive? Dropbox? CD/DVD?
Název: Re:Správa verzí, synchronizace a zálohování
Přispěvatel: Mirek Prýmek 17. 11. 2013, 08:11:13
Jestli to chápu správně, problémy jsou dva:
1. zapomínáš commitovat před vypnutím komplu
2. zálohování na mail se ti nezdá elegantní

To jsou dvě ruzné věci. Ten druhý problém se tady řešil mockrát a na webu najdeš spousty návodů. Řešení závisí na tom, co od toho chceš a jaké máš k dispozici prostředky (tím nemyslím peníze, ale jestli máš třeba někde nějaký druhý servřík s dostatečnou diskovou kapacitou apod.)

V tom prvním  by ti možná mohl git pomoct. Protože v gitu je branchování levné a přehledné, můžeš mít branch, ve kterém commituješ často a až to jde zkompilovat a nějak rozumně to funguje, mergneš to do jiné větve (buď jako jednotlivé commity nebo jako celek pod jedním commitem). Standardní model branchování je tenhle: http://nvie.com/posts/a-successful-git-branching-model/
Tak jako tak nesmíš zapomenout na push, ale aspoň to zvládneš jedním příkazem, můžeš to udělat kdykoli (pokud commituješ do nějaké dirty větve) a je to rychlé.

Jinak asi těžko poradit, když nepíšeš, co přesně ti na současným systému nevyhovuje.