Facebook dia namoaka rafitra fanaraha-maso loharano vaovao Sapling

Facebook (voarara ao amin'ny Federasiona Rosiana) dia namoaka ny rafitra fanaraha-maso loharanon'ny Sapling, ampiasaina amin'ny fampivoarana ny tetikasan'ny orinasa anatiny. Ny rafitra dia mikendry ny hanome interface tsara fanaraha-maso dikan-teny izay afaka manenjana ho an'ny fitehirizana tena lehibe mirefy fisie am-polony tapitrisa, commits ary sampana. Ny kaody mpanjifa dia voasoratra amin'ny Python sy Rust, ary misokatra eo ambanin'ny fahazoan-dΓ lana GPLv2.

Ny ampahany amin'ny mpizara dia novolavolaina mitokana ho an'ny asa lavitra mahomby miaraka amin'ny tahiry sy rafitra virtoaly virtoaly hiasa amin'ny ampahany eo an-toerana amin'ny ampahany amin'ny tahiry ho tahiry feno (ny mpamorona dia mahita ny tahiry manontolo, fa ny angon-drakitra ilaina ihany no azo idirana. dia adika amin'ny rafitra eo an-toerana). Tsy mbola misokatra ny kaody ho an'ireo singa ampiasaina amin'ny fotodrafitrasa Facebook ireo, saingy nampanantena ny hamoaka izany amin'ny ho avy ny orinasa. Na izany aza, amin'izao fotoana izao ao amin'ny tahiry Sapling dia efa afaka mahita prototypes ny mpizara Mononoke (amin'ny Rust) sy VFS EdenFS (amin'ny C++) ianao. Ireo singa ireo dia tsy azo atao ary ny mpanjifa Sapling dia ampy hiasa, izay manohana ny cloning Git repository, mifandray amin'ireo mpizara mifototra amin'ny Git LFS ary miasa amin'ny tranokala fampiantranoana git toy ny GitHub.

Ny hevi-dehibe amin'ny rafitra dia ny hoe rehefa mifandray amin'ny ampahany amin'ny mpizara manokana izay manome fitahirizana ny fitehirizana, ny asa rehetra dia miorim-paka arakaraka ny isan'ny rakitra ampiasaina amin'ny code izay iasan'ny mpamorona, ary tsy miankina amin'ny ny haben'ny fitambaran'ny tahiry manontolo. Ohatra, ny mpandrindra dia mety mampiasa ampahany kely amin'ny kaody avy amin'ny tahiry lehibe iray ary io ampahany kely io ihany no hafindra any amin'ny rafitra misy azy, fa tsy ny tahiry manontolo. Ny lahatahiry miasa dia feno mavitrika rehefa miditra ny rakitra avy amin'ny tahiry, izay, amin'ny lafiny iray, dia ahafahanao manafaingana ny asa miaraka amin'ny ampahany amin'ny code, fa amin'ny lafiny iray kosa dia mitarika ho amin'ny fihenan'ny fidirana amin'ny rakitra vaovao ho an'ny voalohany ary mitaky fidirana tsy tapaka amin'ny tambajotra (mode mitokana sy ivelan'ny aterineto hanomanana commit).

Ho fanampin'ny fampidinana angon-drakitra adaptatera, i Sapling koa dia manatanteraka fanatsarana mikendry ny hampihenana ny fampidinana ny vaovao miaraka amin'ny tantaran'ny fiovana (ohatra, ny 3/4 amin'ny angon-drakitra ao anaty tahiry miaraka amin'ny kernel Linux dia ny tantaran'ny fiovana). Mba hiasa tsara amin'ny tantaran'ny fiovana, ny angon-drakitra mifandraika amin'izany dia voatahiry ao amin'ny fanehoana mizara izay ahafahanao misintona ampahany tsirairay amin'ny kisary commit avy amin'ny mpizara. Ny mpanjifa dia afaka mangataka fampahalalana amin'ny mpizara momba ny fifandraisana misy eo amin'ny commits maromaro ary maka ny ampahany ilaina amin'ny grafika ihany.

Ny tetikasa dia nivoatra tao anatin'ny 10 taona lasa ary noforonina hamahana olana amin'ny fikarakarana ny fidirana amin'ny trano fitehirizam-bokatra monolithic tena lehibe miaraka amin'ny sampana lehibe iray, izay nampiasa ny hetsika "rebase" fa tsy "mitambatra". Tamin'izany fotoana izany, tsy nisy vahaolana misokatra ho an'ny fiaraha-miasa amin'ny trano fitehirizam-bokatra toy izany, ary nanapa-kevitra ny injeniera Facebook hamorona rafitra fanaraha-maso dikan-teny vaovao izay mifanaraka amin'ny filan'ny orinasa, fa tsy manasaraka ny tetikasa ho tahiry kely, izay hitarika ho amin'ny fahasarotan'ny fitantanana fiankinan-doha (tamin'ny fotoana iray, mba hamahana olana mitovy amin'izany, Microsoft dia namorona sosona GVFS). Tamin'ny voalohany, Facebook dia nampiasa ny rafitra Mercurial sy ny tetikasa Sapling tamin'ny dingana voalohany novolavolaina ho fanampin'ny Mercurial. Rehefa nandeha ny fotoana dia niova ho tetikasa mahaleo tena ny rafitra miaraka amin'ny protocole manokana, ny endrika fitahirizana ary ny algorithm, izay nitarina ihany koa miaraka amin'ny fahafahana mifandray amin'ny tahiry Git.

Ho an'ny asa dia atolotra ny fampiasa andalana baiko "sl", izay mametraka foto-kevitra mahazatra, workflows ary interface tsara fantatry ny mpamorona mahazatra amin'ny Git sy Mercurial. Ny teny sy ny baiko ao amin'ny Sapling dia tsy mitovy amin'ny Git ary akaiky kokoa ny Mercurial. Ohatra, raha tokony ho sampana, dia "marika" no ampiasaina (tsy tohana ny sampana nomena anarana), amin'ny alΓ lan'ny default, rehefa manatanteraka clone/pull, tsy ny repository manontolo no entina, fa ny sampana lehibe ihany, tsy misy marika mialoha ny commits ( faritra fanaovana hetsika), fa tsy "git fetch" ny baiko "sl" no ampiasaina, fa tsy "git pull" - "sl pull -rebase", fa tsy "git checkout COMMIT" - "sl goto COMMIT", fa tsy ny "git reflog" - "sl journal", hanafoana ny fanovana fa tsy "git checkout - FILE" "sl revert FILE" no voatondro, ary "." dia ampiasaina hamantarana ny sampana "HEAD". Saingy amin'ny ankapobeny dia voatahiry ny foto-kevitra ankapobeny momba ny sampana sy ny clone/pull/push/commit/rebase.

Anisan'ireo endri-javatra fanampiny amin'ny kitapo Sapling, ny fanohanana ny "smartlog" dia misongadina, izay ahafahanao manombatombana ny toetry ny fitahirizanao, manasongadina ny fampahalalana manan-danja indrindra ary manivana ny antsipiriany tsy manan-danja. Ohatra, rehefa mihazakazaka ny sl utility tsy misy adihevitra ianao dia ny fanovana eo an-toerana ihany no aseho eo amin'ny efijery (ny hafa dia ahena), ny toetry ny sampana ivelany, ny rakitra niova ary ny dikan-teny vaovao. Fanampin'izany, atolotra ny interface interface interactive, izay ahafahana mivezivezy haingana amin'ny log smart, manova hazo ary manolo-tena.

Facebook dia namoaka rafitra fanaraha-maso loharano vaovao Sapling

Ny fanatsarana iray hafa miavaka amin'ny Sapling dia ny fanamorana ny fanamboarana sy famahana ny lesoka ary miverina amin'ny fanjakana teo aloha. Ohatra, ny baiko "sl undo", "sl redo", "sl uncommit" ary "sl unamend" dia atolotra mba hamerenana ny asa maro, ny baiko "sl hide" sy "sl unhide" dia ampiasaina hanafenana vonjimaika ny commit; ary ho an'ny navigateur interactive amin'ny alΓ lan'ny fanjakana taloha ary miverina amin'ny teboka voafaritra miaraka amin'ny baiko "sl undo -i command". Sapling koa dia manohana ny foto-kevitry ny commit stack, izay ahafahanao mandamina tsikera tsikelikely amin'ny alΓ lan'ny famongorana ny fiasa be pitsiny ho andiana fiovana kely kokoa sy azo takarina kokoa (avy amin'ny rafitra fototra mankany amin'ny asa vita).

Fanampiny maromaro no nomanina ho an'ny Sapling, anisan'izany ny interface ReviewStack amin'ny famerenana ny fanovana (code eo ambanin'ny GPLv2), izay ahafahanao mandrindra ny fangatahana fisintonana amin'ny GitHub ary mampiasa fomba fijery stack momba ny fanovana. Fanampin'izany, navoaka ny fanampim-panampiana ho fampidirana amin'ireo tonian-dahatsoratra VSCode sy TextMate, ary koa ny fampiharana ny interface sy ny server ISL (Interactive SmartLog).

Source: opennet.ru

Add a comment