Processeur de documents de rédaction. #Pandoc
| archives | initialisation | 2024-12-06 22:19:45 | |
|---|---|---|---|
| docs | initialisation | 2024-12-06 22:19:45 | |
| scripts | initialisation | 2024-12-06 22:19:45 | |
| src | add proposition module | 2024-12-06 22:27:45 | |
| templates | initialisation | 2024-12-06 22:19:45 | |
| .gitignore | 184 B | initialisation | 2024-12-06 22:19:45 |
| .gitmodules | 117 B | admin: notes et ajustements pour modules | 2024-12-07 04:33:19 |
| LICENSE | 20.36 KB | initialisation | 2024-12-06 22:19:45 |
| README.md | 2.63 KB | admin: notes et ajustements pour modules | 2024-12-07 04:33:19 |
| makefile | 1.8 KB | initialisation | 2024-12-06 22:19:45 |
Ce dépôt contient les sources du processeur d'écriture des documents de rédaction scientifique de David Valentine. L'architecture globale est basée sur celle de https://git.loupbrun.ca/louis/lobrassard-net/, qui a l'immense gentillesse de partager son installation sous la licence CC-BY. Plusieurs modifications y sont toutefois appliquées pour répondre à des besoins particuliers.
Tant les tâches de rédaction que les tâches de développement sont suivies avec Git. Le dépôt applique un principe de séparation entre la production des contenus textuels et le développement technique du processeur. Les tâches de développement sont validées (commited) directement dans ce dépôt, tandis que l'historique de la rédaction évolue dans un système de modules prévu à cet effet.
Voir le Pro Git book pour de l'information sur les modules : https://git-scm.com/book/en/v2/Git-Tools-Submodules
$ git submodule add <chemin-vers-le-module> src/<nom-du-module>
$ git submodule update --remote src/<nom-du-module> ou fetch and merge manuel dans le module$ git add src/<nom-du-module>
$ git commit -m "update <nom-du-module> submodule"
Remarque : ne pas oublier d'indiquer, dans .gitmodules, la branche voulue pour l'update.
Info : https://stackoverflow.com/a/5814351/16839131
$ cd your_submodule
$ git checkout main
<hack,edit>
$ git commit ...
Pour merger avec les validations distantes :
après avoir checked out sur une branche du module (déjà fait supposément selon l'étape précédente), il faut $ cd ../../ && git submodule update --remote --rebase (ou merge).
Enfin, on peut git push directement dans le module pour partager le merge.
Sinon, on peut push en même temps que le dépôt principal :
d'abord $ git add your_submodule && git commit -m "Updated submodule.
Puis : $ git push --recurse-submodules=on-demand
Pour aller plus loin : foreach, etc.
Le dépôt distant du module n'est pas bare. Il s'y trouve donc une copie de travail et le push sera refusé par le dépôt distant.
Solutions possibles : https://www.slingacademy.com/article/solving-git-error-refusing-to-update-checked-out-branch/
La tactique du forçage ne fonctionne pas dans ce cas (raison incconnue). L'échange d'information entre le module et le dépôt distant s'effectue donc par l'entremise d'une branche distincte de main, puis sur le dépôt il s'agit de rebaser sur main.