- A hozzászóláshoz be kell jelentkezni
- 3689 megtekintés
Hozzászólások
Valahogy elfelejti megemliteni, hogy ez a megoldas miert jobb mint a configuracio management system-ek amiket erre talaltak ki... (puppet, cfengine etc.)
Szerk.: Es persze ugy ertem, hogy puppet+git/svn/whatever
- A hozzászóláshoz be kell jelentkezni
"Akinek van egy kalapácsa..."
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Talalo... :)
- A hozzászóláshoz be kell jelentkezni
Hosszabban is kifejtenéd?
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Cajga leírta már a lényeget: nem biztos, hogy a jó eszköz.
Azzal semmi bajom nincs, amikor valaki azt vizsgálja, hogy valami mire jó. Az már problémásabb, amikor az embernek van egy eszköze és mindenhova azt akarja használni.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Maga a git nem jó eszköz erre, vagy a verziókezelő rendszer használata úgy általában konfigfájlok kezelésére overkill szerinted?
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Viszont ha nincsenek nagy igényeid, csak alapvető funkciók kellenek, akkor ennek a szemléletnek is meg van a maga előnye.
Nevezetesen, hogy ez esetben csak _egy_ eszközt kell megtanulni használni, nem százfélét száz különböző dologhoz...
- A hozzászóláshoz be kell jelentkezni
+1, ahogy olvastam a cikket ez jutott eszembe, hogy a git "fő" három előnye, miszerint elosztott, meg hűdejó merge képességekkel bír, és milyen kényelmesen lehet vele pull requesteket kezelni, egy hangyányit sem érvényesül, helyette csak a lokális repositori 3 részből áll, és 8 parancs kell a megtanulásához. Ellenebn egy svn file:// protokollal 3 paranccsl bőven elvezérelhető, lokális, és mivel párhuzamosan kevés a commit, annyi conflictot az svn "gyenge" merge képességgel is lekezel. Elismerem a git fennhatóságát számos területen, de pont itt ágyúval verébre.
- A hozzászóláshoz be kell jelentkezni
Gondolom, te nem használsz gitet.
- A hozzászóláshoz be kell jelentkezni
Eltaláltad, és a negatív visszajelzések, és amit eddig olvastam róla, mondjuk ezzel kezdve (igyekszem azért nem a levegőbe beszélni) nem is sarkalltak arra használatba vegyem. De kérlek fixme.
-
Weak és Soft referenciák a Javaban
- A hozzászóláshoz be kell jelentkezni
Én meg pont azt nem értem, miért használnak még mindig centralizált verziókezelőket 2012-ben, de ízlések és pofonok...
"no video codec le a win32vel", de "Gentoohoz lehet meg tul fiatal vagy"
- A hozzászóláshoz be kell jelentkezni
Mert egy dimenzióval egyszerűsíti a dolgot.
----
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
Mármint arra gondolsz, hogy a commit(ok) után pusholni kell, vagy mire?
"no video codec le a win32vel", de "Gentoohoz lehet meg tul fiatal vagy"
- A hozzászóláshoz be kell jelentkezni
Persze, a gitet is lehet úgy használni, mint az svn-t, akkor csak annyi a különbség, hogy add, commit, push kell a sima commit helyett. De akkor emiatt felesleges volt az elosztott verziókezelő. Erre a feladatra tökéletes az svn egyszerű működése, felesleges az elosztott verziókezelés, és ez sok feladatra igaz. Ezért használnak még a mai napig ilyen verziókezelőket (no meg mert az iparnak nagy a tehetetlensége).
----
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
Csak mondjuk ott van az, hogy a DVCS-ekben hagyományosan igen könnyen lehet branchelni, mergelni, míg az SVN/CVS finoman szólva is elég gyenge e téren.
"no video codec le a win32vel", de "Gentoohoz lehet meg tul fiatal vagy"
- A hozzászóláshoz be kell jelentkezni
És van, ahol nem kell brencselni. Ilyen az élet, nincs one size fits all.
----
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
Nem sikerült megtalálni azt a részt az általad linket írásban, ami miatt riasztó lenne a Git, esetleg kicsit tudnál pontosítani?
- A hozzászóláshoz be kell jelentkezni
svn architekt: working copy -> repository
svn folyamat: checkout -> add -> commit
git architekt: workspace -> index -> local repository -> remote repository
git folyamat: fetch -> checkout -> add -> commit -> push (mivel nem vagyok expert lehet, hogy itt-ott lehet belőle lecsípni)
Nem látom értelmét a folyamatot bonyolítani bizonyos developer szám fölött, vagy nem opensource projekt esetén, nem nyújt semmi olyat, amit a faék svn pl nem tud. Ne felejtsük el, hogy a topic hogyan verziózzuk a konfigfájljainkat, ahol ritka a párhozamos változtatás, 1-2 user használja csak, azok is ritkán egyszerre. Persze ha valaki csak ebben jártas hülyeség lenne megtanulni valami mást, ettől függetlenül van egyszerűbb módszer is.
-
Weak és Soft referenciák a Javaban
- A hozzászóláshoz be kell jelentkezni
"hülyeség lenne megtanulni valami mást"
Sosem hülyeség új dolgokat megtanulni. Gitet is kár lenne kihagyni, nagyon jó (logikus, rugalmas, kézreálló) verziózó rendszer.
- A hozzászóláshoz be kell jelentkezni
Így is lehet gitet használni, de ez az svn-es munkafolyamat rákényszerítése a git-re. A lényeg az, hogy nem pusholgatsz folyton a közösnek kinevezett repoba, hanem csak mondjuk a nap végén. Viszont nap közben a saját repodba annyit és úgy commitolgatsz, ahogy kényelmes. Aztán a végén feltolod a közösbe. És igen, a remek merge miatt ez közel sem jár annyi fejfájással, mint svn esetében. Az én workflow-m így néz ki:
pull->stage/add->commit
Majd a nap végén push (esetleg némi rebase-es takarítás). Ez már azért nem hangzik annyira másmilyennek.
Ezen kívül rendszerint feature brancheken dolgozom, amiket merge-ölök vagy rebase-elek naponta többször.
- A hozzászóláshoz be kell jelentkezni
"Ezen kívül rendszerint feature brancheken dolgozom, amiket merge-ölök vagy rebase-elek naponta többször."
Remek, más meg nem feltétlen. És egyébként a topic konfig fájlok verziózása, nem szoftverfejlesztés. Tudod, akinek van egy kalapácsa...
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Te hoztad fel a workflow-t, nem én. Én eredetileg csak arra reagáltam, hogy "ágyúval verébre".
Szerk. bocs, nem te voltál, hanem mhmxs
- A hozzászóláshoz be kell jelentkezni
Könyörgöm, én ezt értem, de jelen esetben szaros, lineárisan szerkesztett, ritkán változó konfigfájlokról beszélünk, és pont ezt magyarázom, hogy nincs szükség "pull->stage/add->commit -> Majd a nap végén push" workflowra, mert ebből a szemszögből ez egy túlbonyolított megoldás, és sokkal egyszerűbb eszközökkel is elérhető ugyanez a funkcionalitás.
-
Weak és Soft referenciák a Javaban
- A hozzászóláshoz be kell jelentkezni
+1, arról nem is beszélve, hogy lassan mindenhol by default van shadow copy. Annál egyszerűbbet helyi gépre nehezen tudok elképzelni. (Ok, "commit log" nem lesz, cserébe ha konfig fájl, általában bele lehet kommentelni.)
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Nyilván, ízlések és pofonok. Szerintem azért érdemes erre a feladatra gitet használni SVN-nel szemben, mert nem kell hozzá szerver. Csak csinálsz egy repot és kész is vagy, minden localban megy.
Bár tudom, sokaknak nem jön be a git, többnyire azt látom mögötte, hogy nem igazán értik, miről szól az elosztott verziókezelés. Ha kísérletezős kedvedben vagy és szeretnél valami nem-gitet megtanulni, nézd meg ezt a tutorialt: http://hginit.com/
- A hozzászóláshoz be kell jelentkezni
Az svn is támogatja a file:// protokollt, és nem kell hozzá szerver.
-
Weak és Soft referenciák a Javaban
- A hozzászóláshoz be kell jelentkezni
"mert nem kell hozzá szerver."
$ pwd
/usr/home/saxus
$ mkdir repo
$ svnadmin create repo
$ mkdir tmp
$ cd tmp
$ svn co file:///usr/home/saxus/repo .
Checked out revision 0.
$ touch GITFTW.txt
$ svn commit -m "hai"
$ ls -a
. .. .svn GITFTW.txt
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
$ svn log GITFTW.txt
svn: 'GITFTW.txt' is not under version control
- A hozzászóláshoz be kell jelentkezni
Jogos, svn add kimaradt.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
a gitet lehet ugyanugy hasznalni, mint az svnt, ha epp ezt szeretne valaki. +1 parancs a push.
- A hozzászóláshoz be kell jelentkezni
Akinek kalapácsa van, mindent szögnek néz. (Ha csak a mondás második fele hiányzott.)
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
Ismerem a mondást, nem erre voltam kíváncsi. Azért kösz!
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Lehet lenne ertelme elolvasni a cikket mielott megmondod a tutit.
Eloszor is kezdokhoz szolt. Masodszor a home alatt levo sajat configokat rendezgeti. Erre a puppet vagy a cfengine akkora overkill hogy...
De ha igazan erdekel en megmondom miert jobb ez a megoldas mint a config management rendszerek: mert egyszeru.
- A hozzászóláshoz be kell jelentkezni
Valoban nem olvastam el a teljes cikket csak a Getting Started elotti reszt. Ennyi eleg volt, utana abbahagytam mert baromsagnak tartom. (Mielott postoltam a hsz-emet rakerestem a puppet es a cfengine szora, hogy ne irjak valotlant)
"Eloszor is kezdokhoz szolt."
Pont ez a baj az ilyen cikkekkel, hogy tul sok kezdohoz jut majd el es meg sem emliti a valoban erre a celra hasznalando megoldasokat! Bemutat egy megoldast ami mukodik, hasznalhato bizonyos feltetelek kozott de messze nem optimalis. Kinevel majd sok pistiket (es ebben az esetben nem ok lesznek a hibasak mert a linux.com-on olvastak es eselyt sem kaptak megtudni, hogy lenne jobb megoldas).
"Masodszor a home alatt levo sajat configokat rendezgeti."
Ha tenyleg csak a /home-ra korlatozodik, akkor hatalmas segitseg egy szerver konfiguralasanal. Implementalhat egy masik megoldast a tobbi config fajlhoz, vagy azok mar nem is fontosak?
"Typically I use Dropbox to sync my files for work, but Dropbox isn't a good solution for files under /etc or .config type files under your home directory."
Engem az a /etc zavart meg ebben a mondatban, de azon se lepodnek meg ha a /etc lenne a home-ja.
- A hozzászóláshoz be kell jelentkezni
Attol hogy nem neked szol meg nem feltetlenul baromsag. Ha az ember sokat mozog kulonbozo gepek kozott eleg kenyelmes egy repobol lehuzni a tipikus configokat (vim, bash stb). (en is reszben ezt csinalom mar regota)
puppet/cfengine/chef stb. teljesen mas vilag. Iszonyat nagy rendszer mindegyik, rengeteg energia elindulni veluk, csak akkor eri meg ha sok gepre (puppet: nehany 10, chef nehany 100, cfengine-t nem hasznaltam) kell configot pakolni.
"Ha tenyleg csak a /home-ra korlatozodik, akkor hatalmas segitseg egy szerver konfiguralasanal. Implementalhat egy masik megoldast a tobbi config fajlhoz, vagy azok mar nem is fontosak?"
Ezt a mondatodat nem ertem. Ha en installalok egy szervert akkor az elso dolgom hogy bash/vim configot reszelek mert ezek nelkul sokkal tovabb tart minden mas.
- A hozzászóláshoz be kell jelentkezni
Szerintem félre érted. Esetemben ez egy tök jó megoldás, mert minden szerverünkön van git, viszont nem én vagyok az admin minden szerveren. így most tudom hordozni a kis hülye bash scriptjeimet az acc-ok között.. Eddig volt rá egy "movein" scriptem, amivel időközönként "beköltöztem."
"Kinevel majd sok pistiket" - Mert azok a linux.com-on nevelődnek :-)
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Nem olvastam el a cikket, viszont kapasbol eszembe jut 1 alapveto kulonbseg. Ezt a szerverrol inditja (akar ott is tarolja), mig a puppet is tarsait jellemzoen egy kozponti helyrol igazgatja.
Kb. annyi a kulonbseg, mint a pull es a push backup kozott. Persze van meg az overkill, meg a egyszeruseg vs. bonyolultsag stb. De a lenyeg szerintem ezen van.
Nem jobb, hanem mas.
Sot, akar masik, egymas mellett a ketto. Persze ez mar talan eroltetett.
udv,
tamas
- A hozzászóláshoz be kell jelentkezni
puppet es baratai nem zarjak ki a verziozast, igazabol ajanlott a fileok valami repoban tartasa.
Aki valaha probalt mar puppet-et vagy chef-et hasznalni az pontosan tudja hogy nincs az az atyauristen hogy egy vim config miatt osszerakjon egy teljes infrastukturat alajuk. Finoman szova is komplex rendszerekrol beszelunk amiknek illik legalabb egy dedikalt szervert adni. Igazad van, mas, nagyon mas a ket dolog.
- A hozzászóláshoz be kell jelentkezni
lol, linux
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
juj :)
- A hozzászóláshoz be kell jelentkezni
cp és diff parancsokról hallott-e? :D
"no video codec le a win32vel", de "Gentoohoz lehet meg tul fiatal vagy"
- A hozzászóláshoz be kell jelentkezni
emlékszem, valamelyik előadáson mondta valaki hogy egy író arra használt ilyen verziókezelőt, hogy az épp aktuális műve fejezeteiben a változásokat tudja vele követni. (GOTO kalapács :))
"Mutasd meg egy zsebtolvajnak Buddhát és csak zsebeket fog látni."
- A hozzászóláshoz be kell jelentkezni
Most komolyan, tudsz rá jobb eszközt?
Amivel mondjuk 30 különböző könyvtárban elhelyezett file-nak tudod egy kattintásra megnézni a diff-jeit?
- A hozzászóláshoz be kell jelentkezni
Kicsit mellelottel, a verziokezelo pont idealis erre a feladatra.
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
te tudod mi az a verziokezelo?
- A hozzászóláshoz be kell jelentkezni
Persze:
$ DIR
FILE1.EXT;42
FILE2.EXT;4
$
Ja, nem. Ez a VMS. Mindig keverem a kettőt. :))
--
Java apps are nothing more than sophisticated XML-to-exception converters.
- A hozzászóláshoz be kell jelentkezni
Bár már hárman megmondták a tutit, én is kiokosítalak: a verziókezelő ideális erre a feladatra, saját tapasztalat alapján.
----
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
Szerintem egy rdiff-backup erre sokkal jobb módszer (cron-nal beállítva X időközönként). Egyrészt sokkal automatikusabb, másrészt (magamból kiindulva) úgyse commit-tol mindig minden változtatást - siet, elfelejti, egy idő után meg elege van, hogy mindig changelog-ot írjon.
Az rdiff-backup-pal pedig az inkrementális (vagy hogy hívják) backup miatt régebbi verziók is elérhetőek. Sőt, az rdiff-backup-fs segítségével még bűvös parancsokat (revert, stb.) se kell bemagolni, hogy a különböző verziók között bogarásszon az ember.
- A hozzászóláshoz be kell jelentkezni
De ennyi erővel nem beteheted a gitet is cron-ba?
- A hozzászóláshoz be kell jelentkezni
Igen. Meg nem.
Igen, cron-ba azt rak bele az ember, amit akar.
Viszont ha a git cron-ba kerül, nemigen lesznek "értelmes" changelog-ok (gondolom, a git nem annyira értelmes, hogy egy-két változtatásból intelligensen kitalálja, hogy a commitlog az az "Egy kicsit megpróbálom máshogy" :)).
Biztosan jó ez a git, de nem látom, hogy ugyanarra a dologra miért kellene két programot használnom, két szkriptet "karbantartanom". Ui. az rdiff-backup nálam azt csinálja, ami a neve is: backup-ot. Backup-ot csinálok a LaTeX-fájljaimról, katalógusokról, stb., és többek között a "fontos" konfigfájlokról is.
Egy szkript - a hiba legfeljebb egy helyen van :)
De mondj egy olyan dolgot, ami miatt a git jobb (lenne), mint a mostani megoldásom, és ígérem, megcsinálom.
Csak egy példa: egyszer egy konfigban egy bizonyos részletet kerestem, ami közben "eltűnt" (nem volt rá szükségem). Mennyire egyszerű ez git-ben, hogy mittomén az echo "helloworld"-öt tartalmazó verziót megtaláljam? rdiff-backup-fs: egyszerű grep -r, és jó napot.
- A hozzászóláshoz be kell jelentkezni
Haha, pont azt az érvet szokták felhozni a konfigfájlok mellett, hogy bele lehet kommentelni, írja oda! :D
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
De akkor nem is kell semmi verziókezelgetés: amit kitöröl, azt ezután nem törli, hanem kikommenteli és odaírja, hogy miért kell kihagyni :)
- A hozzászóláshoz be kell jelentkezni
Éppenséggel lehetne használni shadow copy-t erre tök jól, más kérdés, hogy a 2012-ben a "linux shadow copy" kulcsszavakra rákeresve egy 2006-os linuxquestions.org témát dob fel, ami úgy indul, hogy "Yes, it's called cron. For details:".
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Aha. Szóval amit én csinálok, az a shadow copy, ha jól értem.
Akkor nem is olyan nagy durranás, ha nekem is eszembe jutott :)
- A hozzászóláshoz be kell jelentkezni
Jobb helyeken ezt nem csinálni kell, hanem megy transzparensen...
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Nálam sem kell csinálni, mert már kész van.
- A hozzászóláshoz be kell jelentkezni
Én nem mondom, hogy jobb, de nem is rosszabb (changelogot nem kapsz így se, úgy se a cron által futtatva, viszont mondjuk ha manuálisan commitolsz, akkor de). De teljesen igazad van, fölösleges a működő megoldásodat lecserélni, erről nem is akarlak meggyőzni :)
Git-ben így lehet keresni egyébként a korábbi verziók között: git log -g -Svalami vagy -Gregex
- A hozzászóláshoz be kell jelentkezni
Akkor ezt megbeszéltük. Mindenki csinálja tovább a saját hülyeségeit :)
- A hozzászóláshoz be kell jelentkezni
Elöljáróban, nem olvastam végig a cikket, csak éppen belenéztem.
Nekem elsőre az etckeeper jutott az eszembe, ami tud a gittel és más elosztott verziókezelővel együttműködni, bár alapvetően "csak" helyileg tárolja az adatokat.
Van a yumhoz pluginja, így a csomagok karbantartásával kapcsolatos, /etc/* érintő változtatásokról is kapunk információt. Szerintem hasznos.
Webappz - http://webappz.hu/
- A hozzászóláshoz be kell jelentkezni
Debianra is van etckeeper package, be is hookolodik jol az aptbe.
- A hozzászóláshoz be kell jelentkezni
+1, pontosan :)
Webappz - http://webappz.hu/
- A hozzászóláshoz be kell jelentkezni
Igen, én használok
- A hozzászóláshoz be kell jelentkezni
De most komolyan...
Egy beállitott desktop rendszeren ti milyen gyakran változtattok bármilyen konfig file-t? Tényleg olyan sűrűn, hogy ahhoz verziokezelő rendszer kell?
Egy uj rendszerre való átálláskor pedig tényleg git telepitése, stb. kell ahhoz, hogy átmásold az a _pár_ darab olyan konfig file-t amihez valóban hozzá lett nyúlva kézzel?
- A hozzászóláshoz be kell jelentkezni
Miert faj ez?
- A hozzászóláshoz be kell jelentkezni
Mondjuk ha van sok géped, akkor esetleg lehet olyat, hogy monjuk minden gépnek külön branch-e van, és ebben a konfigok. Csak hogy megérje, ehhez egy elég heterogén géppark kell, meg elég sok gép.
"no video codec le a win32vel", de "Gentoohoz lehet meg tul fiatal vagy"
- A hozzászóláshoz be kell jelentkezni
Nyilván attól függ milyen desktop és mire használod. XMonad/StumpWM, emacs/vim, Xresources, conkerorrc, van egy csomó alapvető program amit évek alatt jól személyre szabtam. Ezeket a configokat viszem melóhelyről melóhelyre, otthoni gép upgrade-elésekor. Githubra/BitBucketre/stb. felrakja az ember és leülhet bármilyen linux elé hamar otthonossá tudja varázsolni.
Épp a napokban döglött meg a merevlemezem, épp közeledett a határidő a munkámban, jól jött hogy csak feldobtam az új lemezre egy linuxot, git pull, és mehetett tovább a munka.
- A hozzászóláshoz be kell jelentkezni