The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз распределенной системы управления исходными текстами Git 1.8.0

22.10.2012 14:00

Анонсирован релиз распределенной системы управления исходными текстами Git 1.8.0. Git является одной из самых эффективных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются криптографические методы, также возможна привязка цифровых подписей разработчиков к тегам и коммитам. Из проектов, разрабатываемых с использованием Git, можно отметить ядро Linux, Android, Libreoffice, Systemd, X.Org, Wayland, Mesa, Gstreamer, Wine, Debian DragonFly BSD, Perl, Eclipse, GNOME, KDE, Qt, Ruby on Rails, PostgreSQL, VideoLAN, PHP.

Переход от серии версий 1.7.x к 1.8.x обусловлен наличием нарушающих совместимость изменений и подготовкой к изменению по умолчанию поведения команды "git push". В ситуации когда при выполнении "git push" явно не указано что именно помещать в репозиторий в прошлых выпусках использовалась семантика "matching", при которой для обновления выбирались все внешние ветки и теги с именами, совпадающими с локальными. Начиная со следующего значительного выпуска поведение будет изменено и по умолчанию будет применяться семантика "simple", при которой изменения отправляются только из текущей ветки в ветку с тем же именем, в случае если локальная ветка назначена для интеграции с удалённой веткой. Переопределить новое поведение можно через конфигурационную переменную "push.default".

Из изменений в Git 1.8.0 можно отметить:

  • Команда "git branch --set-upstream" объявлена устаревшей и может перестать работать в будущих выпусках. В качестве замены представлена команда "git branch [-u|--set-upstream-to]". Ранее были не редки случаи указания "git branch --set-upstream origin/master", что приводило к созданию локальной ветки "origin/master" для интеграции с текущей загруженной веткой, что явно не то что подразумевал пользователь. Окончание "-to" поможет исключить ошибочную трактовку назначения опции;
  • В "git svn" обеспечена поддержка работы с SVN 1.7. В "git p4" добавлена опция "--conflicts" для определения действий в случае обнаружения конфликта при выполнении "p4 submit";
  • В состав включена собственная реализация библиотеки регулярных выражений для платформ, на которых наблюдаются проблемы с работой библиотеки regexp. Также добавлены обвязки для обеспечения совместимости с нестандартными реализациями mkdir и setitimer();
  • В парсер опций "git checkout" добавлена проверка типичных ошибок в порядке задания параметров командной строки. Например, при выполнении "git checkout -b -t foo bar" будет указано, что вместо имени ветки указана опция "-t";
  • Внутренние вызовы "git merge-base" заменены на более упрощённые аналоги, выполняющие только проверки наложения коммитов, без более ресурсоёмких проверок слияний веток;
  • Для платформ Win32 и GNOME добавлены хелперы для доступа к ключам текущего пользователя;
  • Выполнено начальное портирование для операционной системы серверов HP NonStop;
  • При выполнении "git am" теперь из строки "RE: subject" вырезается и префикс "RE:", а не только "Re:" и "re:";
  • В команду "git cherry-pick" добавлена опция "--allow-empty-message" для повторной отправки коммита без занесения сообщений в лог;
  • В команду "git daemon" добавлена опция "--access-hook", разрешающая внешним командам доступ к сервисам проверки по IP или пути к репозиторию.
  • В команде "git difftool --dir-diff" реализована поддержка использования символических ссылок для подготовки временной копии рабочего дерева;
  • В команду "git grep" по умолчанию добавлена возможность указания нестандартных типов масок;
  • В команде "git log -g" появилась опция "--grep-reflog=pattern" для ограничения вывода с использованием фильтра по маске;
  • В команду "git merge-base" добавлена опция "--is-ancestor A B", позволяющая проверить является ли А прародителем B;
  • В команду "git rebase -i" добавлена опция "--edit-todo" для написания инструкций по дальнейшим изменениям;
  • Через переменные конфигурации mergetool.$name.cmd теперь можно переопределить любые команды для "git mergetool", в том числе и встроенные;
  • Интегрированы накопившиеся изменения для "git gui".


  1. Главная ссылка к новости (https://lkml.org/lkml/2012/10/...)
  2. OpenNews: В дистрибутиве Webconverger 15 реализована система обновлений на основе Git
  3. OpenNews: Завершён перевод книги "Pro Git"
  4. OpenNews: Релиз распределенной системы управления исходными текстами Git 1.7.12
  5. OpenNews: Релиз распределенной системы управления исходными текстами Git 1.7.11
  6. OpenNews: Релиз распределенной системы управления исходными текстами Git 1.7.0
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/35136-git
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Crazy Alex (ok), 14:57, 22/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Правильно push подкрутили, довольно нелогично оно себя вело
     
     
  • 2.2, develop7 (ok), 15:33, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > довольно нелогично оно себя вело

    Когда пользователи других DVCS указывают «git ведёт себя нелогично» — они неосиляторы и виндузятники. Но когда это же признают разработчики git и вносят соответствующие изменения — это же Совсем Другое Дело.

     
     
  • 3.3, Пользователь Дебиан (?), 15:38, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не смешивайте всё в одну кучу.
    Пользователи других DVCS слишком часто кричат о нелогичности, не удосужившись прочесть книжку/мануал/хауту, и не поняв *концепций.*

     
     
  • 4.4, develop7 (ok), 15:57, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ага, я понял. То-то я смотрю, что Git supporters, как один, не только удосужились почитать маны по прочим DVCS, но и попользовались ими в реальных проектах, чтобы как следует аргументировать своё мнение по вопросу превосходства Git над прочими жалкими поделками.
     
     
  • 5.5, Майкрософт (?), 16:04, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А разве что бы понять что автомобиль лучше, обязательно надо перед этим поездить на лошади, ишаке, осле, корове и свинье?
    Да и использовать DVCS, главным преимуществом которой называется ... красивый GUI, это просто извините.
     
     
  • 6.6, develop7 (ok), 16:07, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    наглядная иллюстрация не заставила себя ждать

    > использовать DVCS, главным преимуществом которой называется ... красивый GUI, это просто извините.

    если речь о mercurial, то помимо GUI (сторонней разработки, которой лично я, например, практически не пользуюсь) в преимущества я бы ещё записал (навскидку) человеческий CLI, revsets, +2 способа ветвления ревизий, защита от случайной перезаписи чужих изменений, полноценный API расширений (позволяющий реализовывать совсем святотатственные вещи вроде прозрачной работы с репозиториями git или эффективного хранилища для блобов). Но, действительно, вам-то откуда такое знать — этого же не пишут на whygitisbetterthanx.com.

     
     
  • 7.7, Аноним (-), 16:23, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    всем безусловно было очень полезно прочитать пространный анализ причины слива других систем контроля версий, спасибо.
     
  • 6.25, Grammar Nazi (?), 10:10, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ЧТОБЫ понять
     
  • 4.26, 4ertus2 (?), 16:09, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    О, великий осилятор! Поведай, сколько вариантов поведения имеет приведенный кусок в зависимости от содержимого origin и схерали поведение неоднозначное?

    $(GIT) checkout $(REV)
    $(GIT) branch $(BRANCH)

     
  • 3.22, Аноним (-), 03:45, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > они неосиляторы и виндузятники.

    Палитесь :)

     
  • 2.19, Mike Lee (?), 21:31, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да собственно они просто поменяли дефолтное значение. Ничто не мешает сделать на старом гите git config --global push.default simple и получить то же самое.
     
     
  • 3.20, Аноним (-), 00:17, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    вообще оно так уже с 1.7.х
     
  • 3.23, Аноним (-), 03:46, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > старом гите git config --global push.default simple и получить то же самое.

    Ну так "неосиляторы и виндузятники" этого не знают. Ибо на то и неосиляторы :)

     

  • 1.11, ip1981 (ok), 18:23, 22/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > для платформ, на которых наблюдаются проблемы

    В виду того, что в Git простой мэйкфайл, подозреваю, что они проверяют типа 'uname', а это лажа.

     
     
  • 2.12, ip1981 (ok), 18:25, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    P. S. менять кавычки - то же лажа (' -> ')
     
     
  • 3.21, Led (ok), 01:38, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >P. S. менять кавычки - то же лажа (' -> ')

    Писать слово "тоже" как "то же" - тоже лажа

     
     
  • 4.24, Аноним (-), 03:47, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Писать слово "тоже" как "то же" - тоже лажа

    То же ла жа. Так логичнее :)

     

  • 1.14, DelGod (?), 18:47, 22/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Переход от серии версий 1.7.x к 1.8.x обусловлен изменением поведения команды "git push".

    НЕ правда!

    Внимательно читаем первое предложение
    https://raw.github.com/git/git/master/Documentation/RelNotes/1.8.0.txt
    In the next major release (not *this* one), we will change the
    behavior of the "git push" command.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру