Emacs interface to Ditz issue tracking system
Ditz はとても素晴らしいと思います! - ¬¬日常日記で知った、コンソールベースのBTSであるところのDitzがいい感じだなーと思った。しかしやっぱり、せっかくだからEmacsから使いたいと思ったので、それっぽいのを書いてみた。
まあ色々と微妙なところもあるけど、使っていくうちに改善していければいいな。まだあんまり使ってないのでアレだけど、プロジェクトのソースツリーの中に使い勝手のいいTODOリストをつっこんでおくというのは、普通なようでいて、けっこういいかもしれんね。なにやるんだっけー、って時に、単なるTODOリストや作業ログファイルじゃなくて、コマンド一発でリストされたり、編集できたりするのはいい感じ。あと、ditz htmlコマンドを使えば、ditz Issue Trackerこんな感じでHTMLファイルも書き出せたりするので、これを見えるとこに置いておけばよい。
Ditz自体の使い方については上記の紹介エントリや、DitzのREADMEを見ていただくとして、以下にditz.elのREADMEをコピペしておきます。コンソールから使うのと、そんなに変わらないのけど、せっかくEmacsから使うようにしたので、ちょっと楽になるかも。
基本的には、ditz-todoを使いまくる。ditz-add/ditz-add-releaseでタスクを追加し、作業の進捗につれて、ditz-todoでリストアップしたissueやreleaseを、s(show), c(close), r(release)して消していく感じ。
ともあれ、GitHubで公開しているので、フィードバックいただけるとありがたいです(リポジトリのフォーク→pull requestとか、コミッタに登録しろ!とか)。
README for emacs-ditz ===================== * Description emacs-ditz provides ditz.el, Emacs interface to Ditz issue tracking system. You can get Ditz from http://ditz.rubyforge.org/. * Usage (1) Checkout from repository. $ git clone git://github.com/kentaro/emacs-ditz.git (2) Add the checkout directory into your load-path. (add-to-list 'load-path "/path/to/emacs-ditz") (3) Load dzit.el. (require 'ditz) (4) Set some variables as you like. ;; Path to the ditz command (default: "ditz") (setq ditz-program "/path/to/ditz") ;; If you don't want to always set issue dir when you run commands, ;; ditz.el provides automatic finding functionality. Add the ;; settings below: ;; Issue directory name (default: "bugs") (setq ditz-issue-directory "issues") ;; Enable automatic finding functionality. (setq ditz-find-issue-directory-automatically-flag t)) (5) Run M-x ditz-init to initialize your ditz issues. (6) Run M-x ditz-add-release to add a new release. (7) Run M-x ditz-add to add a new issue (8) M-x ditz-status, ditz-todo, ditz-log are useful for browsing your issues. (9) To change issues/releases' status: [1] Run M-x ditz-todo to list issues up. [2] Enter the keys below on underlined strings: - "s": ditz-show (Show issue's detail) - "e": ditz-edit (Edit issue's detail) - "a": ditz-assign (Assign/reassign issue to a release) - "c": ditz-close (Close issue) - "r": ditz-release (Mark release as done) - "g": ditz-reload (Reload status/todo/log buffer) - "q": ditz-close-buffer (Close ditz-mode buffer) (10) M-x ditz-html generates HTML files including all statuses. (11) For the usage of Ditz itself, see the document below: http://ditz.rubyforge.org/README.txt * AUTHOR Kentaro Kuribayashi http://kentarok.org/