GitHub жүйесіндегі мұрағаттық бақылау сомасының өзгеруіне байланысты құрастыру жүйелеріндегі сәтсіздіктер

GitHub шығарылым беттерінде автоматты түрде жасалған «.tar.gz» және «.tgz» мұрағаттарын жасау тәсілін өзгертті, бұл олардың бақылау сомасының өзгеруіне және тұтастығын растау үшін GitHub-тан жүктеп алынған мұрағаттарды алдыңғыларымен салыстыратын автоматтандырылған құрастыру жүйелеріндегі үлкен ақауларға әкелді. .сақталған бақылау сомалары, мысалы, бума метадеректерінде немесе құрастыру сценарийлерінде орналастырылған.

2.38 шығарылымынан бастап Git құралдар жинағы әдепкі бойынша gzip-тің кірістірілген енгізуін қамтыды, бұл осы қысу әдісіне операциялық жүйелерде қолдау көрсетуді біріктіруге және мұрағат жасау өнімділігін жақсартуға мүмкіндік берді. GitHub өз инфрақұрылымындағы git нұсқасын жаңартқаннан кейін өзгерісті қабылдады. Мәселе кірістірілген zlib негізіндегі gzip іске асыру арқылы жасалған қысылған мұрағаттардың gzip утилитасы жасаған мұрағаттардан екілік айырмашылығы болуымен байланысты болды, бұл файлды орындау кезінде git бағдарламасының әртүрлі нұсқалары арқылы жасалған мұрағаттар үшін әртүрлі бақылау сомасына әкелді. «git архиві» командасы.

Тиісінше, GitHub-та git-ті жаңартқаннан кейін, ескі бақылау сомалары арқылы тексеруден өтпеген шығарылым беттерінде сәл өзгеше мұрағаттар көрсетіле бастады. Мәселе әртүрлі құрастыру жүйелерінде, үздіксіз интеграциялық жүйелерде және бастапқы кодтан пакеттерді құру құралдарында көрінді. Мысалы, бастапқы кодтары GitHub сайтынан жүктелген 5800-ге жуық FreeBSD порттарының жинағы бұзылған.

Ақаулар туралы алғашқы шағымдарға жауап ретінде GitHub бастапқыда мұрағаттар үшін тұрақты бақылау сомасына кепілдік берілмейтінін айтты. Зардап шеккен құрастыру жүйелерінің функционалдығын қалпына келтіру үшін әртүрлі экожүйелердегі метадеректерді жаңарту үшін үлкен жұмыс көлемі қажет болатыны көрсетілгеннен кейін, GitHub өкілдері өз пікірлерін өзгертті, өзгерісті қайтарды және мұрағаттарды жасаудың ескі әдісін қайтарды.

Git әзірлеушілері әлі бір шешімге келген жоқ және тек ықтимал әрекеттерді талқылауда. Қарастырылған опциялар әдепкі gzip утилитасын пайдалануға қайта оралуды қамтиды; ескі мұрағаттармен үйлесімділікті сақтау үшін «--тұрақты» жалаушасын қосу; кірістірілген іске асыруды жеке мұрағаттық форматқа байланыстыру; ескі міндеттемелер үшін gzip утилитасын және белгілі бір күннен басталатын міндеттемелер үшін кірістірілген енгізуді пайдалану; тек қысылмаған мұрағаттар үшін пішім тұрақтылығына кепілдік береді.

Шешім қабылдаудың қиындығы сыртқы қызметтік бағдарламаға қоңырау шалуға оралу бақылау сомасының өзгермейтіндігі мәселесін толығымен шешпейтінімен түсіндіріледі, өйткені сыртқы gzip бағдарламасының өзгеруі мұрағат пішімінің өзгеруіне әкелуі мүмкін. Қазіргі уақытта әдепкі бойынша ескі әрекетті қайтаратын (сыртқы gzip утилитасын шақыру) және жүйеде gzip утилитасы болмаған кезде кірістірілген енгізуді пайдаланатын патчтар жинағы қарауға ұсынылды. Сондай-ақ, патчтар құжаттамаға «git мұрағаты» шығысының тұрақтылығына кепілдік берілмейтінін және пішім болашақта өзгеруі мүмкін екенін ескертеді.

Ақпарат көзі: opennet.ru

пікір қалдыру