Comment intégrer org-mode/mercurial et perdre 5kg sans effort
Par Benjamin Drieu le lundi 4 avril 2011, 10:00 - Emacs - Lien permanent
Org-Mode c'est bien. Mercurial c'est bien. Mais les deux ensemble c'est encore mieux. Notamment parceque mercurial permet d'historiser son fichier .org et donc d'éviter de perdre des données. Et en plus, étant distribué, il permet de synchroniser des repositories mercurial
Ce qui serait pratique serait d'intégrer mercurial AVEC emacs. Heureusement, il y a mercurial.el. Mais ce qui serait encore mieux, c'est de l'interfacer façon loutre avec emacs, que tout soit fait automagiquement. Voici donc un bout de code qui répond à ce besoin :
(defun gtd () (interactive) (benj/org-hg-update) (find-file "~/.org/perso.org")) (load-library "mercurial") (defun benj/org-hg-commit () (interactive) (find-file "~/.org/") (hg-commit-start)) (defun benj/org-hg-auto-commit () (interactive) (save-window-excursion (find-file "~/.org/") (hg-run0 "commit" "-m" "Auto-commit upon emacs exit."))) (defun benj/org-hg-update () (interactive) (save-window-excursion (find-file "~/.org/") (hg-update))) (defun hg-update (&optional repo) "Update repository." (interactive) (hg-view-output ((format "Mercurial: update %s" (hg-abbrev-file-name (hg-root)) )) (call-process (hg-binary) nil t nil "update"))) (add-hook 'kill-emacs-hook 'benj/org-hg-auto-commit)
Et voilà, lors du démarrage d'emacs, un petit M-x gtd met à jour le mercurial et ouvre le fichier .org idoine. Et à la sortie, on commit le tout avec un message standard. Il est cependant possible de commiter avec un messsage personnalisé en executant (benj/org-hg-commit). Elle est pas belle la vie ?
PS: pour la perte de poids je n'ai pas encore trouvé de solution, par contre. /o\