Tovább a tartalomhoz

Beépített git

Egy Restorm-projekt arra készült, hogy git-tárházban éljen. Az integráció többet ad egy egyszerű git commit parancsnál: érti a formátumot, és az ütközést az üzleti entitások szintjén tudja feloldani, nem a YAML sorainak szintjén.

Nincs mit beállítani. Amint a megnyitott .restorm fájl egy git-tárházban található, a git felületei aktiválódnak.

A Restorm a gépen lévő git programot használja: nincs beírandó azonosító, és nincs tokenkezelés az alkalmazásban. A szabály egyszerű — ha a git push működik a terminálban, működik a Restormban is. A git kikapcsolt kérdésekkel indul: az a tárház, amely jelszót kérne, azonnal elhasal a git üzenetével, ahelyett hogy blokkolná a felületet.

Két gomb, a Küldés és a Letöltés, mindkettő jelölőponttal (egy pont, soha nem szám), ha van mit elküldeni vagy van újabb letölthető változat.

A címsor Git menüje ugyanezeket a műveleteket kínálja, valamint a Frissítés, a Visszaállítás a kiszolgáló változatára és az Előzmények lehetőséget.

Az állapotsor GIT cellája: Frissítés, Küldés és Letöltés, az utóbbi kettő jelölőponttal, majd az Előzmények. A „Küldés a tárolóba” buboréksúgó nyitva van.

A push párbeszédpanel előre megírt commit-üzenetet jelenít meg, amely determinisztikusan, a strukturális diffből készül — nyelvi modell nélkül. Módosított entitásonként (kérés, forgatókönyv, mappa, változómappa) egy sor, soha nem mezőnként egy sor.

  • Az üzenet nyelvválasztója, a felület nyelvétől függetlenül, egy kapcsolóval, amellyel ez lesz az alapértelmezett érték.
  • Egy szerkeszthető cím, 72 karakternél tájékoztató számlálóval.
  • Egy többsoros törzs.

A jóváhagyás egymás után elvégzi: mentés, git add, commit, push.

A Restorm először ment, majd letölt és összefésül.

Tiszta összefésülés: a fa és a megnyitott lapok helyben frissülnek.

Ütközés: egy négypaneles feloldó nézet nyílik meg.

A négypaneles ütközésfeloldó nézet: balra az ütközések listája, a saját verzió, a kiszolgáló verziója — az eltérő URL-ek vörös kerettel —, és a „Megoldva” panel a saját verzió megtartása után feltöltve.

PanelTartalom
Az ütközések listájaAz ütköző entitások
Az Ön verziójaCsak olvasható
Kiszolgáló verziójaCsak olvasható
MegoldvaSzerkeszthető — ez az, ami kiírásra kerül

A lényeg: minden panel a saját valódi szerkesztőjében jeleníti meg az entitást — egy HTTP-kérést a HTTP-szerkesztőben, egy forgatókönyvet a forgatókönyv-szerkesztőben. Itt nem <<<<<<< jelölőket kell feloldani a YAML-ben, hanem két kérést kell összevetni.

Oldalanként egy „Ennek a verziónak a használata” gomb, az eltérő mezők pedig vörössel kiemelve — ha csak egy mező tér el, a panel egyenesen az érintett lapon nyílik meg.

Egy változómappa API-dokumentációja automatikusan feloldódik (a legfrissebb változat győz).

A Mégse egy git merge --abort parancsot futtat. Ha az alkalmazás a feloldás közepén zárul be, a következő indításkor felajánlja az összefésülés elvetését.

A Restorm időszakosan megvizsgálja, hogy létezik-e újabb változat — anélkül hogy bármikor magától összefésülne. Három kiváltó esemény: a .git könyvtárban észlelt módosítás, egy fájl megnyitása, valamint egy időzítő, amelynek gyakorisága a Beállítások ▸ Git alatt állítható (Off, 15 min, 30 min, 1 h, 4 h, 12 h, 24 h).

Ilyenkor egy „Elérhető frissítés” értesítés ajánlja fel a Pull now lehetőséget.

Ha a fájl a megnyitása óta megváltozott a lemezen, a mentés elutasításra kerül, és a Restorm rákérdez, hogy Újratöltés vagy Saját verzió megtartása legyen-e.

A formátum két tulajdonsága miatt, amelyeket a Projektek és .restorm fájlok lap ismertet: a kanonikus kulcssorrend és a stabil módon származtatott azonosítók.

Ennek következménye: egy megnyitás, majd módosítás nélküli újramentés nem termel diffet, és ha két ember ugyanoda ugyanazt a kérést adja hozzá, olyan entitások jönnek létre, amelyeket az összefésülés párba tud állítani.

A Git ▸ Előzmények kétpaneles nézetet nyit meg: a commitok listáját egy elágazási sávval, jobbra pedig a részleteket. Egy commit helyi menüjéből visszaállítható az adott változat.

Négy eszköz, Pro kiadásban: git_commit_push (1/2. lépés — felülvizsgálati tokent, címet, törzset és entitásonkénti diffet ad vissza, anélkül hogy bármit írna), git_confirm_push (2/2. lépés — elutasításra kerül, ha a projekt a felülvizsgálat óta megváltozott), git_pull és git_resolve_conflicts.

A két lépésre osztás szándékos: egy ügynök nem tud pusholni anélkül, hogy előbb egy diff be lett volna mutatva.