The OpenNET Project / Index page

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

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

29.09.2015 08:07

Представлен релиз распределенной системы управления исходными текстами Git 2.6.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, Xen, Minix.

По сравнению с прошлым выпуском в новую версию принято 479 изменений, подготовленные при участии 67 разработчиков, из которых 15 впервые приняли своё участие в разработке. Основные изменения:

  • Реализации "git pull" и "git am" переписаны на языке Си (преобразованы во встроенные команды вместо ранее применяемых shell-скриптов git-pull.sh и git-am.sh);
  • Выполнена подготовка возможности подключения различных бэкендов с реализацией ссылочных хранилищ, предлагающих альтернативный способ хранения, не ограниченный традиционным подходом "один ref на один файл или упаковкой в файл packed-refs". Проведена чистка refs API;
  • Добавлена возможность сброса входящих пакетов в файл для последующей отладки;
  • Внесена порция улучшений, связанных с возможностями "git am" по чтению патчей от других систем контроля версий;
  • Добавлена возможность использования символа звёздочки для определения маски файлового пути в обеих частях refspec (например, "refs/heads/o*:refs/remotes/heads/i*");
  • В userdiff добавлено определение шаблона для формата разметки Fountain;
  • В "git log" и похожие команды добавлена опция "--date=format:..." для форматирования времени при помощи вызова strftime;
  • В "git rebase -i" добавлена команда "drop commit-object-name subject", как альтернативный способ избежать повторного коммита;
  • Добавлена новая конфигурационная переменная для автоматического использования опции "--follow" при запуске "git log" с одним аргументом спецификации файлового пути;
  • В "git status" обеспечен вывод детальной информации о выполняемом в текущий момент сеансе "rebase -i";
  • В "git cat-file" добавлена опция "--batch-all-objects" для перебора всех доступных в репозитории объектов. Новый режим работает быстрее, чем выполнение "rev-list --all --objects" и не включает в вывод недоступные объекты;
  • Команда "git fsck" теперь игнорирует ошибки, связанные с объектами, помеченными как повреждённые, и допускает тонкую настройку уровня предупреждений для различных видов некритичных проблем;
  • Возможность настройки списка задач (todo) для "git rebase -i";
  • Введена переменная окружения GIT_REPLACE_REF_BASE, через которую можно указать альтернативный путь к иерархии ссылок с данными замены объектов, вместо использования штатного пути "refs/replace/";
  • Обновлены размещённые в директории contrib скрипты автодополнения ввода командной строки;
  • В команду "git send-email" добавлена опция "--smtp-auth" для задания списка допустимых механизмов аутентификации SMTP ("SMTP AUTH");
  • Добавлена новая переменная конфигурации http.sslVersion, позволяющая ограничить версии SSL/TLS, которые допустимо использовать при установке соединения;
  • Добавлена переменная конфигурации notes.mergeStrategy, которая аналогична опции "--strategy=how", задающей метод автоматической обработки конфликтов в "git notes merge";
  • Для "git config --list" представлена опция "--name-only", при указании которой вывод формируется в виде, удобном для автоматического разбора скриптами (значения не разбиваются на отдельные строки);
  • Проведена работа по увеличению удобства работы в интерфейсе gitk.


  1. Главная ссылка к новости (https://lkml.org/lkml/2015/9/2...)
  2. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.5.0
  3. OpenNews: Git исполнилось 10 лет
  4. OpenNews: В Launchpad появилась экспериментальная поддержка Git
  5. OpenNews: Анонсирован GitTorrent для доступа к Git-репозиториям при помощи BitTorrent
  6. OpenNews: Выпуск открытой платформы для организации совместной разработки GitLab 8.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/43057-git
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Resonance (ok), 09:02, 29/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >  Реализации "git pull" и "git am" переписаны на языке Си;

    а на чем было? О_О

     
     
  • 2.2, guest (??), 09:11, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    было на баше. у гита есть низкоуровневая база данных объектов, есть низкоуровневые операции вроде $ git-ls-tree b2efb2a7e48025c4d185080412a6ba1121ee6c59

    для общего развития настоятельно рекомендую: https://www.opennet.ru/base/dev/git_guts.txt.html

     
     
  • 3.3, Andrey Mitrofanov (?), 09:22, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > было на баше.

    На #!/bin/sh, да.     https://github.com/git/git/blob/master/contrib/examples/git-am.sh

     
     
  • 4.15, Аноним (-), 12:55, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Мда, из крайности в крайность...
     
     
  • 5.17, Andrey Mitrofanov (?), 13:48, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Мда, из крайности в крайность...

    Гугле-лето-студенты выискивают "конфетки в... Windows же":

               a promising 8x improvement in execution time on Windows.
    [...]
               'git-pull' and 'git-am' are frequently used git subcommands.
               However, they are porcelain commands and implemented as shell
               scripts, which has some limitations which can cause poor
               performance, especially in non-POSIX environments like Windows.

    http://git.661346.n2.nabble.com/RFC-GSoC-Proposal-Make-git-pull-and-git-am-bu

     
  • 3.16, Аноним (-), 13:13, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А как оно у меня работает при отсутствии этого вашего басша?
     
     
  • 4.19, Аноним (-), 14:20, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Там sh а не баш. Просто выросло поколение неучей которые из не различают. Это ещё ладно, а ведь иногда их допускают до писания скриптов, и тогда несовместимое ни с чем bash-онлу гoвнo начинает дрызгать рекой.
     
     
  • 5.33, Аноним (-), 18:56, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как будто это что-то плохое...
     
  • 5.34, Аноним (-), 22:16, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    О ученый выискался, а ну как как рекомендовано писать $() или '' ?
     
     
  • 6.42, anonymous (??), 13:20, 30/09/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Неужели трудно набрать
    man bash, man ksh, man sh, man <ваш_любимый_шелл>?
     
  • 5.36, AnotherReality (ok), 00:22, 30/09/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    поддерживаю, чем плохо написание  скриптом на баше, а не сш?
     
     
  • 6.38, llolik (ok), 09:00, 30/09/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Тем, что у того, кто будет пользоваться, не обязательно будет bash, у которого есть свои специфические особенности ("bash-измы"). А синтаксис Bourne shell (он же sh) стандарт да-факто и поддерживается в *.nix везде и всем.
    Или для вас сюрприз, что шеллы ограничиваются не только bash-ем и их в общем-то хватает разных?
     
     
  • 7.43, Crazy Alex (ok), 03:02, 01/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не помню линукса, где не было бы баша по дефолту. А если БСДМшники страдают - это by design.
     
  • 6.40, Andrey Mitrofanov (?), 10:30, 30/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > поддерживаю, чем плохо написание  скриптом на баше, а не сш?

    Друзья проприертарщиков страдают же. И виноваты в этом те, кто пишет на #!/bin/bash-е.

    Очевидно же!

     
  • 2.25, h31 (ok), 15:25, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Git написан на смеси сишечки, шелла и перла.
    // Комментарий специально для противников Mercurial.
     
  • 2.32, Аноним (-), 18:30, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > а на чем было? О_О

    git am - на шеле и перле. Без последнего - не работал

     

  • 1.9, Аноним (-), 10:06, 29/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Проведена работа по увеличению удобства работы в интерфейсе gitk

    QGIT умер окончательно? :(

     
     
  • 2.12, funny.falcon (?), 12:22, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    gitk - наше всё
    gitk + git-gui - самые удобные клиенты (не считая Emacs)
     
     
  • 3.28, bugmenot (??), 17:03, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А ничего, что команда "git gui" может запускать разные софтины? :)
     
     
  • 4.37, funny.falcon (?), 07:57, 30/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    И чем это плохо? для разрешения мерж-конфликтов meld очень удобен. А что кроме него она запускает? И чем это плохо?

    По-моему, это хорошо, когда велосипед не изобретается, а берётся и катается. Вы со мною не согласны?

     
  • 2.13, Аноним (-), 12:25, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    tig наше все!
     

  • 1.10, Штунц (?), 11:42, 29/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Git прекрасен, но действительно конфеткой его делают 2 программы для Windows:
    - окно истории коммитов (Log Messages) в TortoiseGit
    - и из того же набора TortoiseGitMerge
     
     
  • 2.11, Аноним (-), 12:11, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что ты делаешь с Git в Windows?
     
     
  • 3.14, Andrey Mitrofanov (?), 12:51, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Что ты делаешь с Git в Windows?

    Он же написал, ищет конфетки в... Windows же.

     
  • 2.23, Пользователь Debian (?), 14:37, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуйте Git Extensions: он такой же красивый и понятный, но в отличие от TortoiseGit, не пытается сделать вид, что Вы работаете с Subversion.

    И даже умеет добавлять в индекс патчи кусками (почти уровень штатной 'git gui').

     
     
  • 3.29, Аноним (-), 17:05, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > патчи кусками

    "git add -p"?

     
     
  • 4.41, Пользователь Debian (?), 10:32, 30/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Да, именно это.

    Правда, когда я смотрел на него задний раз, он не умел добавлять выбранные строки из куска (как 'git gui'), а возможности *редактировать* куски перед добавлением по-моему нет вообще ни в одном GUI фронт-енде.

    Но хоть что-то...

     

  • 1.18, Аноним (-), 13:54, 29/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Они бы лучше git status ускорили а то на реально больших проектах тормозит. Можно иногда минуту ждать пока прочухает. Основное время конечно сканирование файловой системы у него занимает, но может что-то и можно ускорить там.
     
     
  • 2.20, Andrey Mitrofanov (?), 14:22, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Они бы лучше git status ускорили а то на реально

    Замучили https://github.com/msysgit/git/pull/94 уже сосвоим Майкрософтом. Мы-то за что страдаем?!

    > больших проектах тормозит. Можно иногда минуту ждать пока прочухает. Основное время конечно сканирование

     
     
  • 3.21, Аноним (-), 14:28, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    круто если так, я как раз года два ничего настолько большого и не смотрел
     
  • 2.22, Аноним (-), 14:34, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Они бы лучше git status ускорили а то на реально больших проектах
    > тормозит. Можно иногда минуту ждать пока прочухает. Основное время конечно сканирование
    > файловой системы у него занимает, но может что-то и можно ускорить
    > там.

    Ничего там нельзя ускорить, как ни крути нужно обойти всё поддерево ФС и проверить не изменилось/добавилось ли что. Есть -u no, но не заметил чтобы оно что-то заметно ускоряло, хотя и не замерял. Со стороны git тут ничего не сделать, поэтому это вопрос уже к файловой системе. Я проблему решил (у меня ZFS) добавив SSD для L2ARC. ZFS в этом плане очень рулит, потому что не нужно никуда руками переносить данные или думать куда монтировать диск - подключил, после первого git status репозиторий свалился в кэш, второй статус и далее обрабатываются мгновенно потому что читают с ssd. 128G мне лично хватает, после месяца работы используется только 70G кэша.

     
     
  • 3.39, _smit_ (?), 09:14, 30/09/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Они бы лучше git status ускорили
    > Ничего там нельзя ускорить, как ни крути нужно обойти всё поддерево ФС

    - при записи время модификации каталогов разве не распространяется вверх по дереву ?

     
  • 2.24, Пользователь Debian (?), 14:41, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Они бы лучше git status ускорили а то на реально больших проектах
    > тормозит.

    Посмотрите на 2.x.x <https://github.com/git-for-windows/git/releases> (собственно, 1.9.x уже не развивается; разве что критичные баги там будут правиться): в ней реализовано экспериментальное кэширование информации о файлах, которое ускоряет 'git status'.

     
     
  • 3.44, й (?), 14:38, 01/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    git 2.6.0 на win 8.1 по-прежнему безбожно тормозит с 'git status'. с включенным кэшированием, ага.
     
     
  • 4.45, Led (ok), 22:30, 01/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > git 2.6.0 на win 8.1 по-прежнему безбожно тормозит

    Всё правильно - так и должно быть.

     

  • 1.26, Аноним (-), 15:35, 29/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не распределённая, а децентрализованная.

    распределённая, - это когда так: gitchain.org

     
     
  • 2.27, Аноним (-), 15:36, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >не распределённая, а децентрализованная.

    тьфу ты, наоборот

     
     
  • 3.30, Аноним (-), 17:10, 29/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё не совсем проснулся? :)
     

  • 1.31, Аноним (-), 17:14, 29/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Много изменений в сравнении с прошлым релизом, где не было ничего интересного. Это радует.
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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