The OpenNET Project / Index page

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

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

25.02.2019 10:07

Представлен выпуск распределенной системы управления исходными текстами Git 2.21.0. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов.

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

  • В "git log" и другие команды добавлена опция "--date=human", позволяющая выводить даты в сокращённом читаемом виде, адаптивно выбирая формат в зависимости от давности события. Например, вместо "Mon Feb 25 08:20:14 2019 -0500" для только что совершённых действий будет указано "N минут назад" (как в режиме "--date=relative"), для недавних событий будет показан день и час, а для старых изменений только день, месяц и год:

    Дополнительно предусмотрена опция "--date=auto:human", которая применяет новое форматирование только при выводе через терминал, а при перенаправлении вывода в файл или в другую команду использует формат по умолчанию:

  • Добавлена опциональная возможность применения алгоритма хэширования SHA-256 вместо скомпрометированного SHA-1 при сборке Git в режиме "NewHash". Код для обхода дерева объектов изменён с учётом того, что имена объектов могут вычисляться не только с использованием SHA-1. Изначально планировалось использовать алгоритм SHA3-256, но в конечном счёте разработчики остановились на SHA-256, так как SHA2 уже применяется в Git для цифровых подписей. Логика выбора в том, при использовании SHA-256 и SHA3-256 в коде Git, компрометация любого из них приведёт к проблемам с безопасностью, поэтому лучше зависеть от одного алгоритма, а не от двух. Кроме того, SHA-256 широко распространён и поддерживается во всех криптографических библиотеках, а также демонстрирует очень хорошую производительность;
  • В команде "git cherry-pick" обеспечена возможность использования опции "-m" (mainline) при указании "git cherry-pick -m1", т.е. позволяет повторно применить коммит при выборе первого родителя этого коммита в качестве mainline-ветки. В остальных случаях как и раньше будет выводиться ошибка;
  • C целью оптимизации производительности команда "git log -G", осуществляющая поиск по регулярному выражению теперь не выполняет поиск в бинарных файлах, если дополнительно явно не указана опция "--text" или не применён textconv;
  • Добавлена настройка "http.version", позволяющая определить предпочитаемую версию протокола HTTP, применяемую при извлечении или отправке изменений. Для работы опции требуется относительно свежая библиотека cURL;
  • "git push $there $src:$dst" выдаёт ошибку, если в $dst указан относительный путь и точно не ясно, что пользователь имел в виду. В новой версии текст ошибки стал более понятным и добавлена подсказка с попыткой угадать место назначения с учётом типа объекта;
  • В команде "git checkout [tree-ish] path..." обеспечен вывод числа путей, которые будут извлечены из индекса или дерева объектов (tree-ish);
  • В команду "git quiltimport" добавлена опция "--keep-non-patch";
  • Команды "git worktree remove" и "git worktree move" теперь можно применять при наличии в рабочем дереве неинициализированных субмодулей (ранее данные операции невозможно было использовать при наличии любого субмодуля);
  • Обновлены реализации команд "git multimail" и "git p4";
  • При указании опции "--format=" для веток, тегов и при переборе ссылок расширен перечень свойств объектов, извлекаемых через API object_info;
  • В команде "git rebase -i" обеспечен повторный запуск команды, указанной при помощи настройки 'exec', в случае если прошлая попытка не увенчалась успехом;
  • Обновлена реализация команды "git diff --color-moved-ws";
  • В "log --format" добавлена поддержка флага "%S" для отображения подсказки об источнике поступления коммита;
  • В скрипт "git instaweb", используемый для запуска интерфейса gitweb для доступа через Web к локальному репозиторию, добавлена поддержка применения предоставляемых в Python модулей для встраивания функциональности http-сервера (http.server=python), без необходимости установки внешних http-серверов, таких как lighttp и apache httpd;
  • Проведена оптимизация и чистка кода, связанного с проверкой несвязанных объектов. Обновлена реализация кэша для ускорения поиска несвязанных объектов;
  • Запрещено использование в коде функции "strncat()";
  • Реализация "git rebase --merge" переписана для использования общего кода, уже применяемого в "git rebase -i";
  • Некоторые части "git bisect", ранее реализованные на Shell, переписаны на языке Си;
  • В "git fetch-pack" и "git fetch --deepen=..." добавлена поддержка второй версии протокола Git. Команды "git fetch" и "git upload-pack" адаптированы для отправки данных через дополнительные каналы доставки при использовании второй версии протокола Git.


  1. Главная ссылка к новости (https://lkml.org/lkml/2019/2/2...)
  2. OpenNews: Особенность отображения проектов на GitHub создала видимость внедрения бэкдора в ядро Linux
  3. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.20
  4. OpenNews: GitHub выпустил Git LFS 2.6.0
  5. OpenNews: Microsoft успешно завершил сделку по покупке GitHub
  6. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.19
Лицензия: CC-BY
Тип: Программы
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (1), 10:25, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]
  • –3 +/
    > Код "git bisect" переписан на языке Си.

    А раньше был на C++ ?

     
     
  • 2.2, Аноним (2), 10:30, 25/02/2019 [^] [ответить]    [к модератору]
  • –2 +/
    Скорее, на Python.
     
  • 2.4, Crazy Alex (ok), 10:34, 25/02/2019 [^] [ответить]    [к модератору]
  • +5 +/
    перл
     
  • 2.6, Аноним (6), 10:41, 25/02/2019 [^] [ответить]    [к модератору]
  • +6 +/
    Some part of it is written in shell script. I intend to convert it to portable C code thus making them builtins.

    https://summerofcode.withgoogle.com/archive/2016/projects/5595001820020736/

     
  • 1.8, Аноним (8), 10:58, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]
  • +23 +/
    > для только что совершённых действий будет указано "N минут назад"

    В чатах такое часто стали делать, как же раздражает эта глупость, хочешь посмотреть когда сделана запись в логе, а тебе пишет "N минут назад" и сидишь вычитаешь от текущего времени, ппц.

     
     
  • 2.10, Аноним (6), 11:15, 25/02/2019 [^] [ответить]    [к модератору]  
  • +5 +/
    Думаю, что испльзование для публикаций времени в формате "5 дней незад" стало одним из гвоздей в крышку гроба Google+. Как же это бесило.
     
  • 2.17, хотел спросить (?), 12:26, 25/02/2019 [^] [ответить]    [к модератору]  
  • +5 +/
    В Gitlab такое говнище раздражает. Правда можно посмотреть в тултипе.

    Но они так и не запилили нормально учет локального часового пояса.

    Дружная команды рубистов из Днепропетровска.

     
     
  • 3.25, AnonPlus (?), 14:17, 25/02/2019 [^] [ответить]    [к модератору]  
  • +7 +/
    На гитхабе тоже раздражает, приходится юзерскриптом возвращать стандартные таймстампы. Алло, я не долбаный калькулятор, я не расчётами заниматься пришёл.
     
  • 2.42, Цурюк (?), 19:01, 25/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Я не понимаю этого тупизма... Почему нельзя было просто ДОБАВИТЬ к полной дате в скобочках "(5 мин)"? (время жизни публикации)
     
  • 1.9, Аноним (9), 11:06, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +7 +/
    > для только что совершённых действий будет указано "N минут назад"

    Это не human, а inhuman.

     
  • 1.11, shjfbg (?), 11:27, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    >Добавлена опциональная возможность применения алгоритма хэширования SHA-256 вместо скомпрометированного SHA-1

    Теперь индекс будет весить в 2 раза больше? SHA-3 не осилили?

     
     
  • 2.13, Аноним (6), 11:38, 25/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Написано "sha-256 hash has been added", но думаю это опечатка, так как изначально они планировали добавить  SHA3-256.
     
     
  • 3.15, Аноним (15), 12:16, 25/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Не, всё же SHA-256: https://github.com/git/git/commit/0ed8d8da374f648764758f13038ca93af87ab800
     
     
  • 4.48, Илья (??), 21:28, 25/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Как-то даже неловко на гит гита заходить
     
     
  • 5.56, Andrey Mitrofanov (?), 09:18, 26/02/2019 [^] [ответить]     [к модератору]  
  • +/
    И правильно Потому что это _веб_ репы гита Твоя шутка прокатила бы на https... весь текст скрыт [показать]
     
  • 2.18, Andrey Mitrofanov (?), 12:59, 25/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Если захочешь и переключишь реп Или владельцы репо, который ты качаешь, перекл... весь текст скрыт [показать]
     
  • 2.31, хотел спросить (?), 14:39, 25/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Как SHA3 помог бы Размер хеша 224, 256, 384, 512 ... весь текст скрыт [показать]
     
  • 1.12, myhand (ok), 11:36, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +4 +/
    > адаптивно выбирая формат в зависимости от давности события

    "После вчерашнего".  "Хрен знает когда".  Неужели прогресс дошел...

     
     
  • 2.43, Цурюк (?), 19:03, 25/02/2019 [^] [ответить]    [к модератору]  
  • +4 +/
    "Намедни", "надысь", "давеча" и прочие адаптивные формы великого и могучего! :)))
     
  • 1.19, Аноним (19), 13:13, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Будет точнее писать, что новая hash функция - это SHA3-256, а не SHA-256.

    // b.

     
     
  • 2.20, Аноним (20), 13:30, 25/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Там именно SHA-256, а не не SHA3-256

    https://github.com/git/git/commit/0ed8d8da374f648764758f13038ca93af87ab800

     
     
  • 3.29, Аноним (19), 14:29, 25/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    Там именно SHA3-256, а вы смотрите на старый commit.
     
     
  • 4.41, Аноним (20), 18:59, 25/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Это вы не там смотрите, в текущем коде оставлен только SHA-256 https github c... весь текст скрыт [показать]
     
  • 1.21, Аноним (21), 13:31, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –7 +/
    Когда уже исчезнут всякие свн и меркуриалы?Хочу чтоб везде был гит и тогда не будет проблем с взаимодействием.
     
     
  • 2.22, ПДК (?), 13:43, 25/02/2019 [^] [ответить]    [к модератору]  
  • +3 +/
    Меркуриал тебе чем не угодил?
     
  • 2.26, Andrey Mitrofanov (?), 14:21, 25/02/2019 [^] [ответить]     [к модератору]  
  • +4 +/
    Ты того-этого, мон шер, новость-то почитай разарботчики поняли, что тебе нДрав... весь текст скрыт [показать]
     
  • 2.32, имя (?), 14:44, 25/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    One Ring to rule them all,
    One Ring to find them,
    One Ring to bring them all
    And in the Darkness bind them.

    P.S. Хотелось, конечно, сперва написать что-то про рейх, народ и фюрера.

     
     
  • 3.45, Аноним (45), 19:18, 25/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Един бог, един царь, един календарь.
     
  • 2.35, Аноним (35), 15:40, 25/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    свн божественен для хранения больших двоичных файлов
     
     
  • 3.58, пох (?), 20:06, 26/02/2019 [^] [ответить]    [к модератору]  
  • +/
    ой... то есть у гита и с ЭТИМ проблемы? 8-O

    ну хотя да, чо я, как маленький...

     
  • 2.49, Аноня (?), 21:31, 25/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Я бы тоже не против, но тогда microsoft встроят в гит visual студию и всё начнётся заново
     
  • 2.54, Аноним (54), 03:05, 26/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Когда уже исчезнут всякие свн и меркуриалы?Хочу чтоб везде был гит и тогда не будет проблем с взаимодействием.

    Ну зачем-же публично желать зла незнакомым людям?

     
  • 1.23, ПДК (?), 13:45, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Почему же они не выбрали только SHA3-256?
     
     
  • 2.27, Andrey Mitrofanov (?), 14:23, 25/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    > Почему
    >не
    >только

    https://github.com/git/git/blob/master/Documentation/technical/hash-function-t

    Чтоб немое кино не кончилось _до_ того, как звуковое началось.

     
     
  • 3.28, ПДК (?), 14:28, 25/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    А если без алегорий?
     
  • 1.30, Аноним (30), 14:33, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Зойчем strncat запретили?
     
     
  • 2.37, Andrey Mitrofanov (?), 16:03, 25/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Зойчем strncat запретили?

    Готовятся к инте ^W поглощению Sysytem-D.  <///>

     
  • 1.33, Аноним (33), 15:15, 25/02/2019 [ответить] [показать ветку] [···]     [к модератору]  
  • –1 +/
    Не понимаю, откуда столько ненавистников относительного формата времени Во-перв... весь текст скрыт [показать]
     
     
  • 2.34, Аноним (34), 15:29, 25/02/2019 [^] [ответить]     [к модератору]  
  • +/
    А никто не хочет думать, что 14 30 в Австралии, Англии и Западном побережье США ... весь текст скрыт [показать]
     
     
  • 3.38, yet another anonymous (?), 16:39, 25/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Это ничего, что там ещё зона написана? (это если не пользоваться --date=, а если пользоваться, то принимать во внимание установленную зону).
     
  • 2.61, FSA (??), 09:01, 27/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Может быть потому, что это было названо human или в сокращённом читаемом виде ... весь текст скрыт [показать]
     
  • 2.62, FSA (??), 09:07, 27/02/2019 [^] [ответить]     [к модератору]  
  • +/
    И ещё, вдогонку Для меня human - это не тот самый относительный формат И не то... весь текст скрыт [показать]
     
     
  • 3.63, Аноним (63), 19:17, 27/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Это ты ещё про мили, галоны и футы не слышал. Понимаешь у них там даже руль с другой стороны. Дикие люди к ним ещё не пришла цивилизация.
     
  • 3.64, myhand (ok), 19:26, 27/02/2019 [^] [ответить]    [к модератору]  
  • +/
    А тест Тьюринга ты уже проходишь?
     
  • 1.36, Аноним (36), 15:58, 25/02/2019 [ответить] [показать ветку] [···]     [к модератору]  
  • –1 +/
    Офигеть, прогресс Если у меня есть worktree мне по прежнему надо трахаться чтоб... весь текст скрыт [показать]
     
     
  • 2.44, Цурюк (?), 19:12, 25/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    Добро пожаловать в git - "популярная" (ха-ха!) DVCS! :))))
     
     
  • 3.59, пох (?), 20:07, 26/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    все правильно, популярными становятся самые уродливые форматы.
    vhs не даст соврать.

     
  • 1.46, microcoder (ok), 20:22, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Интересно, а есть ли файловая система подобная git? Или это сомнительное действо для уровня фаловой системы? Что хочу:
    Чтобы отслеживались файлы на разделе файловой системы по методу COW, т.е., если например перезаписывается файл, удаляется, то он заносился в историю и сохранялась его копия для последующего, возможного восстановления. Git при дополнении в его репозиторий копирует файлы для отслеживания, что явно избыточно на 100%.
     
     
  • 2.50, Аноня (?), 21:32, 25/02/2019 [^] [ответить]    [к модератору]  
  • +/
    ну ты же можешь в некоторых только папках развернуть репозитории
     
  • 2.53, all_glory_to_the_hypnotoad (ok), 23:19, 25/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    > Или это сомнительное действо для уровня фаловой системы?

    Да. Тем не менее ИИ наделали и такие решения, см. в поисковике как прикрутить { git, svn, ... } к fuse.

     
  • 2.55, lb426 (?), 08:16, 26/02/2019 [^] [ответить]    [к модератору]  
  • +/
    в операционной системе OpenVMS сохраняется вся история изменения файла.
    в виде копии.
     
     
  • 3.60, пох (?), 20:09, 26/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    угу, пока диск не лопнет. afair, никакого cow там в помине нет, это именно полные копии, на каждый чих.
    Копий метаинформации при этом не полагается.

     
  • 2.66, Аноним (66), 22:17, 27/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Seafile сохранит всю историю ваших файлов на удаленное хранилище Но это не фс,... весь текст скрыт [показать]
     
  • 1.51, all_glory_to_the_hypnotoad (ok), 21:44, 25/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > В "git log" и другие команды добавлена опция "--date=human", позволяющая выводить даты в сокращённом читаемом виде...

    Выглядит крайне ужасно: едет форматирование и постоянно нужно думать что это за идиотский формат в каждой строчке.

     
     
  • 2.57, myhand (ok), 13:19, 26/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    > Выглядит крайне ужасно: едет форматирование

    Аллилуия!  Потому что не для роботов, как обычно, а для людей сделано.

    > что это за идиотский формат в каждой строчке.

    Тебе папа с мамой говорили "учи английский"?


     
  • 1.65, Den_den (?), 20:27, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Microsoft пришла порядок навела!
     

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


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