Ua fa'ailoa mai e le Facebook le faiga fou e pulea ai le Sapling

Facebook (faʻasaina i le Russian Federation) faʻasalalau le Sapling source control system, faʻaaogaina i le atinaʻeina o galuega a le kamupani i totonu. O le faiga e fa'amoemoe e tu'uina atu se fa'ata'ita'iga fa'atonutonu fa'asologa masani e mafai ona fua mo faleteuoloa tetele e o'o atu i le fia sefulu miliona o faila, commits ma lala. O le code client e tusia i le Python ma Rust, ma e tatala i lalo ole laisene GPLv2.

O se vaega o le 'auʻaunaga ua faʻapipiʻiina faʻapitoa mo galuega mamao mamao ma fale teu oloa ma se faila faila faila mo le galue ma se vaega faʻapitonuʻu o se vaega o le fale teu oloa e avea o se fale teu oloa atoa (e vaʻaia e le atinaʻe le faleoloa atoa, ae naʻo faʻamatalaga manaʻomia e maua. e kopiina i le faiga fa'apitonu'u). O le code mo nei vaega o loʻo faʻaaogaina i atinaʻe a le Facebook e leʻi tatalaina, ae ua folafola e le kamupani e faʻasalalau i le lumanaʻi. Ae ui i lea, i le taimi nei i le faleoloa Sapling ua mafai ona e mauaina faʻataʻitaʻiga o le Mononoke server (i Rust) ma VFS EdenFS (i le C++). O nei vaega e filifili ma o le Sapling client e lava e galue, lea e lagolagoina le faʻapipiʻiina o Git repositories, fegalegaleai ma 'auʻaunaga e faʻavae i le Git LFS ma galulue faʻatasi ma git hosting sites e pei o GitHub.

O le manatu autu o le faiga o le taimi e fegalegaleai ai ma se vaega faʻapitoa e tuʻuina atu le teuina o le fale teu oloa, o gaioiga uma e faʻatatau i le numera o faila o loʻo faʻaaogaina i le code o loʻo galue ai le atinaʻe, ma e le faʻalagolago i ai. le aofaiga atoa o le fale teu oloa atoa. Mo se faʻataʻitaʻiga, e mafai e le tagata atiaʻe ona faʻaaogaina naʻo se vaega itiiti o code mai se fale teu oloa tele ma naʻo lena vaega itiiti o le a faʻafeiloaʻi i lana polokalama, ae le o le fale teu atoa. O loʻo faʻatumuina le faʻatonuga o galuega aʻo maua faila mai le fale teu oloa, lea, i le tasi itu, e mafai ai ona e faʻavavevaveina galuega ma lau vaega o le code, ae i le isi itu e taʻitaʻia ai le faʻagesegese pe a maua faila fou mo le mo le taimi muamua ma e manaʻomia le avanoa faifaipea i le fesoʻotaʻiga (tuufua tuʻufaʻatasia ma le tuʻufaʻatasia mo le sauniaina o tautinoga).

I le faʻaopoopoga i le faʻatulagaina o faʻamaumauga, o loʻo faʻatinoina foʻi e Sapling ni faʻataʻitaʻiga e faʻatatau i le faʻaitiitia o le utaina o faʻamatalaga ma le tala faasolopito o suiga (mo se faʻataʻitaʻiga, 3/4 o faʻamaumauga i totonu o se faleoloa ma le fatu Linux o le talafaasolopito o suiga). Ina ia galue lelei ma le talaʻaga o suiga, o faʻamaumauga e fesoʻotaʻi ma ia o loʻo teuina i totonu o se vaega faʻatusa e mafai ai ona e siiina vaega taʻitasi o le kalafi faʻamaonia mai le server. E mafai e le kalani ona talosagaina fa'amatalaga mai le 'au'aunaga e uiga i le va o le tele o tautinoga ma la'u mai na'o le vaega talafeagai o le kalafi.

O loʻo atinaʻe le poloketi i le 10 tausaga ua tuanaʻi ma na faia e foia ai faʻafitauli pe a faʻatulagaina avanoa i fale teu oloa monolithic tetele ma le tasi paranesi matai, lea na faʻaaogaina le "rebase" gaioiga nai lo le "faʻatasi". I lena taimi, e leai ni fofo tatala mo le galulue faatasi ma ia faleoloa, ma na filifili e le au inisinia Facebook e fausia se faiga fou e pulea ai manaoga o le kamupani, nai lo le vaevaeina o poloketi i ni faleoloa laiti, lea o le a taitai atu ai i le lavelave o pulega faʻalagolago (i le taimi e tasi, e foia ai se faʻafitauli faʻapena, na faia e Microsoft le GVFS layer). I le taimi muamua, na faʻaogaina e Facebook le Mercurial system ma le Sapling project i le laasaga muamua na faʻatupuina o se faʻaopoopoga i Mercurial. I le aluga o taimi, o le faiga na suia i se galuega tutoʻatasi ma lana lava faʻasalalauga, faʻamaumauga faʻapipiʻi ma algorithms, lea na faʻalauteleina ma le mafai ona fegalegaleai ma Git repositories.

Mo galuega, o loʻo tuʻuina atu se faʻaogaina o le laina laina "sl", lea e faʻaaogaina ai manatu masani, faʻasologa o galuega ma se faʻaoga masani e masani ai le au atinaʻe masani ma Git ma Mercurial. O faʻamatalaga ma faʻatonuga i Sapling e ese si ese mai Git ma e latalata ile Mercurial. Mo se faʻataʻitaʻiga, nai lo lala, "faʻailoga tusi" e faʻaaogaina (e leʻo lagolagoina lala igoa), e ala i le le mafai, pe a faʻataunuʻuina clone / toso, e le o le fale teu atoa e utaina, ae naʻo le lala autu, e leai se faʻailoga muamua o tautinoga ( nofoaga faʻatulagaina), nai lo le "git fetch" o le "sl" poloaiga e faʻaaogaina toso", nai lo le "git pull" - "sl pull -rebase", nai lo le "git checkout COMMIT" - "sl goto COMMIT", nai lo le "git reflog" - "sl journal", e faalēaogāina se suiga nai lo le "git checkout - FILE" "sl revert FILE" o loʻo faʻamaonia, ma "." faʻaaoga e iloa ai le "HEAD" lala. Ae i se tulaga lautele, o faʻamatalaga lautele o lala ma clone / pull / push / commit / rebase gaioiga o loʻo faʻasaoina.

Faatasi ai ma faʻaopoopoga faʻaopoopo o le Sapling toolkit, lagolago mo le "smartlog" o loʻo tu i fafo, lea e mafai ai ona e vaʻavaʻai i le tulaga o lau fale teu oloa, faʻamaonia faʻamatalaga sili ona taua ma faamama faʻamatalaga le taua. Mo se faʻataʻitaʻiga, pe a e faʻaogaina le sl utility e aunoa ma ni finauga, naʻo au lava suiga i le lotoifale e faʻaalia i luga o le lau (isi e faʻaititia), le tulaga o lala i fafo, suia faila ma faʻamatalaga fou o tautinoga o loʻo faʻaalia. E le gata i lea, o loʻo ofoina atu se fesoʻotaʻiga i luga o le upega tafaʻilagi, lea e mafai ai ona vave faʻafeiloaʻi i totonu o le ogalaau atamai, sui laʻau ma fai.

Ua fa'ailoa mai e le Facebook le faiga fou e pulea ai le Sapling

O le isi fa'aleleia mata'ina i Sapling o le fa'afaigofieina lea o le fa'aleleia ma le fo'ia o mea sese ma toe fo'i i se tulaga muamua. Mo se faʻataʻitaʻiga, o le poloaiga "sl undo", "sl redo", "sl uncommit" ma le "sl unamend" o loʻo ofoina atu e toe faʻafoʻi ai le tele o gaioiga, o le poloaiga "sl hide" ma le "sl unhide" e faʻaaogaina e natia le tumau commits; ma mo felafolafoaiga fefaʻatauaʻiga i setete tuai ma toe foʻi i le mea faʻamaonia ma le faʻatonuga "sl undo -i command". E lagolagoina foi e Sapling le manatu o se commit stack, lea e mafai ai e oe ona faʻatulagaina iloiloga faʻasolosolo e ala i le talepeina o galuega faʻalavelave i se seti o suiga faʻaopoopo laiti, sili atu ona malamalama (mai se faʻavae faavae i se galuega maeʻa).

E tele faʻaopoopoga ua saunia mo Sapling, e aofia ai le ReviewStack interface mo le toe iloiloina o suiga (code under GPLv2), lea e mafai ai e oe ona faʻagasolo talosaga toso ile GitHub ma faʻaoga se vaaiga faʻaputu o suiga. E le gata i lea, o faʻaopoopoga ua faʻasalalau mo le tuʻufaʻatasia ma VSCode ma TextMate faatonu, faʻapea foʻi ma le faʻatinoina o le ISL (Interactive SmartLog) faʻaoga ma le server.

puna: opennet.ru

Faaopoopo i ai se faamatalaga