Саплинг, систем контроле изворног кода компатибилан са Гит-ом

сакупљање

Саплинг наглашава једноставност коришћења док се скалира до највећих светских складишта.

Фацебоок представљен кроз пост на блогу систем управљања изворним кодом Саплинг користи у изради интерних пројеката компаније. Систем има за циљ да обезбеди интерфејс за контролу верзија познато које се може проширити на веома велика спремишта која обухватају десетине милиона датотека, урезивања и грана.

Главна идеја система је да интеракцијом са посебним делом сервера који обезбеђује складиштење спремишта, све операције се скалирају на основу броја датотека који се стварно користе у коду на којем програмер ради, и не зависе од укупне величине читавог спремишта.

На пример, програмер може да користи само мали део кода из веома великог спремишта, и само овај мали део, а не цело спремиште, ће бити пребачен у њихов систем. Радни директоријум се попуњава динамички, како се приступа датотекама спремишта, што вам, с једне стране, омогућава значајно убрзање рада са својим делом кода, али са друге стране успорава га када му приступате за први пут на нове датотеке и захтева сталан приступ мрежи (обезбеђен одвојено и режим припреме ванмрежног урезивања).

Поред прилагодљивог учитавања података, Саплинг такође примењује оптимизације које имају за циљ смањење информационог оптерећења са историјом промена. (на пример, 3/4 података у спремишту са Линук кернелом је историја промена).

Да бисте ефикасно радили са историјом промена, подаци повезани са њом се чувају у сегментираном приказу, који вам омогућава да преузмете засебне делове графа урезивања са сервера. Клијент може да затражи од сервера информације о односу неколико потврда и преузме само неопходан део графикона.

Пројекат се развијао последњих 10 година и креиран је за решавање проблема при приступању веома великим монолитним репозиторијумима са мастер граном, где се практиковала пракса коришћења операције „ребасе“ уместо „спајања“.

У то време није било отворених решења за рад са таквим репозиторијумима и Фацебоок инжењери су одлучили да креирају нови систем контроле верзија који би задовољио потребе компаније, уместо да поделе пројекте на мала спремишта, што би довело до компликованијег управљања зависношћу ( у једном тренутку, да би решио сличан проблем, Мицрософт је креирао ГВФС слој).

У почетку, Фацебоок је користио систем Мерцуриал а пројекат Саплинг је првобитно развијен као додатак Меркуријалу. Временом је систем постао самосталан пројекат са сопственим протоколом, форматом складиштења и алгоритмима, који је такође проширен могућношћу интеракције са Гит репозиторијумима.

За рад, предложен је услужни програм командне линије "сл", који имплементира типичне концепте, токове рада и интерфејс који је познат програмерима који су упознати са Гит-ом и Мерцуриал-ом. Терминологија и команде у Саплинг-у се мало разликују од Гит-а и ближе Мерцуриал-у.

Међу додатним функцијама оф Саплинг, истиче подршка за "паметну регистрацију" (смартлог), који вам омогућава да визуелно процените статус вашег спремишта, истакните најважније информације и филтрирајте мање детаље. На пример, када покренете сл услужни програм без аргумената, приказују се само ваше локалне промене (стране се скупљају), приказује се статус спољних грана, промењених датотека и нових верзија урезивања. Поред тога, обезбеђен је интерактивни веб интерфејс за брзу навигацију кроз паметни дневник, стабло промена и урезивање.

Још једно значајно побољшање у Саплингу је то знатно олакшава процес исправљања и анализе грешака и враћања у претходно стање. На пример, команде "сл ундо", "сл редо", "сл унцоммит" и "сл унменд" су предложене за поништавање многих операција, "сл хиде" и "сл унхиде" за привремено сакривање урезивања и за интерактивну навигацију. наводи Саплинг такође подржава концепт стека урезивања, који вам омогућава да организујете преглед корак по корак разбијањем сложене функционалности на мањи, разумљивији инкрементални скуп промена (од основног оквира до финалне карактеристике).

Одвојено, развијен је серверски део за ефикасан даљински рад са репозиторијумима и виртуелни систем датотека за рад са локалним делом дела спремишта као да је комплетно спремиште (програмер види цело спремиште, али се само тражени подаци копирају у локални систем којем се приступа).

Код за ове компоненте које се користе у инфраструктури Фејсбука још увек није отворен, али компанија је обећала да ће га објавити у будућности. Међутим, прототипови Мононоке сервера (у Русту) и ВФС ЕденФС (у Ц++) се већ могу наћи у Саплинг репозиторијуму. Ове компоненте су опционе и Саплинг клијент је довољан за рад, који подржава клонирање Гит спремишта, интеракцију са серверима заснованим на Гит ЛФС-у и рад са гит хостовима као што је ГитХуб.

Неколико додатака је припремљено за Саплинг, укључујући РевиевСтацк интерфејс за преглед промена (код под ГПЛв2), који вам омогућава да обрађујете захтеве за повлачење на ГитХуб-у и користите приказ стека промена.

Ако сте заинтересовани да сазнате више о томе, можете консултовати детаље У следећем линку.


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.