Git 1.7.0

13 lutego Junio C Hamano poinformował na listach mailingowych gita oraz jądra Linux o wydaniu nowej wersji, zdobywającego coraz większą popularność, rozproszonego systemu kontroli wersji.

Dokładniej o nadchodzącej wersji 1.7 byliśmy informowani m.in. z wydaniem wersji 1.6.6 pod koniec zeszłego roku, gdzie zapowiedziano istotne zmiany w domyślnym zachowaniu podstawowych komend, aby sprawiały mniej problemów. Już od pewnego czasu w najnowszych wersjach gita byliśmy ostrzegani o nich w trakcie wykonywania stosownych komend, łącznie z podaniem wskazówek jak można zachować (ustawić na sztywno) obecne zachowanie. Miało to na celu uniknięcie problemów znanych z poprzednich dużych zmian, kiedy to użytkownicy zwlekali z wcześniejszym dostosowaniem się do nich.

Jakie więc zaszły istotne zmiany?

  • git push (wysyłanie obiektów do zdalnego repozytorium) do gałęzi, która jest używana w katalogu roboczym (tj. wskazywana przez HEAD w nieczystym (ang. not bare) repozytorium) jest teraz domyślnie zabroniony. Analogicznie nie uda się też usuwanie (git push repo :gałąź) takiej gałęzi.

    Przywrócenie starego i niezdrowego zachowania uzyskujemy poprzez przestawienie zmiennych receive.denyCurrentBranch oraz receive.denyDeleteCurrent na ignore w repozytorium docelowym.

    Małym uzupełnieniem może być tu odpowiedź w GitFaq na pytanie: Dlaczego nie zobaczę zmian w zdalnym repozytorium po wykonaniu git push?

  • git send-email nie tworzy już domyślnie głębokich wątków (ang. deep threads), wysyłając cały zestaw łat (ang. patch) jako odpowiedź na pierwszy mail, tzw. list motywacyjny (ang. cover letter).

    Stare zachowanie gwarantuje parametr --chain-reply-to albo przestawienie w konfiguracji zmiennej sendemail.chainreplyto na true.

    Płytkie wątki (ang. shallow threads) jako czytelniejsze i tak były zdecydowanie częściej używane na różnego rodzaju listach mailingowych, toteż ta drobna zmiana może nawet się wydawać nieco spóźniona.

  • git status przestał naśladować git commit z pominięciem etapu commitowania (do czego powinniśmy używać tożsamego polecenia git commit --dry-run obecnego od wersji 1.6.5) i pokazuje jedynie stan naszego katalogu roboczego, tzn. różnice między plikiem indeksu a aktualnym commitem wskazywanym przez HEAD (czyli ścieżki do plików, które uległy zmianie w stosunku do drzewa reprezentowanego przez commit wskazywany w HEAD i zostały wystawione (ang. staged) do późniejszych operacji [git ls-files --stage vs git ls-tree -r HEAD]), ścieżki do śledzonych plików z naszego katalogu roboczego, które nie mają zgodnych wpisów w pliku indeksu (inaczej mówiąc, dotyczące je zmiany nie zostały wystawione) i wreszcie ścieżki do nieśledzonych plików, które nie spełniają wzorców ignorowania.

    Jest to istotna poprawa, ponieważ podając ścieżkę do git status zawężamy jedynie obszar jego działania, zamiast, jak to miało miejsce dotychczas, definiować, które ze śledzonych plików mają zostać zacommitowane (co było efektem domyślnie aktywnej opcji --only w komendzie git commit). Szczególnie nowi użytkownicy mogli mieć z tym problemy. Siłą rzeczy git status przestał teraz obsługiwać parametry commitowania, które wcześniej cicho ignorował.

    Jeżeli zależy nam na starym zachowaniu, to jak już wcześniej wspomniano, wystarczy zastąpić git status komendą git commit --dry-run.

  • git diff zmienił swoje działanie jeżeli stosujemy ignorowanie białych znaków (--ignore-space-at-eol, --ignore-space-change/-b lub --ignore-all-space/-w). Jeżeli pliki różnią się jedynie ignorowanymi znakami, wówczas na wyjściu nie pojawi się dla nich nawet nagłówek diff --git a/ścieżka/plik b/ścieżka/plik, a przy użyciu dodatkowo opcji --exit-code, kodem wyjścia będzie 0.
  • Dla zachowania spójności z innymi programami wykonywanymi przez gita, programy pomocnicze typu diff i textconv są teraz wykonywane z pomocą powłoki (ang. shell), pozwalając na przekazywanie do nich parametrów linii komend (ang. command-line parameters). Oznacza to, że jeżeli używaliśmy zmiennej środowiskowej GIT_EXTERNAL_DIFF lub ustawialiśmy zmienne diff.*.command lub diff.*.textconv w pliku konfiguracyjnym, to w przypadku zawierania się w zdefiniowanych tam ścieżkach spacji lub innych metaznaków, muszą zostać wzięte w cytat.
  • Ostatnia już zmiana to modyfikacja interpretacji argumentu przekazywanego do opcji --max-pack-size używanej przez komendy git repack, git pack-objects i git fast-import. Dotychczas traktowano ów argument jak wyrażony w MiB, zamiast w bajtach z obsługą sufiksów k (2^10), m (2^20) i g (2^30), jak ma to miejsce w przypadku różnych zmiennych w konfiguracji czy innych opcji przyjmujących rozmiar jako argument.

Oprócz powyższej listy mamy jeszcze także mniejsze usprawnienia, z których co najmniej kilka pozwolę sobie odnotować:

  • poprawiono nieco wydajność w msysgitowym porcie (przeznaczonym dla użytkowników systemu Windows),
  • dodano obsługę opcji --quiet i --[no-]progress do większej liczby komend (np. odpowiednio do git reset i git clone),
  • uzupełniono transfer po HTTP o obsługę uwierzytelniania dostępu z pomocą schematów innych niż podstawowy (ang. basic), który przesyła hasła czystym tekstem (ang. plaintext) – aby móc z tego skorzystać, musimy ustawić zmienną http.authAny w konfiguracji, a jeżeli interesuje nas konkretnie uwierzytelnianie typu digest, potrzebujemy curla w wersji co najmniej 7.18.1 (z powodu błędów we wcześniejszych wersjach związanych z tym mechanizmem),
  • dodano opcję --set-upstream do komendy git branch umożliwiającą zmianę upstreamu,
  • uzupełniono składnię o obsługę zapisu gałąź@{upstream} pozwalającego na podmianę upstreamu gałęzi, a pominięcie w nim gałęzi jest tożsame z podaniem bieżącej,
  • git grep nie polega już na zewnętrznym grepie i potrafi działać w oparciu o więcej niż jeden wątek aby przyspieszyć operację przeszukiwania.

Zmian jest oczywiście więcej i o wszystkich możecie przeczytać w stosownym anonsie. Źródła jak i dokumentację można znaleźć na stronie git-scm.com.

Na koniec dla tych, co nie śledzą uważnie rozwoju gita, ale mają z nim pewną styczność, chciałbym zauważyć, że istnieje komenda git notes pozwalająca dodawać notatki do commitów bez ich zmieniania. Dla trzymających “żywą dokumentację” w svn-ie, dotychczasowa trudność związana ze zmianą opisu commita (i jej konsekwencje) w gicie była argumentem przeciwko migracji do niego. Problem ten jest rozwiązany począwszy od wersji 1.6.6. Prawda, że wielu z Was przeoczyło tę ciekawą komendę?

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

  1. Awatar Rsh
    Rsh

    Czy ktoś z używających Gita orientuje się czy jest już wygodny sposób zasymulowania centralnego repo na platformie Windows? Ciekawi mnie to, bo fajnie jakby pomysł Gita dało się sprzedać też na tamtą platformę, a tymczasem zyskują takie rozwiązania jak Mercurial. Nic im nie ujmuję, ale jednak fajnie by mieć Gita. 😉

    1. Awatar DerDevil
      DerDevil

      Ja nie wiem co jest takiego w gicie że fajnie go mieć.
      Bo co chciałem pobrać jakiś projekt to tak długo to trwało że sobie za każdym razem darowałem a z mercurial nie miałem takich przeżyć.

      1. Awatar wojtekm
        wojtekm

        Ja też ile razy chce się zabrać do GIT-a to wracam skruszony do Hg. Osobiście uważam, że jest tylko jedna rzecz, która czyni GIT-a bardziej atrakcyjnym – łatwość zarządzaniu drzewem zmian. Natomiast co by nie mówić, wciąż GIT-owi brakuje odpowiedniej "karoserii", która jest doprowadzona niemal do perfekcji w Mercurialu i w dodatku nie ma znaczenia czy używamy Win* czy *nix.

        A propos, Microsoftowy Codeplex ostatnio też dodał wsparcie dla DVCS, odgadnięcie który pozostawiam jako zadanie dla czytelnika ;).

      2. Awatar bies
        bies

        Dla mnie ,,killer feature'' gita to: git stash, git rebase, git rebase -i, gitk. Później git format-patch, git am.

        Nie wiem jak to wygląda w innych DVCS-ach (poza Monotone który oparty jest na zupełnie innych podstawach) — być może podobnie/tak samo. Ale pierwszy raz zobaczyłem to w gicie i dlatego gita używam.

    2. Awatar wujek_bogdan
      wujek_bogdan

      @rsh git klient, oraz serwer (chociaż serwera nie stawiałem), działa na windowsie pod Cygwinem. nawet jakieś gui dla niego jest 😉

    3. Awatar blinkkin
      blinkkin

      @Rsh: Git działa też po HTTP, dostęp do repozytorium można dać używając SSH. Nie jest to tak szybkie jak natywny protokół gita, ale daje rade.

      1. Awatar wojtekm
        wojtekm

        Czyli sensowny protokół po HTTP taki jak ma np. Mercurial nadal w powijakach? Już od kilku lat słyszę, że od następnej wersji w końcu się pojawi a tu dalej prymitywne ściąganie plików za pomocą GET.
        Czemu ten ponoć najszybciej i najsprawniej rozwijający się SCM nie może się takiej podstawowej rzeczy dorobić?

        1. Awatar bies
          bies

          Dla kogo podstawowej dla tego podstawowej. Dla mnie podstawowe jest ssh. Po co protokół po http (poza przechodzeniem przez restrykcyjne fw)?

        2. Awatar zawir
          zawir

          Od wersji 1.6.6, smart HTTP (fetch i push) jest w oficjalnym wydaniu.

        3. Awatar wojtekm
          wojtekm

          No to msysgit ciągle za murzynami…

        4. Awatar wojtekm
          wojtekm

          Właśnie dostępność zza HTTP proxy jest dla mnie istotna, w większości korporacji to jedyny sposób na wyjście na świat i nie zawsze działają tricki z przechodzeniem po porcie 443.

        5. Awatar blinkkin
          blinkkin

          @wojtekm: Po HTTP (prawdopodobnie, bo nie testowałem zbyt długo) najlepiej sprawdza się Fossil. RCS o tyle ciekawy, że bardziej nastawiony na centralne repozytorium niż rozproszoną pracę.

          Istnieje opcja pracy offline, commity i merge mają miejsce w lokalnym repozytorium, a nie zdalnym jak w przypadku Gita/Mercuriala. Mocno to uprościłem, bo ciężko to wyjaśnić w kilku słowach. Warto zapoznać się z dokumentacją, objaśniająca koncepcję Fossila.

        6. Awatar wojtekm
          wojtekm

          @blinkkin: Mercurial radzi sobie doskonale po HTTP i jak w każdym DVCS _wszystko_ robi się offline jedynie na koniec synchronizując zmiany.

    4. Awatar Reddie
      Reddie

      Ostatnio przyjemnie zaskoczył mnie bazaar. Z wtyczką svn nie czujesz, że używasz innego repo, a program jest superprzenośny i nie widziałem żadnych różnic w działaniu zależnych od platformy. Jeśli jest wtyczka gita to szczerze radzę ci spróbować 😉

      1. Awatar pawels
        pawels

        Moje doświadczenia z bazaar nie były zachęcające. Podchodziłem do bzr ok. rok temu zaczynając od prostego testu: init niewielkiego lokalnego repo (kilka plików źródłowych), stworzenie kilku jego clone'ów, wykonanie serii prostych modyfikacji na każdej kopii repozytorium, potem próby mergowania zmian w jednym centralnym repozytorium. Po kilku minutach zabawy przy jednej (całkowicie uprawnionej) operacji program odmówił pracy rzuacając exception… Hmmmm. Może od tego czasu stabilność poprawiono, ale póki co stawiam na git – jeszcze mnie nie zawiódł. Nie mogę też złego słowa powiedzieć o Mercurial.

    5. Awatar Fazer
      Fazer

      "Ciekawi mnie to, bo fajnie jakby pomysł Gita dało się sprzedać też na tamtą platformę, a tymczasem zyskują takie rozwiązania jak Mercurial. Nic im nie ujmuję, ale jednak fajnie by mieć Gita. "

      Msysgit?

  2. Awatar camera
    camera

    Properly this kind of facts is basically worth searching for, wonderful info for readers and undoubtedly shows high quality writing. Its cool to have these types of posts around to help keep the data flow. Helping those who actually get pleasure from this, terrific work! Thanks once again for taking the time to put this online. I unquestionably liked every single aspect of it.

  3. Awatar Dessie Patrylak
    Dessie Patrylak

    considerable daybook you’ve chalk up

  4. Awatar music
    music

    I’m impressed, I must say. Truly hardly ever before do I encounter a blog page that’s the two educative and entertaining, and let me let you know, you have got hit the nail about the head. Your imagined is spectacular; the situation is a thing that not enough individuals are speaking intelligently about. I’m rather blissful that I stumbled throughout this in my look for one issue referring to this

  5. Awatar Arron Condina
    Arron Condina

    extensive entry you obtain

  6. Awatar HCG Drops
    HCG Drops

    I believe avoiding prepared foods could be the first step to be able to lose weight. They could taste great, but refined foods include very little vitamins and minerals, making you try to eat more to have enough vigor to get with the day. If you’re constantly taking in these foods, transitioning to cereals and other complex carbohydrates will aid you to have more vigor while taking in less. Great blog post.

  7. Awatar South Hampton Fire Departments
    South Hampton Fire Departments

    Thanks for the post. Can you please email me few more websites about this, I am definitely a fan of your blog. Thanks, South Hampton Fire Departments

  8. Awatar Jean Brocato
    Jean Brocato

    My partner and I stumbled over here different web address and thought I might as well check things out. I like what I see so now i’m following you. Look forward to exploring your web page again.

  9. Awatar The Car Insurance Guy
    The Car Insurance Guy

    While I tend to side with the post I sincerely believe that car insurance has become too complex for the average car insurance policy holder. Just like any important purchase however you must perform due diligence and research the companies before you buy.

  10. Awatar Coupons Coupons
    Coupons Coupons

    Very well written information. It will be valuable to anybody who usess it, as well as me. Keep up the good work – for sure i will check out more posts.

  11. Awatar Type II Diabetes Treatment
    Type II Diabetes Treatment

    Extremely cool, some great points! I appreciate you making this article available, the rest of the site is also well done. I hope you have a great day.

  12. Awatar Prints from Slides
    Prints from Slides

    Way cool, some valid points! I appreciate you making this article available, the rest of the blog is also well done. I hope you have a wonderful day.

  13. Awatar Mathilde Mckibbin
    Mathilde Mckibbin

    Some tips i have observed in terms of laptop memory is the fact that there are features such as SDRAM, DDR etc, that must fit the specifications of the motherboard. If the pc’s motherboard is reasonably current and there are no os issues, upgrading the memory literally normally takes under an hour. It’s among the easiest computer system upgrade processes one can visualize. Thanks for discussing your ideas.

  14. Awatar Wasserbetten Preise
    Wasserbetten Preise

    My girlfriend has been looking for this kind of update!

  15. Awatar praca nieruchomości poznań
    praca nieruchomości poznań

    I just wanted to say that I found your blog via Goolge and I am glad I did. Keep up the good work and I will make sure to bookmark you for when I have more free time away from the books. Thanks so much!

  16. Awatar Wii Homebrew
    Wii Homebrew

    Wii gamers are already able to download their own favorite virtual console games in the Wii Shop channel in addition to install them as channels however menu for a although now, but each download costs some lots of points and everyone believes those points aren’t free of charge.

  17. Awatar VLC Download
    VLC Download

    All emotions as well as idealogy aside, I believe this has the possibility to be your greater works, might you keep producing this type of quality within your future writing. Thanks a lot.

  18. Awatar Myra Raike
    Myra Raike

    I liked so muche this post I Post it to my FB Wall 😉

  19. Awatar Jason Lee
    Jason Lee

    You have many helpful ideas! Maybe I should consider doing this by myself.

  20. Awatar colon cleanse
    colon cleanse

    Congratulations on possessing definitely one in all probably the most sophisticated blogs Ive arrive throughout in a while! Its just superb how a lot you’ll be able to consider away from a factor mainly merely due to how visually beautiful it is. Youve place collectively an important blog website area –great graphics, motion pictures, layout. This is actually a should-see web site!

  21. Awatar vakantiehuis zwarte woud
    vakantiehuis zwarte woud

    The script is written by McBride with his frequent collaborator Ben Best and clearly they have a lot of affection for the 1980’s fantasy movies they (and I) grew up with.

  22. Awatar animal games
    animal games

    You recognize, if I listened to Michael Dukakis lengthy sufficient, I might be convinced we’re in an financial downturn and people are homeless and going with out food and medical consideration and that we’ve to do something concerning the unemployed.

  23. Awatar colon cleanser
    colon cleanser

    You ought to actually think about working on growing this weblog into a major authority on this market. You evidently have a grasp deal with of the subjects everyone is trying to find on this website anyways and you possibly can actually even earn a buck or two off of some advertisements. I might explore following recent subjects and raising the amount of write ups you set up and I guarantee you’d start seeing some superb targeted site visitors in the close to future. Just a thought, good luck in no matter you do!

  24. Awatar Angel Ladewig
    Angel Ladewig

    Great thanks

  25. Awatar auto dealership supplies
    auto dealership supplies

    Great site here. Many blogs like this cover subjects that can’t be found in print. I don’t know how we got by 10 years ago with just newspapers and magazines.

  26. Awatar coach outlet online
    coach outlet online

    Do you have a spam problem on this site; I also am a blogger, and I was curious about your situation; many of us have developed some nice methods and we are looking to exchange strategies with other folks, why not shoot me an email if interested.coach outlet online

  27. Awatar colon cleanser
    colon cleanser

    I’ve to confess that i typically get bored to read the whole thing however i feel you may add some value. Bravo !

  28. Awatar 1999 mitsubishi eclipse for sale
    1999 mitsubishi eclipse for sale

    Thank you so much for giving everyone a very splendid opportunity to discover important secrets from this site. It’s usually very pleasurable and packed with fun for me personally and my office mates to search your site minimum 3 times per week to read through the newest issues you will have. And of course, we are at all times satisfied with all the breathtaking knowledge you serve. Some 2 facts in this post are without a doubt the finest I have had.

  29. Awatar Bryan Kelley
    Bryan Kelley

    I really loved your post, thanks for sharing. — Bryan Kelley

  30. Awatar Tony H. Whitaker
    Tony H. Whitaker

    Valuable

  31. Awatar driving instructor training
    driving instructor training

    How do you fancy getting your individual boss, selecting your personal functioning hours and meeting new people just about every day? Would you prefer to make excellent dollars and have the satisfaction of assisting persons discover something new? It is quick to determine why a great number of folks from each and every walk of life desire to be a driving instructor.

  32. Awatar Impotenz
    Impotenz

    That is my initial visit to this blog.

  33. Awatar h1n1 vaccine
    h1n1 vaccine

    Federal Housing Authority mortgage provides low-cost insured mortgage loans that suit various Florida home purchasing options.

  34. Awatar gender predictor quiz
    gender predictor quiz

    Good to know

  35. Awatar fine art
    fine art

    Thanks for this wonderful post, I am glad I discovered this web site on yahoo.

  36. Awatar colon cleanse review
    colon cleanse review

    This one is an inspiration personally to uncover out far more related to this subject. I have to confess your knowledge extended my sentiments as well as I am going to right now take your feed to remain up to date on each coming weblog posts you might probably create. You’re worthy of thanks for a job perfectly completed!

  37. Awatar Jan Bell
    Jan Bell

    Having just been looking forinformative websites for the research project I’ve been working on when I happened to find yours. Thanks for this helpful material! — Jan Bell

  38. Awatar Biuro Podróży
    Biuro Podróży

    It’s exhausting to search out educated individuals on this matter, but you sound like you understand what you’re talking about! Thanks

  39. Awatar British Sovereigns
    British Sovereigns

    The British Royal Mint provides released various additional denominations of yellow metal sovereigns, including 1/2 sovereigns with a strong official value of 10 shillings

  40. Awatar Wynajem Mikrobusów
    Wynajem Mikrobusów

    I loved this article!!! Appreciation!

  41. Awatar colon cleanse review
    colon cleanse review

    Search engine optimization needs a very good search engine optimizer plan. Simply one of these methods could make a big distinction in your websites place and firm your web site brings you.

  42. Awatar blog
    blog

    Awesome Write-up.nice one for give..way more hesitate .. ;)…

  43. Awatar buzz
    buzz

    Hello there! Your primary write-up is great that’s a legitimate superior have an understanding of!…

  44. Awatar Redfield Scopes
    Redfield Scopes

    This website is mostly a walk-by for all of the data you wanted about this and didn’t know who to ask. Glimpse here, and also you’ll definitely discover it.

  45. Awatar news
    news

    I discovered your primary the road significant undertake I’ve included an absolute Trackback going without running shoes found on your internet :)……

  46. Awatar colon cleanse review
    colon cleanse review

    I know this isn’t exactly on topic, however i’ve a website utilizing the identical program as well and i am getting troubles with my feedback displaying. is there a setting i am lacking? it’s attainable you may assist me out? thanx.

  47. Awatar who owns domain names
    who owns domain names

    Online triumph commences with a wonderful domain. At Domain.com, we make it simple and inexpensive to get the domain name you want, rapid. We offer you all main Top Level Domains (TLDs) and at the time of 25 Nation Program code Top Level Domains (ccTLDs). Each domain registration incorporates the following domain instruments:

  48. Awatar Ogopogo
    Ogopogo

    Woah! I’m really digging the template/theme of this blog. It’s simple, yet effective. A lot of times it’s challenging to get that “perfect balance” between user friendliness and appearance. I must say you have done a amazing job with this. Additionally, the blog loads super quick for me on Firefox. Exceptional Blog!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *