Inbyggd git
Ett Restorm-projekt är gjort för att leva i ett git-förvar. Integrationen går
längre än en enkel git commit: den förstår formatet och kan lösa en
konflikt på verksamhetsentiteternas nivå, inte på YAML-radernas.
Komma igång
Section titled “Komma igång”Det finns ingenting att konfigurera. Så snart den öppnade .restorm-filen ligger
i ett git-förvar aktiveras git-ytorna.
Restorm använder din lokala git: inga inloggningsuppgifter att fylla i,
ingen tokenhantering i applikationen. Regeln är enkel — om git push fungerar i
din terminal fungerar det i Restorm. Git startas med frågorna avstängda: ett
förvar som skulle be om ett lösenord misslyckas omedelbart med gits eget
meddelande, i stället för att blockera gränssnittet.
GIT-cellen i statusfältet
Section titled “GIT-cellen i statusfältet”Två knappar, Pusha och Hämta, var och en med en markering (en punkt, aldrig en siffra) när det finns något att skicka eller en nyare version att hämta.
Menyn Git i titelraden erbjuder samma åtgärder, plus Uppdatera, Återställ till serverns version och Historik.

Push-dialogen visar ett färdigskrivet commit-meddelande, genererat deterministiskt från den strukturella diffen — utan någon språkmodell. En rad per ändrad entitet (begäran, scenario, mapp, variabelmapp), aldrig en rad per fält.
- En språkväljare för meddelandet, oberoende av gränssnittets språk, med en växel för att göra det till standardvärde.
- En redigerbar titel, med en vägledande räknare vid 72 tecken.
- En flerradig brödtext.
Att bekräfta kör hela kedjan: spara, git add, commit, push.
Restorm sparar först, och hämtar och slår sedan samman.
Ren sammanslagning: trädet och de öppna flikarna uppdateras på plats.
Konflikt: en lösningsvy med fyra paneler öppnas.

| Panel | Innehåll |
|---|---|
| Konfliktlistan | De entiteter som är i konflikt |
| Din version | Skrivskyddad |
| Deras version | Skrivskyddad |
| Löst | Redigerbar — det är den som skrivs |
Det viktiga: varje panel visar entiteten i sin riktiga editor — en
HTTP-begäran i HTTP-editorn, ett scenario i scenarioeditorn. Du löser inte
<<<<<<<-markörer i YAML, du jämför två begäranden.
En knapp ”använd den här versionen” per sida, och de fält som skiljer sig markeras i rött — när bara ett fält skiljer sig öppnas panelen direkt på den berörda fliken.
API-dokumentationen i en variabelmapp löses automatiskt (den senaste versionen vinner).
Avbryt kör ett git merge --abort. Om du stänger applikationen mitt i en
lösning erbjuder den dig vid nästa start att överge sammanslagningen.
Bakgrundskontroll (semi-pull)
Section titled “Bakgrundskontroll (semi-pull)”Restorm kontrollerar regelbundet om det finns en nyare version — utan att
någonsin slå samman av sig självt. Tre utlösare: en observerad ändring i
.git, att en fil öppnas, och en timer vars frekvens ställs in i
Inställningar ▸ Git (Off, 15 min, 30 min, 1 h, 4 h, 12 h, 24 h).
En avisering ”Uppdatering tillgänglig” erbjuder då Pull now.
Extern ändring av filen
Section titled “Extern ändring av filen”Om filen har ändrats på disken sedan den öppnades nekas sparningen och Restorm frågar dig om du vill Läsa in på nytt eller Behålla din version.
Varför diffarna är läsbara
Section titled “Varför diffarna är läsbara”Två egenskaper hos formatet, beskrivna i
Projekt och .restorm-filer:
en kanonisk nyckelordning, och identifierare som härleds på ett stabilt
sätt.
Följd: att öppna och spara om utan att ändra något ger ingen diff alls, och två personer som lägger till samma begäran på samma plats får entiteter som sammanslagningen kan parhopa.
Historik
Section titled “Historik”Git ▸ Historik öppnar en vy med två paneler: listan över commits med en grenrännil, och detaljerna till höger. En commits snabbmeny gör det möjligt att hämta tillbaka den versionen.
Via MCP
Section titled “Via MCP”Fyra verktyg, i utgåvan Pro: git_commit_push (steg 1 av 2 — returnerar en
granskningstoken, titeln, brödtexten och diffen per entitet, utan att skriva
någonting), git_confirm_push (steg 2 av 2 — nekas om projektet har ändrats
sedan granskningen), git_pull och git_resolve_conflicts.
Uppdelningen i två steg är avsiktlig: en agent kan inte pusha utan att en diff först har presenterats.