Μετάβαση στο περιεχόμενο

Ενσωματωμένο git

Ένα έργο Restorm είναι φτιαγμένο για να ζει μέσα σε ένα αποθετήριο git. Η ενσωμάτωση πηγαίνει πιο μακριά από ένα απλό git commit: κατανοεί τη μορφή και ξέρει να επιλύει μια σύγκρουση στο επίπεδο των επιχειρησιακών οντοτήτων, όχι των γραμμών YAML.

Δεν υπάρχει τίποτα να ρυθμίσετε. Μόλις το ανοιχτό αρχείο .restorm βρεθεί μέσα σε ένα αποθετήριο git, οι επιφάνειες git ενεργοποιούνται.

Το Restorm χρησιμοποιεί το τοπικό σας git: κανένα διαπιστευτήριο προς εισαγωγή, καμία διαχείριση token μέσα στην εφαρμογή. Ο κανόνας είναι απλός — αν το git push λειτουργεί στο τερματικό σας, λειτουργεί και στο Restorm. Το git εκκινείται με τις προτροπές απενεργοποιημένες: ένα αποθετήριο που θα ζητούσε κωδικό πρόσβασης αποτυγχάνει αμέσως με το μήνυμα του git, αντί να μπλοκάρει τη διεπαφή.

Το κελί GIT της γραμμής κατάστασης

Section titled “Το κελί GIT της γραμμής κατάστασης”

Δύο κουμπιά, Αποστολή και Λήψη, καθένα από τα οποία φέρει μια κουκκίδα (μια τελεία, ποτέ αριθμό) όταν υπάρχει κάτι προς αποστολή ή μια πιο πρόσφατη έκδοση προς λήψη.

Το μενού Git της γραμμής τίτλου προσφέρει τις ίδιες ενέργειες, συν Ανανέωση, Επαναφορά στην έκδοση του διακομιστή και Ιστορικό.

Το κελί GIT της γραμμής κατάστασης: Ανανέωση, Αποστολή και Λήψη, με τα δύο τελευταία να φέρουν κουκκίδα, και έπειτα Ιστορικό. Η επεξήγηση «Αποστολή στο αποθετήριο» είναι ανοιχτή.

Το παράθυρο διαλόγου του push εμφανίζει ένα ήδη συνταγμένο μήνυμα commit, που παράγεται ντετερμινιστικά από τη δομική διαφορά — χωρίς γλωσσικό μοντέλο. Μία γραμμή ανά τροποποιημένη οντότητα (αίτημα, σενάριο, φάκελος, φάκελος μεταβλητών), ποτέ μία γραμμή ανά πεδίο.

  • Ένας επιλογέας γλώσσας του μηνύματος, ανεξάρτητος από τη γλώσσα της διεπαφής, με έναν διακόπτη για να τον κάνετε προεπιλεγμένη τιμή.
  • Ένας επεξεργάσιμος τίτλος, με ενδεικτικό μετρητή στους 72 χαρακτήρες.
  • Ένα σώμα πολλών γραμμών.

Η επικύρωση εκτελεί διαδοχικά: αποθήκευση, git add, commit, push.

Το Restorm αποθηκεύει πρώτα, και έπειτα ανακτά και συγχωνεύει.

Καθαρή συγχώνευση: το δέντρο και οι ανοιχτές καρτέλες ανανεώνονται επιτόπου.

Σύγκρουση: ανοίγει μια προβολή επίλυσης με τέσσερις πίνακες.

Η προβολή επίλυσης σύγκρουσης με τέσσερις πίνακες: η λίστα των συγκρούσεων αριστερά, η δική σας έκδοση, η έκδοση του διακομιστή — οι διευθύνσεις URL που αποκλίνουν πλαισιώνονται με κόκκινο — και ο πίνακας «Επιλυμένο» συμπληρωμένος αφού κρατήθηκε η δική σας έκδοση.

ΠίνακαςΠεριεχόμενο
Λίστα των συγκρούσεωνΟι οντότητες σε σύγκρουση
Η έκδοσή σαςΜόνο για ανάγνωση
Η έκδοσή τουςΜόνο για ανάγνωση
ΕπιλυμένοΕπεξεργάσιμο — αυτό είναι που θα γραφτεί

Το σημαντικό σημείο: κάθε πίνακας εμφανίζει την οντότητα μέσα στον πραγματικό της επεξεργαστή — ένα αίτημα HTTP μέσα στον επεξεργαστή HTTP, ένα σενάριο μέσα στον επεξεργαστή σεναρίων. Δεν επιλύετε δείκτες <<<<<<< μέσα σε YAML, συγκρίνετε δύο αιτήματα.

Ένα κουμπί «χρήση αυτής της έκδοσης» ανά πλευρά, και τα πεδία που αποκλίνουν επισημαίνονται με κόκκινο — όταν διαφέρει ένα μόνο πεδίο, ο πίνακας ανοίγει απευθείας στη σχετική καρτέλα.

Η τεκμηρίωση API ενός φακέλου μεταβλητών επιλύεται αυτόματα (υπερισχύει η πιο πρόσφατη έκδοση).

Η Ακύρωση εκτελεί ένα git merge --abort. Αν κλείσετε την εφαρμογή στη μέση μιας επίλυσης, στην επόμενη εκκίνηση σας προτείνεται να εγκαταλείψετε τη συγχώνευση.

Έλεγχος στο παρασκήνιο (ημι-pull)

Section titled “Έλεγχος στο παρασκήνιο (ημι-pull)”

Το Restorm ελέγχει περιοδικά αν υπάρχει πιο πρόσφατη έκδοση — χωρίς ποτέ να συγχωνεύει μόνο του. Τρεις πυροδότες: μια τροποποίηση που παρατηρείται στο .git, το άνοιγμα ενός αρχείου, και ένας χρονοδιακόπτης του οποίου η συχνότητα ρυθμίζεται στο Ρυθμίσεις ▸ Git (Off, 15 λεπτά, 30 λεπτά, 1 ώρα, 4 ώρες, 12 ώρες, 24 ώρες).

Μια ειδοποίηση «Διαθέσιμη ενημέρωση» προτείνει τότε Pull now.

Εξωτερική τροποποίηση του αρχείου

Section titled “Εξωτερική τροποποίηση του αρχείου”

Αν το αρχείο άλλαξε στον δίσκο από τότε που άνοιξε, η αποθήκευση απορρίπτεται και το Restorm σας ζητά να κάνετε Επαναφόρτωση ή να Κρατήσετε την έκδοσή σας.

Γιατί τα diff είναι ευανάγνωστα

Section titled “Γιατί τα diff είναι ευανάγνωστα”

Δύο ιδιότητες της μορφής, που περιγράφονται στο Έργα και αρχεία .restorm: μια κανονική σειρά κλειδιών και αναγνωριστικά που παράγονται με σταθερό τρόπο.

Συνέπεια: το άνοιγμα και η εκ νέου αποθήκευση χωρίς καμία αλλαγή δεν παράγει καμία διαφορά, και δύο άτομα που προσθέτουν το ίδιο αίτημα στο ίδιο σημείο παράγουν οντότητες που η συγχώνευση ξέρει να αντιστοιχίσει.

Το Git ▸ Ιστορικό ανοίγει μια προβολή δύο τμημάτων: τη λίστα των commit με μια υδρορροή κλάδων, και τη λεπτομέρεια στα δεξιά. Το μενού συμφραζομένων ενός commit επιτρέπει να ανακτήσετε αυτή την έκδοση.

Τέσσερα εργαλεία, στην έκδοση Pro: git_commit_push (βήμα 1 από 2 — επιστρέφει ένα token αναθεώρησης, τον τίτλο, το σώμα και τη διαφορά ανά οντότητα, χωρίς να γράψει τίποτα), git_confirm_push (βήμα 2 από 2 — απορρίπτεται αν το έργο άλλαξε από την αναθεώρηση), git_pull και git_resolve_conflicts.

Ο διαχωρισμός σε δύο βήματα είναι σκόπιμος: ένας πράκτορας δεν μπορεί να κάνει push χωρίς να έχει παρουσιαστεί πρώτα μια διαφορά.