Доступна система управления исходными текстами Git 2.42
    
    
        
    
    
    
    
            
    
        
            
                
                                    
                
                                    
                
                    
                
            
        
    
    
        
            
                
                
                    
                         
                         
                       
                    
                        Автор 
                        Сообщение 
                    
                                        
                        
                            
                                
                                
                                                                                                            news_bot ®
                                                                        
                                                                                                                                                
                                                                            
                                                                                                                
                                            Стаж: 7 лет 8 месяцев                                        
                                                                                                                
                                            Сообщений: 27286                                        
                                                                                                                                                
                                                             
                            
                                
                             
                         
                        
                            
                                
                                    
                                        
                                        
После двух с половиной месяцев разработки опубликован выпуск распределенной системы управления исходными текстами Git 2.42. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов.
По сравнению с прошлым выпуском в новую версию принято 453 изменения, подготовленные при участии 78 разработчиков, из которых 17 впервые приняли участие в разработке. Основные новшества:
- Предложен новый алгоритм обхода битовых карт (дисковая структура "reachability bitmaps"), отражающих данные о наборах объектов, доступных для каждого коммита, и позволяющих быстро определить наличие базового объекта для сокращения времени извлечения данных при выполнении таких операций, как "git fetch", "git rev-list" и "git clone" с большими репозиториями. Новый алгоритм обеспечивает заметный прирост производительности в условиях, когда битовая карта полностью не покрывает одну из сравниваемых веток. В некоторых ситуациях применение нового алгоритма может привести к ускорению в 2-15 раз. Для переключения на новый алгоритм следует выставить параметр pack.useBitmapBoundaryTraversal и перепаковать индексы, после чего использовать опцию "--use-bitmap-index" при выполнении "git rev-list":
git repack -ad --write-bitmap-index
   git config pack.useBitmapBoundaryTraversal true
   git rev-list --count --objects --tags --not --branches --use-bitmap-index
 
- В команде "git for-each-ref" реализован гибкий механизм исключения ссылок из вывода, более удобный и эффективный, чем применение переменной "transfer.hideRefs". Вместо поштучной проверки исключаемых ссылок, новый метод определяет начало и конец каждого исключаемого диапазона, и пропускает их в процессе разбора файла packed-refs. Шаблон для исключения задаётся при помощи новой опции "--exclude". Дополнительно добавлена опция "--include", которая позволяет вернуть отдельные части из исключаемого диапазона. Новый механизм также задействован для формирования списка заявленных для передачи ссылок во время выполнения операции push, при этом в тестах, охватывающих большие списки исключений, применение нового алгоритма позволяло до 20 раз снизить нагрузку на CPU.
 
- Добавлен новый механизм для сохранения недостижимых объектов (unreachable object), на которые в репозитории отсутствуют ссылки (не ссылаются ветки или теги) и которые подлежат удалению сборщиком мусора после истечения таймаута. Для сохранения недостижимых объектов добавлен параметр gc.recentObjectsHook ("git config gc.recentObjectsHook /path/to/your/program"), позволяющий настроить вызов внешней программы перед началом сборки мусора ("git gc --prune=<approxidate>"). Указанная в параметре gc.recentObjectsHook программа возвращает список идентификаторов объектов, которые будут защищены от удаления сборщиком мусора, независимо от времени их нахождения в репозитории.
 
- Расширено применение механизма частичных индексов (sparse index), охватывающих лишь часть репозитория. Частичные индексы позволяют повысить производительность и сэкономить место в репозиториях, в которых выполняются операции частичного клонирования (sparse-checkout) или осуществляется работа с неполной копией репозитория. В новом выпуске на использование частичных индексов переведена команда diff-tree.
 
- В команде for-each-ref расширены средства форматирования ссылок при помощи опции "--format". Появилась возможность вывода информации, связанной с GPG-подписями, например можно отдельно отобразить ключ, слепок ключа и имя разработчика, сформировавшего цифровую подпись.
$ git for-each-ref --format='%(refname) %(signature:key)' \
       --sort=v:refname 'refs/remotes/origin/release-*' | tac
   refs/remotes/origin/release-3.1 4AEE18F83AFDEB23
   refs/remotes/origin/release-3.0 4AEE18F83AFDEB23
   refs/remotes/origin/release-2.13 4AEE18F83AFDEB23
 
- В команде "git rev-list" при использовании опции "--stdin" для упрощения вызова из скриптов разрешено указание через входной поток данных для расширенных модификаторов, таких как "--branches", "--tags" и "--remotes", а не только модификаторов, что ссылаются на коммиты по идентификатору объекта.
 
- Реализовано отложенное удаление сообщения $GIT_DIR/TAG_EDITMSG, производимое только после успешной записи тега, что решает проблему удаления примечания до вывода сообщения об ошибке.
 
- В команду "git worktree add" добавлена опция "--orphan" для создания рабочего дерева на основе осиротевшей ветки.
 
- В команду "git cat-file" добавлен режим "-Z", который в отличие от режима "-z" применяет разделение на основе символов с нулевым кодом (вместо символов перевода строки) не только для входных, но и для выходных данных.
 
- В команду "git notes append" добавлена опция '--separator' для выбора разделителя абзацев.
 
- В команде "git diff --no-index" реализована возможность чтения из именованных каналов ("git diff <(process) <(substitution)").
 
===========
 Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://lkml.org/lkml/2023/8/2...)
 
- OpenNews: Доступна система управления исходными текстами Git 2.41
 
- OpenNews: Уязвимости в Git, позволяющие перезаписать файлы или выполнить свой код
 
- OpenNews: Уязвимости в Git, приводящие к утечке и перезаписи данных
 
- OpenNews: Выпуск git-совместимой системы управления версиями Got 0.80
 
- OpenNews: Две уязвимости в Git, способные привести к удалённому выполнению кода
 
Похожие новости:
- Выпуск платформы совместной разработки Forgejo 1.20
 
- Анализ подверженности репозиториев на GitHub атаке RepoJacking
 
- Уязвимость в GitLab 16, позволяющая прочитать файлы на сервере
 
- Уязвимость в GitLab, позволяющее запустить код при сборке в CI любого проекта
 
- Уязвимости в Git, позволяющие перезаписать файлы или выполнить свой код
 
- Названы 20 проектов, получивших гранты от GitHub Accelerator
 
- GitHub поменял закрытый RSA-ключ для SSH после его попадания в публичный репозиторий
 
- Выпуск системы управления исходными текстами Git 2.40
 
- GitHub без предупреждения перевёл репозиторий ipmitool в режим только для чтения
 
- GitHub начал внедрение обязательной двухфакторной аутентификации
 
Теги для поиска: #_git
                                        
                                        
                                        
                                     
                                    
                                    
                                                                    
                                                                                             
                         
                        
                            
                                                                    
                                                             
                         
                    
                    
                
                
            
        
    
    
    
    
    
            
    
            
    
        
    
    
        
                        Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
    
    
        
        Текущее время: 04-Ноя 17:52
Часовой пояс: UTC + 5 
            
    
                
| Автор | Сообщение | 
|---|---|
| 
                                
                                
                                                                                                            news_bot ®
                                                                        
                                                                                                                                                 
                                                                            
                                                                                                                
                                            Стаж: 7 лет 8 месяцев                                          | 
                            |
| 
                                 После двух с половиной месяцев разработки опубликован выпуск распределенной системы управления исходными текстами Git 2.42. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. По сравнению с прошлым выпуском в новую версию принято 453 изменения, подготовленные при участии 78 разработчиков, из которых 17 впервые приняли участие в разработке. Основные новшества: 
 =========== Источник: OpenNet.RU =========== Похожие новости
 
  | 
                        |
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
    Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 04-Ноя 17:52
Часовой пояс: UTC + 5