Lewati ke konten

Git bawaan

Proyek Restorm memang dirancang untuk hidup di dalam repositori git. Integrasinya melampaui sekadar git commit: integrasi itu memahami formatnya dan mampu menyelesaikan konflik pada tingkat entitas bisnis, bukan pada tingkat baris YAML.

Tidak ada yang perlu dikonfigurasi. Begitu file .restorm yang terbuka berada di dalam sebuah repositori git, permukaan git-nya langsung aktif.

Restorm menggunakan git lokal Anda: tanpa kredensial yang perlu diisi, tanpa pengelolaan token di dalam aplikasi. Aturannya sederhana — jika git push berhasil di terminal Anda, ia juga berhasil di Restorm. Git dijalankan dengan promptnya dinonaktifkan: sebuah repositori yang meminta kata sandi akan langsung gagal dengan pesan dari git, alih-alih menggantung antarmukanya.

Dua tombol, Push dan Pull, masing-masing membawa sebuah titik penanda (sebuah titik, tidak pernah sebuah angka) ketika ada sesuatu untuk dikirim atau ada versi yang lebih baru untuk ditarik.

Menu Git pada bilah judul menawarkan aksi yang sama, ditambah Segarkan, Kembalikan ke versi server, dan Riwayat.

Sel GIT pada bilah status: Segarkan, Push, dan Pull, dengan kedua tombol terakhir masing-masing membawa titik penanda, lalu Riwayat. Tooltip “Push ke repositori” sedang terbuka.

Modal push-nya menampilkan sebuah pesan commit yang sudah tertulis, yang dihasilkan secara deterministik dari diff strukturalnya — tanpa model bahasa. Satu baris untuk setiap entitas yang berubah (permintaan, skenario, folder, folder variabel), dan tidak pernah satu baris per kolom.

  • Sebuah pemilih bahasa untuk pesannya, yang terpisah dari bahasa antarmukanya, dengan sebuah sakelar untuk menjadikannya nilai bawaan.
  • Sebuah judul yang dapat disunting, dengan penghitung indikatif pada 72 karakter.
  • Sebuah badan multibaris.

Mengonfirmasinya akan merangkai: menyimpan, git add, commit, push.

Restorm menyimpan terlebih dahulu, lalu menarik dan menggabungkannya.

Penggabungan yang bersih: pohonnya dan tab yang terbuka disegarkan di tempat.

Konflik: sebuah tampilan resolusi dengan empat panel terbuka.

Tampilan resolusi konflik dengan empat panel: daftar konfliknya di sebelah kiri, versi Anda, versi server — dengan URL yang berbeda ditandai kotak merah — dan panel “Terselesaikan” yang terisi setelah versi Anda dipilih.

PanelIsinya
Daftar konflikEntitas yang berkonflik
Versi AndaBaca-saja
Versi merekaBaca-saja
TerselesaikanDapat disunting — inilah yang akan ditulis

Butir pentingnya: setiap panel menampilkan entitasnya di dalam editor aslinya — sebuah permintaan HTTP di dalam editor HTTP, sebuah skenario di dalam editor skenario. Anda tidak menyelesaikan penanda <<<<<<< di dalam YAML, melainkan membandingkan dua permintaan.

Ada sebuah tombol “gunakan versi ini” di setiap sisi, dan kolom yang berbeda disorot dengan warna merah — ketika hanya satu kolom yang berbeda, panelnya langsung terbuka pada tab yang bersangkutan.

Dokumentasi API milik sebuah folder variabel diselesaikan secara otomatis (versi yang paling baru yang menang).

Batal menjalankan sebuah git merge --abort. Menutup aplikasinya di tengah resolusi akan membuat Anda ditawari, pada peluncuran berikutnya, untuk membatalkan penggabungannya.

Restorm secara berkala memeriksa apakah ada versi yang lebih baru — tanpa pernah menggabungkannya sendiri. Ada tiga pemicunya: sebuah perubahan yang teramati di dalam .git, pembukaan sebuah file, dan sebuah pengatur waktu yang frekuensinya disetel di Pengaturan ▸ Git (Off, 15 mnt, 30 mnt, 1 j, 4 j, 12 j, 24 j).

Sebuah notifikasi “Pembaruan tersedia” kemudian menawarkan Pull now.

Jika filenya berubah di disk sejak dibuka, penyimpanannya ditolak dan Restorm meminta Anda untuk Memuat ulang atau Mempertahankan versi Anda.

Dua sifat formatnya, yang dijelaskan di Proyek dan file .restorm: urutan kunci yang kanonis, dan pengenal yang diturunkan secara stabil.

Konsekuensinya: membuka lalu menyimpan ulang tanpa mengubah apa pun tidak menghasilkan diff sama sekali, dan dua orang yang menambahkan permintaan yang sama di tempat yang sama menghasilkan entitas yang dapat dipasangkan oleh penggabungannya.

Git ▸ Riwayat membuka sebuah tampilan dua panel: daftar commit dengan saluran percabangannya, dan detailnya di sebelah kanan. Menu konteks sebuah commit memungkinkan Anda mengambil kembali versi tersebut.

Empat alat, di edisi Pro: git_commit_push (tahap 1 dari 2 — mengembalikan sebuah token tinjauan, judulnya, badannya, dan diffnya per entitas, tanpa menulis apa pun), git_confirm_push (tahap 2 dari 2 — ditolak jika proyeknya berubah sejak ditinjau), git_pull, dan git_resolve_conflicts.

Pemecahan menjadi dua tahap itu disengaja: sebuah agen tidak dapat melakukan push tanpa sebuah diff yang dipaparkan lebih dahulu.