Skip to content

Synchronisation Git ​

Ces outils pilotent le Git du système sur le dépôt du vault : lire son état, le synchroniser avec le distant, commiter, résoudre un vrai conflit. Initialiser le dépôt ou le connecter à un distant se fait dans l'application, pas ici.

mem_git_status n'écrit rien dans le vault. mem_git_sync, mem_git_commit et mem_git_resolve agissent sur le dépôt ; mem_git_commit et mem_git_resolve ne doivent être appelés qu'avec l'accord de l'utilisateur, comme le disent leurs descriptions.

Pour les demander en parlant à votre agent, voir Synchroniser la mémoire.

En pratique ​

Vous demandez à l’agent

« Où en est la synchronisation Git de ma mémoire ? Interroge le distant d'abord. »

→ L’agent appellemem_git_status
  • fetch = true
Vous demandez à l’agent

« Synchronise ma mémoire avec le distant. »

→ L’agent appellemem_git_sync
Vous demandez à l’agent

« Commite mes changements avec le message « notes de la session » et pousse. »

→ L’agent appellemem_git_commit
  • message = notes de la session

Les outils ​

mem_git_status ​

Rend l'état git du vault : branche, distant (sans identifiants), en avance / en retard sur la branche suivie, changements non commités comptés et listés, opération en cours, fichiers suivis portant des marqueurs de conflit, et l'état du greffon Obsidian Git. Sans réseau par défaut ; fetch: true interroge d'abord le distant. N'écrit rien dans le vault. Git introuvable n'est pas une erreur : l'état le dit, avec la commande d'installation.

Paramètre / ParameterTypeRequis / RequiredDescription (catalogue)
fetchbooleannon / noVrai : git fetch origin d'abord, pour que en avance / en retard soient à jour. Faux (défaut) : aucun réseau.

mem_git_sync ​

Synchronise le vault avec son distant : fetch, rebase des commits locaux si le distant a avancé, puis poussée. Jamais forcé, jamais d'autostash. Un conflit réel ANNULE le rebase (le dépôt revient à l'état d'avant, aucun marqueur n'est laissé) et rend les fichiers en cause — le résoudre est une tâche, voir la procédure mem-git. Refusé si des changements non commités empêchent le rebase. À appeler en début et en fin de session, et quand un compte rendu de synchronisation n'est pas synchronise.

Aucun paramètre. / No parameters.

mem_git_commit ​

Commite les changements non commités du vault — tous, ou les chemins donnés — avec le message fourni, puis pousse (par défaut). Refusé si un fichier à commiter porte des marqueurs de conflit. À n'appeler qu'avec l'accord explicite de l'utilisateur : ces changements sont les siens.

Paramètre / ParameterTypeRequis / RequiredDescription (catalogue)
allow_markersbooleannon / noVrai : un fichier qui CITE un marqueur de conflit (une note qui parle de git, un bloc de code) est accepté. Faux (défaut) : refusé.
messagestringoui / yesMessage de commit, non vide, 1 000 caractères au plus.
pathsarray<string>non / noChemins relatifs au vault à commiter. Absent : tous les changements.
pushbooleannon / noPousser après le commit (vrai par défaut).

mem_git_resolve ​

Résout un conflit git RÉEL entre ce poste et le distant, en deux temps. SANS resolutions : inspecte — fetch, prépare la fusion du distant, rend pour chaque fichier en conflit ses trois versions (base, local, distant) et une empreinte, puis annule : le dépôt ne change pas. AVEC resolutions et l'empreinte rendue : refait la même fusion, écrit le texte résolu de chaque fichier (aucun marqueur de conflit accepté ; content: null explicite supprime le fichier ; un fichier binaire ne se résout que par keep: local | distant), régénère les index dérivés, commite la fusion et pousse. Tout échec annule la fusion : aucun marqueur n'est jamais laissé. À n'employer qu'avec l'accord de l'utilisateur sur le texte fusionné. Voir la procédure mem-git.

Paramètre / ParameterTypeRequis / RequiredDescription (catalogue)
allow_markersbooleannon / noVrai : un texte résolu qui CITE un marqueur de conflit (une note qui parle de git) est accepté. Faux (défaut) : refusé.
fingerprintstringnon / noL'empreinte rendue par l'inspection. Obligatoire avec resolutions : si le dépôt ou le distant a bougé depuis, rien n'est fait.
resolutionsarray<object>non / noAbsent : inspecter. Présent : le texte résolu de CHAQUE fichier en conflit rendu par l'inspection (les index dérivés sont régénérés, ne pas les fournir).
resolutions[].contentstringnullnon / no
resolutions[].keepstringnon / noAu lieu de content : « local » ou « distant », garder ce côté tel quel, octet pour octet. Seul choix accepté pour un fichier binaire.
resolutions[].pathstringoui / yesChemin relatif au vault, tel que l'inspection l'a rendu.

Kessho · Mesure d’audience sans cookie, sur un serveur d’ArboRithm.