Szeretném az ebben tapasztaltakat megkérdezni, hogy egy bizonyos problémához milyen version control modellt ajánlotok? Első körben még csak nem is azt kérdezem, hogy konkrétan milyen rendszer legyen, hogy mondjuk SVN vagy Git vagy valami más, hanem, hogy egyáltalán milyen típusú rendszer jobb szerintetek a feladathoz? (Természetesen, ha valakinek van valami konkrét javaslata valamelyik konkrét rendszert illetően, ne tartsa magában.)

A feladat pedig a következő:

Van egy rendszer, amit alapvetően egyetlen ember fejleszt (ez nem én vagyok), de egyes egységeket néha más-más személyek (többnyire én, illetve még egy ember) csinálnak meg. Maga a rendszer egy MaxMSP nevű nyelven íródott, és hatalmas, több GB méretű (nagyon sok média-file van benne, igazából ez adja a több GB-ot). A felhasználói kör zárt (az együttesünk), néhány emberből áll, de nyitva szeretnénk hagyni a dolgot úgy, hogy adott esetben harmadik fél (mondjuk egy másik zenekar) is bármikor meg tudja szerezni a rendszer legfrissebb változatát.

A fejlesztés lassú ütemben halad (összesen több, mint 10 éve fejleszti az illető a dolgot, viszont csak időnként tud dolgozni rajta), két változat között szinte biztos, hogy minden felhasználó el tud jutni olyan helyre, ahol van internetkapcsolat (ez alól kivétel az, amikor koncertek előtt viszonylag sűrűn bele kell nyúlni, de olyankor meg egy légtérben van az egész csapat, így a változások könnyen terjeszthetők a felhasználók között).

Fontos, hogy a felhasználók többsége (7ből 4) gyakorlatilag számítástechnikai analfabéta, vagyis olyan megoldás kell, amihez a nem-fejlesztőknek maximum egy klikkelés kell a rendszer frissítéséhez a legújabb verzióra és amivel még véletlenül sem tudják felülírni a működő (néhány esetben időszakosan nem-működő) programot.

A fejlesztők és a felhasználók is Mac OS X-et használnak, de ez (elvileg) lényegtelen (ez elvileg nem szabadna, hogy befolyásolja, hogy centralizált vagy elosztott VCSben kellene gondolkodnom a feladat megoldásához).

(A történet teljességéhez még hozzá tartozik, hogy eddig a "központi szerveren tárolunk mindent és mindenki onnan letölti a teljes szoftvert" modellt követtük, azonban az utóbbi időben a központi szerver nem-frissítése és az egyes felhasználók gépein futó verziók közötti apró eltérések miatt majdnem két koncertünk is meghiúsult. Ezért határoztuk el, hogy kipróbálunk valami hatékonyabb módszert...)

Utoljára módosította SAdam 2009.XII.21 03:37-n
Bejegyzés módosítása | PermaLink
Szavazás letiltva.

Hozzászólások

3

SAdam 2009.XII.21 10:31

Most újraolvasva egy dolog nem biztos, hogy egyértelmű: tehát, a médiafile-ok a rendszer szerves részét képezik, vagyis azt is bele kell tenni a VCSbe. Tehát valamilyen szinten követelmény, hogy a "nyertes" rendszer hatékony módon legyen képes megbirkózni akár több száz MB méretű hangfile-okkal (nem tudom, létezik-e bináris delta, vagy hasonló, illetve van-e annak értelme egyáltalán, hogy egy hangfile változásait bináris deltákkal tároljunk)...

Én egyébként erősen az SVNre hajlok, de leginkább azért, mert eddig csak azt használtam, meg mert annak tudok olyan klienséről, ami beépül a Finderbe (a Finder a Mac OS X filekezelője). Viszont egyre több helyen olvasom, hogy a DVCS-ek mennyire de mennyire király dolgok, és nem sikerül eldöntenem, hogy vajon ehhez a konkrét feladathoz az jobban passzol-e, vagy sem.


Wigy 2009.XII.21 21:52

Titeket a teljes történelme is érdekel a fájloknak, vagy csak azt szeretnéd, hogy szinkronizációnál letöltődjön a közösből, amit más változtatott és feltöltődjön, amit te?

Amúgy én csak olyan DVCS-t láttam, amit legalább sárgaöves gépbubusok tudnak kezelni. Kicsit többet kell magyarázni hozzájuk, és könnyű elfelejteni, hogy mi az, amit lokálisan commitáltál csak, és mi az, amit már pusholtál a közös repóba.


SAdam 2009.XII.22 16:48

(Válaszképp erre)

<blockquote> Titeket a teljes történelme is érdekel a fájloknak, vagy csak azt szeretnéd, hogy szinkronizációnál letöltődjön a közösből, amit más változtatott és feltöltődjön, amit te? </blockquote>

Inkább az a fontos, hogy szinkronban legyen a cucc, vagyis, hogy minden gépen lehetőleg szó szerint ugyanaz legyen fent. Ezzel együtt a dolog története is fontos lehet, mert volt már olyan, hogy egy koncert után úgy döntöttünk, hogy pl. valamelyik darab eggyel korábbi kottája sokkal jobban szólt, csak épp már senkinek nem volt meg a darab korábbi verziója...

Tagek: