eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingProgramy do kontroli wersji - zalety i wady.Re: Programy do kontroli wersji - zalety i wady.
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!news.supermedia.pl!plix.pl!newsfeed2.plix.pl!feed.xsnews.nl!border-1.a
    ms.xsnews.nl!feeder.ecngs.de!ecngs!feeder2.ecngs.de!46.4.82.166.MISMATCH!wereti
    s.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail
    From: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>
    Newsgroups: pl.comp.programming
    Subject: Re: Programy do kontroli wersji - zalety i wady.
    Date: Mon, 3 Dec 2012 15:13:34 +0000 (UTC)
    Organization: solani.org
    Lines: 84
    Message-ID: <s...@j...net>
    References: <k9dao1$t66$1@node2.news.atman.pl>
    <2...@g...com>
    <k9dfju$267$1@node2.news.atman.pl> <k9dh35$3ak$1@node2.news.atman.pl>
    <k9dhjc$400$1@node2.news.atman.pl>
    <1...@g...com>
    <k9f44d$hp8$1@node2.news.atman.pl>
    <0...@g...com>
    <k9fv2a$bsg$1@node2.news.atman.pl>
    <2...@g...com>
    <k9g1j2$en5$1@node2.news.atman.pl>
    <1...@g...com>
    <k9g5aa$dpp$1@node1.news.atman.pl>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=iso-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: solani.org 1354547614 21505
    eJwNyskRwDAIBLCWOBe7nAyw/Zfg6K10KLoCiUgmPzrZvXKRsgJiXGmjbo7StY4zwxvxz1N4K/AROg==
    (3 Dec 2012 15:13:34 GMT)
    X-Complaints-To: a...@n...solani.org
    NNTP-Posting-Date: Mon, 3 Dec 2012 15:13:34 +0000 (UTC)
    User-Agent: slrn/pre1.0.0-18 (Linux)
    X-User-ID: eJwFwQkBACAIBLBKCgdIHN7+EdyE9WoZVBSysvEcCeIIku7tswN4lnOb1dg8UjrIvFXbQh8rjR
    HA
    Cancel-Lock: sha1:nXiPWARtYCvoGzJuu47Vq2qrQ68=
    X-NNTP-Posting-Host: eJwNw4ERACEIA7CVRGn5dbDA/iP4uQsOjQon6BiMWZdSiOoBV8e/xSV993p5wSqN
    TG1FqB868xJF
    Xref: news-archive.icm.edu.pl pl.comp.programming:201401
    [ ukryj nagłówki ]

    On 2012-12-02, Sebastian Biały <h...@p...onet.pl> wrote:
    >> No ale widzisz, w svn robisz zmiany, potem kompilujesz i wypada puscic testy
    >> i dopiero commit. W git juz jak sie kompiluje sprawdzam cale zmiany
    >> i robie commit. Jak sie nie skompiluje lub nie dziala, poprawiam juz
    >> zrobiony commit ("--amend") - nikt nigdy nie zobaczy schrzanionego commita.
    >
    > Dlaczego ma nie zobaczyć? Albo rewertujesz albo commitujesz fixa. Nie
    > rozumie, dlaczego wśród gitowców jest tak powszechne oszukiwanie (tu nie
    ^^^^^^^-- kto nie rozumie? czy "ja nie rozumię"?
    > bylo żadnego commita!). Praca z repo z rewizjami wymaga pewnej higieny
    > która wychodzi na zdrowie.

    Praca z rewizjami wymaga pewnej higieny. Taką higieną jest nietrzymanie
    pomyłki po wsze czasy, tylko (o ile nie została jeszcze opublikowana)
    poprawienie jej w miejscu.

    Kwestia przyjętej strategii. W Subversion nie poprawiasz, tylko łatasz,
    bo nie masz wyboru. W gicie to kwestia polityki.

    > Dalej nie jestem przekonany, twoje argumenty nie pokazują żadnej
    > lepszosci gita nad svnem w przypadku o który chodziło (jak się okazuje)
    > autorowi wątku.

    Bo Edek nie przemyślał swoich argumentów. To, jak zauważyłem, normalne
    przy dyskusjach o systemach kontroli wersji. Nikt zachwalający swój
    ulubiony system kontroli wersji nie potrafi pokazać, dlaczego jest on
    (naj)bardziejszy.

    > Przyznaje, że jestem gotowy przejśc na gita pod
    > warunkiem natrafienia na jeden killer-feature vs svn, bo drobnostki w
    > svn są upierdliwe.

    W podstawowym zastosowaniu git nie ma specjalnej przewagi nad
    Subversion, wyjąwszy pracę odłączoną. Ja zaczynałem naukę gita od mostka
    git-svn, żeby móc pracować na nie-zawsze-połączonym-z-internetem-laptopie
    nad kodem znajdującym się oryginalnie w Subversion.

    W porównaniu z Subversion git ma znacznie lepsze mechanizmy śledzenia
    operacji merge. Ja na ten przykład do tej pory nie nauczyłem się, jaka
    jest realna różnica między `svn merge' i `svn merge --reintegrate' na
    długo żyjących branchach (z czasem następuje zamiana ról i merge
    z trunka do brancha musi dostać --reintegrate; nadal nie wiem dlaczego
    ani kiedy).

    Informacja o merge'ach nie jest czymś dosztukowanym za pomocą atrybutów,
    tylko jedną z podstawowych cech commita, przez co trudniej o głupią
    pomyłkę. Zdarzyło mi się parę razy zacommitować merge bez katalogu
    głównego, przez co svn:mergeinfo poszło w pizdu. Owszem, da się w SVN
    z tego wycofać, ale dlaczego to w ogóle było możliwe?

    Obliczanie różnic między commitami odbywa się na lokalnej maszynie,
    a nie na serwerze, który służy do współdzielenia kodu. Przy większych
    repozytoriach jest to istotna różnica.

    W sytuacji, gdy praca nad kodem odbywa się w sieci, która nie ma żadnego
    połączenia z siecią, gdzie ten kod pracuje produkcyjne, łatwiej jest
    przerzucać commity. Mam taki specjalny workflow, który mi pakuje różnice
    między tym, co powinno być w sieci produkcyjnej i bieżącym stanem,
    a potem te zmiany przenoszę "na pendrajwie"[*], gdzie je wciągam do
    produkcji.

    [*] W rzeczywistości w nieco inny sposób, ale zgodnie z tym samym
    schematem.

    Przepisywanie historii w gicie pozwala mi na następujący sposób pracy
    z gałęziami: wszystkie commity lokalne dla brancha są nałożone *na*
    brancha źródłowego, a nie z nim *wymieszane*. W historii widać to tak,
    że najpierw czyta się wyłącznie lokalne zmiany, a od pewnego momentu już
    są same commity z oryginalnego brancha.
    Jeśli mam tylko dwa-trzy commity w lokalnym branchu i ta liczba się nie
    zwiększy drastycznie (np. w webaplikacji z raportami dodany jest dla
    wygody jeden URL do dokumentacji), to łatwiej jest porównywać branch
    oryginalny z lokalnym i wciągać zmiany z oryginalnego (tzn. nie
    "konflikty są mniejsze", tylko "łatwiej znaleźć, które commity były tu,
    a które tam i co jeszcze nie zostało zmerge'owane").

    Git ma wbudowaną możliwość składania podpisów GPG pod commitami. Jeszcze
    z tego nie korzystałem, ale gdy będę potrzebować systemu dystrybucji
    informacji, w którym odbiorca ufa nie źródłu informacji (serwerowi),
    a samym informacjom, w gicie będzie mi to łatwiej zrobić niż w SVN.

    --
    Secunia non olet.
    Stanislaw Klekot

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: