Git 2.53 підсилює свій шлях до Git 3.0 та Rust

  • Git 2.53 виходить як нова стабільна версія з покращеннями продуктивності та внутрішнього обслуговування.
  • До ключових команд додаються нові опції, такі як git maintenance, git blame, git repo info y git fast-import.
  • Проєкт рухається до того, щоб зробити Rust обов'язковим для компіляції Git для Git 3.0.
  • Оновлення покращує документацію, довідкові повідомлення та сумісність у macOS та Windows.

git 2.53

Нова версія Git 2.53 тепер доступні Як стабільна версія цієї розподіленої системи контролю версій, що широко використовується в усьому світі для управління програмними проектами всіх типів і розмірів, цей реліз зберігає свою спрямованість на забезпечення більшої швидкості та надійності у складних робочих процесах, а також прокладає шлях для значних структурних змін у майбутній гілці 3.x.

Окрім звичайних виправлення помилок та налаштування продуктивностіGit 2.53 включає конкретні покращення ключових команд, як для окремих розробників, так і для команд, що керують великими корпоративними репозиторіями або репозиторіями програмного забезпечення з відкритим кодом. Оновлення також знаменує собою важливий крок у поступовому переході до обов'язкового використання мови Rust у процесі компіляції.

Git 2.53 та ключові нові функції в управлінні технічним обслуговуванням

Одним із найвражаючих доповнень є нова підкоманда is-needed в git maintenanceЦя функція розроблена для визначення того, чи дійсно необхідні певні завдання з обслуговування. Вона допомагає автоматизувати очищення та оптимізацію, запобігаючи зайвій роботі та зменшуючи час, який розробники витрачають на очікування завершення планового обслуговування.

Завдяки цьому покращенню адміністратори великих репозиторіїв, зокрема тих, що розміщені на серверах з високим навантаженням, можуть краще налаштувати свої планові процедури технічного обслуговуваннявиконання операцій лише тоді, коли вони приносять реальну користь. Це особливо корисно в середовищах CI/CD, де важлива кожна секунда компіляції чи тестування.

git 2.52
Пов'язана стаття:
Що нового в Git 2.52: команди, продуктивність та безпека

Git 2.53 вносить зміни до ключових щоденних команд

Git 2.53 також включає нову опцію --diff-algorithm= для команди git blameЦе дозволяє вибрати алгоритм розпізнавання різниці. Завдяки цьому ті, хто аналізує історію змін, можуть краще уточнити, як виявляються та відображаються рядки, відповідальні за модифікацію, що є надзвичайно важливим під час налагодження проблем у критичному коді.

Команда git repo info тепер додайте опцію --allщо розширює наведену інформацію про репозиторій. Це розширення дозволяє легше отримати повніше уявлення про внутрішній стан проєкту без необхідності об'єднувати кілька команд у ланцюжок, що може бути дуже практичним як у локальних середовищах розробки, так і на спільних серверах.

Еволюція експериментальної команди git replay

У версії 2.53 продовжується вдосконалення поведінки експериментальної команди git replayВідтепер ця команда за замовчуванням виконуватиме оновлення посилань у власній транзакції, замість того, щоб просто вказувати, куди має вказувати кожне посилання, та залишати фактичне оновлення іншій команді. Такий підхід зменшує ризик невідповідностей, якщо щось піде не так посеред процесу.

Поряд із цією зміною в поведінці було запроваджено наступне Покращення повідомлень про помилки, пов’язаних із цим параметром --onto de git replayякі тепер забезпечують чіткіший зворотний зв'язок, коли передається неправильний аргумент. Крім того, було розширено покриття тестуванням для цієї команди, що підвищує її стабільність, перш ніж її можна буде вважати повністю зрілою для широкого використання.

Нові опції та елементи керування в diff, apply та fast import

Команди git apply y git diff Вони запускають новий тип помилки пробілу під назвою incomplete-lineЦя додаткова категорія дозволяє виявляти ситуації, коли лінія не завершується належним чином, що може залишитися непоміченим, але спричиняє конфлікти або неочікувану поведінку в деяких середовищах та інструментах інтеграції.

Зі свого боку, git fast-import отримує опцію --signed-commits=strip-if-invalidРозроблено для обробки недійсних криптографічних підписів. За такої конфігурації команда може видаляти проблемні підписи з імпортованих об'єктів, зберігаючи цілісність історії, не блокуючи весь процес через несправний або погано згенерований підпис.

Git 2.53 впроваджує покращення в інформації про репозиторій та командах структурування.

Команда git repo struct Дізнайтеся зараз, як прийняти модифікатор -z як синонім до --format=nulЦя деталь, хоч і невелика, дуже корисна для скриптів та інструментів, які автоматично обробляють вивід Git, використовуючи нульові роздільники, що є поширеним явищем у розширених конвеєрах.

Крім того, команда, відповідальна за відображення структура репозиторію Це збільшує обсяг інформації про базу даних об'єктів, що включається до виводу. Ця краща видимість внутрішнього сховища допомагає як виявляти проблеми з розміром та фрагментацією, так і оптимізувати продуктивність на серверах спільних репозиторіїв.

Зміни в документації та довідкових повідомленнях

Git 2.53 оновлює довідкове повідомлення git branch рекомендувати використання git help замість посилання на системний порядок manЦя зміна робить користувацький досвід більш узгодженим на різних платформах, оскільки git help Він працює аналогічно в дистрибутивах GNU/Linux, середовищах macOS та Windows.

А новий посібник, що описує модель даних Gitнадання чіткішого пояснення того, як інформація організована внутрішньо (коміти, дерева, блоби, посилання тощо). У документації git replay Уточнюється використання терміну «редакція», який розуміється як пов'язаний набір комітів, що може уникнути непорозумінь під час читання технічної документації або розширених посібників.

Покращена сумісність у macOS та Windows

У сфері портативності, версія 2.53 виправляє спосіб, яким Git керує закодованими рядками відповідно до ISO/IEC 2022:1994 під час користування бібліотекою iconv на macOS. Цей параметр зменшує потенційні проблеми під час обробки спеціальних символів та перетворення між різними наборами символів, що актуально в міжнародних проектах із внеском з кількох країн.

У Windows дистрибутив Git для Windows включає підтримку для символічні посиланняЦе наближає поведінку системи до того, чого розробники очікують у середовищах Unix та macOS. Таке узгодження спрощує підтримку узгоджених репозиторіїв на різних платформах, без необхідності вдаватися до специфічних рішень чи патчів для кожної системи.

Підтримка Rust у процесі компіляції

Стратегічним моментом Git 2.53 є його роль у плані створення Мова програмування Rust стає обов'язковою компіляції в майбутній версії 3.0. Цей крок розроблявся з часів попередніх версій, і тепер робить крок вперед, змінюючи конфігурацію за замовчуванням у системах збірки.

Згідно з документацією проекту, у версії 2.52 підтримка Rust була автоматично виявлена ​​в Meson, але залишалася вимкненою в Головний Makefile як перехідУ Git 2.53 як система збірки на основі Meson, так і Makefile за замовчуванням увімкнули підтримку Rust, що означає, що компіляція за замовчуванням завершиться невдачею в середовищах, де Rust недоступний, якщо це явно не вимкнено за допомогою прапорців збірки.

План, розроблений відповідальними за проєкт, передбачає, що для Git 3.0, опції для вимкнення зникнення Rust і використання цієї мови стає обов'язковим. Причини цієї зміни, детально описані в комітах проекту та документації, зосереджені на покращенні безпеки, стійкості коду та можливості розвитку критичних частин системи шляхом використання можливостей Rust.

Продуктивність, повідомлення про помилки та внутрішні виправлення в Git 2.53

Окрім видимих ​​функцій, Git 2.53 включає оптимізація продуктивності в різних підкомандахЦі зміни особливо помітні під час роботи з великими репозиторіями або тими, що мають довгу історію. Хоча багато з цих змін є внутрішніми, вони сприяють підтримці безперебійної роботи в повсякденних завданнях, таких як клонування, об'єднання, відтворення та порівняння.

У цій версії також покращено якість та чіткість кількох повідомлення про помилкиз особливою увагою до тих, що виникають під час роботи з git replay та деякі розширені опції. Крім того, з моменту виявлення було виявлено кілька помилок Випуск Git 2.52, що підсилює загальну стабільність інструменту та зменшує ймовірність неочікуваної поведінки у виробничому середовищі.

Доступність та примітки до випуску

Git 2.53 тепер доступний для завантаження з офіційний веб-сайт проекту Він буде доступний у вигляді файлу вихідного коду для тих, хто надає перевагу компіляції програмного забезпечення вручну, що є поширеною практикою в передових середовищах розробки або на серверах Linux, що використовуються компаніями та організаціями вільного програмного забезпечення. Дистрибутиви GNU/Linux, а також пакети для macOS та Windows поступово включатимуть цю версію до своїх репозиторіїв та менеджерів пакетів.

Повні деталі Зміни та покращення, включені до Git 2.53 Ця інформація міститься в офіційному оголошенні про випуск та примітках до випуску. Ознайомлення з цією документацією особливо рекомендується системним адміністраторам, менеджерам платформ безперервної інтеграції та розробникам, які працюють зі складними робочими процесами на основі Git.

З усіма цими змінами Git 2.53 зарекомендував себе як актуальне оновлення, яке поєднує практичні налаштування поширених команд, покращення сумісності з такими системами, як macOS та Windows, кращу видимість внутрішньої структури репозиторіїв та чітку орієнтацію на майбутній перехід до Git 3.0, де Rust відіграватиме провідну роль у побудові самої системи контролю версій.