Для OpenBSD развіваецца новая git-сумяшчальная сістэма кантролю версій Got

Стэфан Сперлінг (stsp@), удзельнік праекта OpenBSD з дзесяцігадовым стажам, а таксама адзін з галоўных распрацоўшчыкаў Apache Subversion, распрацоўвае новую сістэму кантролю версій "Game of Trees" (got). Пры стварэнні новай сістэмы прыярытэт аддаецца прастаце прылады і прастаце выкарыстання, а не гнуткасці. Цяпер Got яшчэ знаходзіцца ў распрацоўцы; ён распрацоўваецца выключна на OpenBSD і яго мэтавай аўдыторыяй з'яўляюцца распрацоўшчыкі OpenBSD. Код распаўсюджваецца пад свабоднай ліцэнзіяй ISC (эквівалент спрошчанай ліцэнзіі BSD і MIT).

Для захоўвання версіяваных дадзеных у Got выкарыстоўваюцца git-рэпазітары. Цяпер падтрымліваюцца толькі лакальныя аперацыі кіравання версіямі. Пры гэтым, git можа выкарыстоўвацца для любой функцыянальнасці, якая яшчэ не рэалізаваная ў got - працаваць з got і git у адным рэпазітары заўсёды будзе магчыма.

Асноўны бягучай мэтай праекта называецца ўзаемадзеянне з распрацоўшчыкамі OpenBSD, якія хочуць рэгулярна выкарыстоўваць got для сваёй працы над OpenBSD, і паляпшэнне аперацый кіравання версіямі на аснове атрыманай ад іх зваротнай сувязі.

Асноўныя прынцыпы праекту:

  • Прытрымліванне правілам бяспекі і стылю кадавання OpenBSD;
  • Працэс распрацоўкі, заснаваны на рэцэнзаванні кода па электроннай пошце;
  • Выкарыстанне заклад(2) І адкрываць(2) ва ўсёй кодавай базе;
  • Выкарыстанне падзелу прывілеяў пры парсінгу дадзеных рэпазітара па сетцы або з дыска;
  • Падтрымка кодавай базы пад ліцэнзіяй BSD.

Доўгатэрміновыя мэты:

  • Захаванне сумяшчальнасці з дыскавым фарматам рэпазітара git (без захавання сумяшчальнасці з інструментаром);
  • Прадастаўленне поўнага набору інструментаў кіравання версіямі для OpenBSD:
    • Інтуітыўна зразумелы інтэрфейс каманднага радка для выканання неабходных аперацый кіравання версіямі (ёсць)
    • Інтэрактыўны браўзэр рэпазітара для аналізу гісторыі і агляду зафіксаваных змен (тог)
    • CGI-скрыпт, які рэалізуе вэб-інтэрфейс - браўзэр рэпазітара
    • Інструменты адміністравання рэпазітараў з моцным акцэнтам на рэзервовае капіраванне і аднаўленне
    • Сервер рэпазітара для хостынгу цэнтральнага рэпазітара і сінхранізацыі змен з каскадам публічных і прыватных люстэркаў
  • Патрабаванні да працоўнага працэсу распрацоўнікаў OpenBSD:
    • Моцная ўбудаваная падтрымка цэнтралізаванай мадэлі рэпазітара;
    • Для распрацоўшчыкаў, якім не патрэбны галінкі (branch), захоўваецца прастата выкарыстання;
    • Падтрымка лакальных галінак для распрацоўшчыкаў, якія маюць у іх патрэбу;
    • Падтрымка рэлізных галінак -stable;
    • Іншыя функцыі, неабходныя для пабудовы інфраструктуры праекту OpenBSD.
  • Рэалізацыя аўтэнтыфікаваных і шыфраваных сеткавых злучэнняў:
    • Доступ да рэпазітароў па SSH і дадаткова TLS для кланавання рэпазітара і атрымання змен;
    • Доступ да рэпазітароў толькі па SSH для ўнясення змен;
    • Доступ да рэпазітароў немагчымы праз незашыфраваныя злучэнні.

    Got ужо дададзены у дрэва партоў як «devel/got“. На EUROBSDCON 2019 будзе прадстаўлены даклад пра новую сістэму кантролю версій.

    Крыніца: opennet.ru

Дадаць каментар