Siirry sisältöön

Sisäänrakennettu git

Restorm-projekti on tehty elämään git-repositoriossa. Integraatio menee pelkkää git commit -komentoa pidemmälle: se ymmärtää tiedostomuodon ja osaa ratkaista ristiriidan liiketoimintaentiteettien tasolla, ei YAML-rivien.

Mitään ei tarvitse määrittää. Heti kun avattu .restorm-tiedosto sijaitsee git-repositoriossa, git-toiminnot aktivoituvat.

Restorm käyttää paikallista git-asennustasi: tunnuksia ei syötetä eikä tokeneita hallita sovelluksessa. Sääntö on yksinkertainen — jos git push toimii päätteessäsi, se toimii Restormissa. Git käynnistetään kehotteet poistettuina: repositorio, joka pyytäisi salasanaa, epäonnistuu välittömästi gitin omalla viestillä sen sijaan, että käyttöliittymä jumiutuisi.

Kaksi painiketta, Työnnä ja Nouda, joissa kummassakin on merkkipiste (piste, ei koskaan numero), kun lähetettävää on tai uudempi versio on noudettavissa.

Otsikkopalkin Git-valikko tarjoaa samat toiminnot sekä lisäksi Päivitä, Palauta palvelimen versioon ja Historia.

Tilapalkin GIT-solu: Päivitä, Työnnä ja Nouda, joista kahdessa viimeisessä on merkkipiste, sekä Historia. ”Työnnä repositorioon” -työkaluvihje on auki.

Push-ikkuna näyttää valmiiksi kirjoitetun commit-viestin, joka on luotu deterministisesti rakenteellisesta erosta — ilman kielimallia. Yksi rivi kutakin muuttunutta entiteettiä kohti (pyyntö, skenaario, kansio, muuttujakansio), ei koskaan riviä kutakin kenttää kohti.

  • Viestin kielivalitsin, joka on riippumaton käyttöliittymän kielestä, sekä kytkin sen asettamiseksi oletukseksi.
  • Muokattava otsikko ja ohjeellinen laskuri 72 merkin kohdalla.
  • Monirivinen runko.

Vahvistus suorittaa ketjun: tallenna, git add, commit, push.

Restorm tallentaa ensin, sitten noutaa ja yhdistää.

Puhdas yhdistäminen: puu ja avoimet välilehdet päivittyvät paikallaan.

Ristiriita: avautuu nelipaneelinen ratkaisunäkymä.

Nelipaneelinen ristiriidan ratkaisunäkymä: ristiriitojen luettelo vasemmalla, sinun versiosi, palvelimen versio — eroavat URL-osoitteet on kehystetty punaisella — ja ”Ratkaistu”-paneeli täytettynä oman version valinnan jälkeen.

PaneeliSisältö
Ristiriitojen luetteloRistiriidassa olevat entiteetit
Sinun versiosiVain luettava
Heidän versionsaVain luettava
RatkaistuMuokattava — tämä kirjoitetaan

Olennaista on tämä: jokainen paneeli näyttää entiteetin sen oikeassa editorissa — HTTP-pyynnön HTTP-editorissa, skenaarion skenaarioeditorissa. Et ratkaise <<<<<<<-merkkejä YAML-tiedostossa, vaan vertailet kahta pyyntöä.

Kummallakin puolella on ”käytä tätä versiota” -painike, ja eroavat kentät on korostettu punaisella — jos vain yksi kenttä eroaa, paneeli avautuu suoraan kyseiseen välilehteen.

Muuttujakansion API-dokumentaatio ratkeaa automaattisesti (tuorein versio voittaa).

Peruuta suorittaa komennon git merge --abort. Jos suljet sovelluksen kesken ratkaisun, seuraavalla käynnistyksellä sinulle ehdotetaan yhdistämisen hylkäämistä.

Restorm tarkistaa ajoittain, onko uudempaa versiota olemassa — yhdistämättä koskaan itsestään. Kolme laukaisinta: .git-hakemistossa havaittu muutos, tiedoston avaaminen ja ajastin, jonka tiheys säädetään kohdassa Asetukset ▸ Git (Off, 15 min, 30 min, 1 h, 4 h, 12 h, 24 h).

Ilmoitus ”Päivitys saatavilla” tarjoaa tällöin toimintoa Pull now.

Jos tiedosto on muuttunut levyllä sen avaamisen jälkeen, tallennus estetään ja Restorm kysyy, haluatko Ladata uudelleen vai Säilyttää oman versiosi.

Kaksi tiedostomuodon ominaisuutta, jotka on kuvattu sivulla Projektit ja .restorm-tiedostot: kanoninen avainjärjestys ja vakaasti johdetut tunnisteet.

Seuraus: avaaminen ja uudelleentallennus ilman muutoksia ei tuota lainkaan eroa, ja kaksi ihmistä, jotka lisäävät saman pyynnön samaan paikkaan, tuottavat entiteettejä, jotka yhdistäminen osaa parittaa.

Git ▸ Historia avaa kaksiosaisen näkymän: commitien luettelo haarakouruineen ja yksityiskohdat oikealla. Commitin kontekstivalikosta voi palauttaa kyseisen version.

Neljä työkalua Pro-editiossa: git_commit_push (vaihe 1/2 — palauttaa katselmustokenin, otsikon, rungon ja entiteettikohtaisen eron kirjoittamatta mitään), git_confirm_push (vaihe 2/2 — hylätään, jos projekti on muuttunut katselmuksen jälkeen), git_pull ja git_resolve_conflicts.

Jako kahteen vaiheeseen on tarkoituksellinen: agentti ei voi työntää ilman, että ero on ensin esitetty.