Facebook novum fontem codicem administratione systematis Sapling intulit

Facebook ( interdictum Foederationis Russicae) fontem systematis imperii Sapling editum, in progressione societatis internae incepta. Systema tendit ad familiarem versionem potestatem interfaciendi praebere, qui amplissimis repositoriis scandere potest decem milia imaginum, committit et ramos. Hic codex in Pythone et Rust scriptus est, et sub GPLv2 licentia aperta est.

Pars ministrans separatim ad efficientem laborem remotum cum repositoriis evoluta est et systema fasciculi virtualis operandi cum segmento locali partis repositorii ut repositio completa (videt elit repositorium totum, sed solum data inquisita quae accesserunt. exscriptus est ratio loci). Codex harum partium in Facebook infrastructura usus est, nondum aperta est, sed societas ea in posterum divulganda promisit. Tamen, nunc in repositorio Sapling, iam potes prototypa invenire servo Mononoke (in Rust) et VFS EdenFS (in C++). Haec membra ad libitum sunt et clientis Sapling labori satis est, quae repositoria Git exquisita sustinet, inter se cum ministris in Git LFS fundata et laboratum cum git locis obnoxiis ut GitHub.

Praecipua notio systematis est quod, cum interacting cum speciali servo parte quae repositio praebet repositorium, omnes operationes secundum numerum limariorum scalis laborantium in codice actu adhibito laborat, nec ab eo pendent. tota magnitudo totius repositio. Exempli gratia, elit parva portione codicis uti potest ex amplissimo reposito et sola illa portiuncula ad suum systema, non ad totum repositum migrabitur. Directorium operarium dynamice impletur sicut tabulae e repositorio accessuntur, quae ex una parte permittit te signanter accelerare laborem cum parte codicis, sed rursus ad tarditatem inducit cum accessu novorum imaginum ad primum tempus ac constantem accessum ad retiaculum requirit (seorsim provisus et modus offline ad committendum committit).

Praeter adaptivas notitias onerandas, optimizationes quoque derectas ad reductionem informationum cum historia mutationum reducere intendebat (exempli gratia 3/4 notitiarum in repositorio cum nucleo Linux historia mutationum). Ut cum historia mutationum efficaciter operari possit, notitia cum illo consociata in repraesentatione divisa conditur, quae sinit vos singulas partes graphi graphiae committi ex servo auferre. Cliens postulare potest informationes a servo de relatione inter plures committit et prehendit solum necessariam partem graphi.

Propositum evolvere per 10 annos praeteritos et ad difficultates solvendas creata est cum accessum ad amplissimas repositoria monolithica cum magistro uno ramulo disponente, quae "rebast" operandi loco "merge" usus est. In illo tempore nullae erant apertae solutiones ad operandum cum huiusmodi repositoriis, et Facebook fabrum constituerunt novam versionem moderandi rationem creare quae necessitati societatis occurreret, pro incepta in parva repositoria scindendi, quae implicationem induceret. administratione dependentiae (uno tempore, ut problema simile solvendi, Microsoft GVFS iacuit creatum est). Initio, Facebook Mercurial systema et Sapling project in primo gradu ut addito Mercuriali usus est. Subinde ratio in projectionem independentem cum suo protocollo, forma et algorithms repositione transformata, quae etiam cum facultate Git repositoria mutuandi dilatata est.

Pro opere, mandatum linea utilitas "sl" offertur, quae instrumentis notionibus typicis, operis ac instrumenti nota tincidunt cum Git et Mercuriali nota sunt. Vocabularium et praecepta in Sapling paulo aliter a Git et Mercuriali propiores sunt. Exempli gratia, loco rami "lineae" adhibentur (rami nominatae non sustinentur), per defaltam, cum clone/trahendum exequens, non totum repositum oneratur, sed tantum ramus principalis, nulla praevia notatio committit ( area choragi), pro "git arcessere" pro "sl" imperare adhibetur traho", pro "git traho" - "sl traho -rebase", pro "git checkout COMMENDO" - "sl GOTO COMMENDO", pro "git reflog" - "sl ephemeride", ad remittendam mutationem pro "git checkout - FILE" "sl reverti FILE" specificatur, et "." Sed generaliter conceptus generales ramorum et operationum clone/pul/dis/commit/rebase conservantur.

Inter lineamenta additamenta toolkit de Sapling, subsidium "smartlog" eminet, quod te permittit ut uisum statum repositorii tui aestimes, maxime momenti notitias exaggeras et e parvis momentis eliquare. Exempli gratia, cum utilitate sl sine argumentis curris, solum propriae mutationes locales in velo ostenduntur (alii autem minimized sunt), status rami externi, lima mutanda et novae versiones committit monstrantur. Praeterea praebetur interactivum interfacies, quae efficit ut cito navigare possit per lignum callosum, mutationem arboris et committit.

Facebook novum fontem codicem administratione systematis Sapling intulit

Alia notabilis emendatio in Sapling est quod facilius errores figere et resolvere et ad statum priorem reverti facit. Verbi gratia, praecepta "sl undo", "sl redo", "sl incommitta" et "sl sineend" multae operationes revolvere offeruntur, mandata "sl celare" et "sl inhide" ad tempus celare committit; et pro interactiva navigatione per veteres civitates et ad certum punctum redire cum imperio "sl undo -i". Sapling etiam notionem acervi committi sustinet, quae gradatim recognitiones ordinare sinit, ut in minorum, intellectuum incrementalium mutationibus (a fundamentali compage ad munus finitum solvendo) multiplicem functionem frangendo.

Aliquot additamenta ad Sapling parata sunt, inclusa interfacii ReviewStack ad emendationes recensendas (code sub GPLv2), quae te permittit ut processum petitionum in GitHub trahendum et sententiarum mutationum acervo utatur. Praeterea additamenta ad integrationem cum editoribus VSCode et TextMate editae sunt, necnon exsecutionem ISL (Interactive SmartLog) interfaciei et servientis.

Source: opennet.ru