Aggiungi all’indice, fai commit e push
da un pannello che non può forzare, azzerare o unire.

La parte interessante di un pannello git è il permesso che ci sta dietro. Questa pagina copre quali chiamate esistono, quali devi attivare tu, e quali sono state deliberatamente lasciate fuori perché un pannello laterale è il posto sbagliato per portarle a termine.

Studio 1.17.1 · macOS 14+8.5 MB da scaricare
Linelark Studio con il pannello git di un plugin nella barra laterale: il ramo, un file modificato e un pulsante per aggiungere tutto
Git nella barra laterale, senza vista webStudio 1.17.1 · macOS 14+

Cos’è l’API, e cosa deliberatamente non è.

Due porte, nessuna interpolazione nella shell, e un elenco di omissioni scelto perché nulla di raggiungibile da un pannello possa distruggere lavoro non ancora committato.

01

Nessuna stringa di un plugin raggiunge la riga di comando di git

Ramo, stato, cronologia, repository remoti e diff vengono letti attraverso argomenti che costruisce l’host. Un plugin non ha dove iniettare un’opzione, ed è per questo che la lettura non chiede alcun permesso.

02

La scrittura è protetta due volte, e verificata tardi

Il manifesto dichiara "git": "write"; tu lo concedi in Gestisci plugin. Il consenso è registrato a fronte di un’impronta delle capacità accettate e riletto al momento di ogni chiamata, quindi un aggiornamento che chiede di più deve richiedere, e revocare ferma un plugin già in esecuzione.

03

Il messaggio di commit passa dallo standard input

Mai come argomento. Percorsi, riferimenti, nomi e URL di repository remoti vengono rifiutati subito se potessero essere letti come opzioni.

04

I pannelli possono ricevere testo

Un nodo campo con un gestore onSubmit è ciò che rende possibile un messaggio di commit in un pannello laterale. Il plugin fornisce il valore iniziale e la vista possiede ciò che viene scritto dopo, così un ridisegno non porta via mezza frase.

05

Le conferme distruttive appartengono all’host

Scartare modifiche tracciate e togliere un repository remoto vengono confermati da Linelark stesso, prima della chiamata. Un plugin non può mostrare quella finestra, e un plugin che potesse sarebbe la cosa sbagliata a cui affidarla.

06

I diff si aprono come due file, non come una patch

Un plugin consegna un diff unificato e l’editor disegna le due versioni affiancate, allineate, numerate nei propri file, con le righe lunghe mandate a capo. Un plugin che propone fusioni aggiunge frecce al centro.

07

Le operazioni lunghe sono asincrone

Fetch, pull, push e i lettori asincroni girano fuori dal thread principale, così un pannello non blocca l’editor mentre la rete è lenta.

Cosa c’è nell’API, e cosa no.

La colonna di destra non è una roadmap. Ogni omissione è distruttiva, oppure lascia l’albero in uno stato che un pannello laterale non può risolvere — e il terminale è a un tasto di distanza.

Nell’APIFuori dall’API
Aggiungi all’indice, togli, committaUnire, rifondare, prelevare un commit
Fetch, pull (solo in avanzamento rapido), pushPush forzato, reset, clean
Cambiare e creare ramiTag, accantonamento, sottomoduli
Aggiungere, ripuntare e togliere repository remotiCorreggere un commit, indicizzazione per porzione
Leggere ramo, stato, cronologia, diffTutto ciò che riscrive la cronologia

Letto nel codice pubblicato di Linelark Studio 1.17.1, non nella sua documentazione. Quando i due non concordano, è questo che viene rilasciato.

Prima di concederlo.

Nulla qui distrugge lavoro già committato. È una promessa più stretta di « sicuro », e la differenza merita di essere letta.

  • Un plugin autorizzato agisce a tuo nomeRaggiunge il repository remoto configurato nel repository — non gli host dichiarati nel suo manifesto, che descrivono solo richieste di rete. Un commit o un push che fa è del tutto reale.
  • Né avanzamento, né annullamentoUn push è una sola chiamata che risponde quando ha finito, o dopo 120 secondi. Un push molto grande sembra un pannello bloccato finché non restituisce il controllo.
  • Solo StudioL’edizione App Store in sandbox non compila nemmeno il lettore git e lo segnala come non disponibile, per lo stesso motivo per cui non ha il terminale.
  • Il pannello non sorveglia il repositoryUn commit fatto nel terminale compare nel pannello di un plugin dopo il suo pulsante di aggiornamento, la stessa limitazione dell’albero delle cartelle.
  • I repository grandi si sentonoI lettori sincroni girano sul thread principale, e repoLog è limitato a 2.000 commit per questo motivo. Le varianti asincrone sono la via d’uscita.
  • Nessuna richiesta di credenzialiUn repository che ne chiede una fallisce con il messaggio di git stesso, invece di restare bloccato su una richiesta che nessuna finestra mostra. Configura l’assistente per le credenziali o la chiave SSH fuori dall’editor.

Aprilo sui tuoi
file.

Notarizzato da Apple, macOS 14 e versioni successive, Intel e Apple silicon.

Scarica Studio 1.17.1 8.5 MB · tutte le versioni, con le loro impronte