Hasonlitsuk oket ossze.
Melyiknek milyen elonye / hatranya van.
Foglalkozhatunk a "korejuk" keszult segito alakalmazasokkal is.
- 2051 megtekintés
Hozzászólások
- A hozzászóláshoz be kell jelentkezni
fordítsuk le, vagy mi legyen? :)
- A hozzászóláshoz be kell jelentkezni
Mondjatok meg, hogy Bazaar Jobabb-e, mint a git vagy sem :)
Melyiket vallaszam ?
- A hozzászóláshoz be kell jelentkezni
a válasz természetesen: attól függ :)
ha a lehető leggyorsabb rendszert akarod, akkor git. ha a lehető leghasználhatóbbat, akkor bazaar. röviden talán így tudnám összefoglalni.
- A hozzászóláshoz be kell jelentkezni
A linkelt doksi szerint git sebbesegbeli elonye minimalis.
Miert kevesbe hasznalhato a git ,es miert hasznalhatobb a Bazaar ? Tenyleg szembetunik ?
- A hozzászóláshoz be kell jelentkezni
be kell vallani, hogy az utóbbi időben sokat fejlődött a git ezen a téren - egy évvel ezelőtt még mindig kb. pilótavizsga kellett a használatához.
igazából nehéz megmondani, hogy neked mi a jó. ha teheted, próbáld ki mindekettőt a napi feladataid közben, és dönts ez alapján...
- A hozzászóláshoz be kell jelentkezni
Ehm.
Legyen ez a hello.c az elso commitban:
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
Amit aztán módosítsunk erre:
#include <stdio.h>
int main()
{
int i;
for (i = 0; i < 10; i++) {
printf("Hello World!\n");
}
return 0;
}
Aztán lássuk, mikor ki mit csinált:
$ bzr blame hello.c
1 sz@ | #include <stdio.h>
| int main()
| {
2 sz@ | int i;
| for (i = 0; i < 10; i++) {
| printf("Hello World!\n");
| }
1 sz@ |
| return 0;
| }
Végülis igen, bár nem szabályos, de rá lehet erőltetni, hogy az a printf() hívás, vagy legalábbis az azt tartalmazó kódsor tényleg a második committal került be...
Node:
$ git blame -w hello.c
^6e2c44a (sz 2008-03-07 23:59:28 +0100 1) #include <stdio.h>
^6e2c44a (sz 2008-03-07 23:59:28 +0100 2) int main()
^6e2c44a (sz 2008-03-07 23:59:28 +0100 3) {
a045c282 (sz 2008-03-08 00:07:08 +0100 4) int i;
a045c282 (sz 2008-03-08 00:07:08 +0100 5) for (i = 0; i < 10; i++) {
^6e2c44a (sz 2008-03-07 23:59:28 +0100 6) printf("Hello World!\n");
a045c282 (sz 2008-03-08 00:07:08 +0100 7) }
a045c282 (sz 2008-03-08 00:07:08 +0100 8)
^6e2c44a (sz 2008-03-07 23:59:28 +0100 9) return 0;
^6e2c44a (sz 2008-03-07 23:59:28 +0100 10) }
Hoppáhoppá, ahogy az a nagykönyvben meg van írva, mert az a kód bizony az első committal került be.
bzr-t nem tudom, hogyan lehet rávenni arra, hogy az ilyet tisztességesen felismerje. Aztán ott van még a git stash meg pár egyéb apróság, aminek hirtelen nem találtam bzr megfelelőjét... Bár azt meg kell jegyeznem, hogy eddig nem töltöttem a bazaarral fél óránál többet.
- A hozzászóláshoz be kell jelentkezni
egyszerűen máshogy működik a diff algo.
szilveszter$ bzr diff -r 1..2 === modified file 'hello.c' --- hello.c 2008-03-08 00:04:53 +0000 +++ hello.c 2008-03-08 00:05:47 +0000 @@ -1,7 +1,10 @@ #include int main() { - printf("Hello World!\n"); + int i; + for (i = 0; i < 10; i++) { + printf("Hello World!\n"); + } return 0; }
ami valahol nem is hülyeség, mert ugye azt az egy bizonyos sort cserélted le. persze a másik megközelítés meg az, hogy ez ugyanaz a sor, csak egy kis whitespace-t csaptál hozzá... szóval innentől kezdve ez megint csak vallási kérdés :)
- A hozzászóláshoz be kell jelentkezni
Nem, a diff algoritmus ugyanaz, a git diff-je is ugyenezt mutatja.
Csak a git egyrészt okosabb, mert ezt képes felismerni, másrészt flexibilisebb, mert nem "vallási kérdést" csinál a dologból, hanem hagyja, hogy te döntsd el, mire is vagy valójában kíváncsi (-w opció, anélkül ugyanúgy viselkedik, mint a bzr).
A való életben pedig sokszor erre vagy kíváncsi. Például valahol egy függvényben volt 5 sor, amit eggyel beljebb kellett tolni, mert bele kellett tenni őket egy if-be. Aztán két hónappal később észreveszed, hogy abból az öt sorból a harmadik és negyedik elég vad dolgot csinál, és meg akarod tudni, hogy ki, mikor és mi céllal írta azokat. git-nél mindezt megtudni triviális, blame -w egyből megmondja, hogy ki és mikor, és ott a commit hash is, amiből már egyből meg is van a commit message. bzr-nél meg csak az van meg, hogy ki és mikor módosította azt a sort, aztán megnézve a commit message-t rá kell jöjjél, hogy az még bizony nem az, amit kerestél, úgyhogy lehet blame-elni az azt megelőző revíziót, ... és így tovább, ciklusban, ha neadjisten a kérdéses sorok többször voltak ki-be tologatva, amíg végre célhoz érsz.
- A hozzászóláshoz be kell jelentkezni
bzr annotate --show-ids
, és máris látod a revision id-ket, amik alapján pontosan be tudod azonosítani, hogy melyik commit alkalmával került bele az adott sor a kódba. a w kapcsolóval kapcsolatban értem a gondodat, és rosszul fogalmaztam: nem vallási, hanem technikai kérdés. szerintem egész egyszerűen még nem gondoltak erre a fejlesztők, és ha lenne rá igény, akkor biztos vagyok benne, hogy implementálnák. érdekes, hogy még nem reklamált senki ezügyben...
- A hozzászóláshoz be kell jelentkezni
"-w opció, anélkül ugyanúgy viselkedik, mint a bzr"
Ez így ebben a formában nem teljesen igaz... dehát elég későre járt akkor már (;
Ebben a konkrét esetben a git -w nélkül tényleg úgy viselkedik, mint a bzr. De ha a file-t korábban átnevezték/mozgatták, akkor azt a bzr blame automatikusan leköveti, míg git blame-nek explicit meg kell mondani, hogy figyeljen oda, és kövesse le.
- A hozzászóláshoz be kell jelentkezni
Nem ismerem a git-et, csak egy videót láttam, amiben Linus kifejti, hogy miért ubar. A bzt-t használom kb. fél éve, előtte svn és darcs volt.
Ha kell windows-on (is) nyomulnod, akkor git kilőve, ha sokat kell pöcsölnöd, akkor gondolom git.
Nekem azt tetszik benne a legjobban, hogy a bzr parancssora baromi egyszerű, repót lehet tárolni akár ftp tárhelyen is - nem kell szerver oldali támogatás. Ami nem tetszik, hogy pl. push utáni email értesítő küldéshez plugin kell, ill. nem vagyok a Python nagy barátja. Ha egy binárisban le lehetne tudni az egészet (darcs ilyen volt windows-on), akkor lennék a legboldogabb, mert akkor pl. hordozható lenne pendrive-on, és nem kellene mindenhova felrakosgatni, vagy bűvészkedni.
- A hozzászóláshoz be kell jelentkezni
pendrive + valamelyik live disztró + bzr telepítve rá nem jó?
- A hozzászóláshoz be kell jelentkezni
Sajnálom a helyet egy disztróra és mivel minden gépet oprendszerrel használok (viszont nem mindenhol van jogom telepíteni), igen feleslegesnek érzem még egyet a pendrive-ra is tenni. Az újraindítgatás se vonzó. :)
- A hozzászóláshoz be kell jelentkezni
http://www.selenic.com/mercurial/wiki/
mercurial (Hg) szvsz jobb, mint a bzr
- A hozzászóláshoz be kell jelentkezni
Nem rossz, nem rossz; ezt is néztem régebben. Windows alatt mintha lennének vele apróságok, mint ahogy a Monotone-al is.
Egyébként a bzr mellett nálunk még a launchpad(.net) is nyomott a latba.
- A hozzászóláshoz be kell jelentkezni