日記はScrapboxに移動しました。

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/

1 comment

Leave a Reply

Your email address will not be published. Required fields are marked *