<< | < | 2004-06 | > | >> | ||
---|---|---|---|---|---|---|
Su | Mo | Tu | We | Th | Fr | Sa |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
(defun svn-dired-count-num ()
(let ((num 1))
#'(lambda () (if (= 1 num)
(prog1 ""
(setq num (1+ num)))
(prog1
(format nil "<~A>" num)
(setq num (1+ num)))))))
(defvar *svn-dired-buf-count* (svn-dired-count-num))
(defun svn-dired (&optional repo)
(interactive)
(let* ((repository (or repo (read-string "Repository: ")))
(buf (format nil "~A~A" *svn-dired-prefix* (funcall *svn-dired-buf-count*))))
(when (svn-dired-execute-svn-list repository buf)
(let ((lst (svn-dired-make-list-from-svnlist buf)))
...
...
...
svn-dired.lファイルの追加と、svn-diredモードの追加
*svn-output-buffer*バッファの*window-flag-line-number*、*window-flag-newline*、*window-flag-eof*変数をnilに
*svn-output-buffer*バッファを非表示に(バッファ名の先頭に空白を追加)
svn-with-set-optionマクロの修正
svnサブコマンドの出力先バッファの自動保存をしないように変更。それから保存する必要がないように変更
*svn-use-parse-sattus*がtの時のsvn statusコマンドの出力形式を少し変更
メニューにスイッチオプションを追加。それから階層メニュー化
*svn-repository-directory*変数をエクスポートしないようにした
*svn-window-conf*ローカル変数の削除
デバッグ用のmessage関数の取り外した
svn-toggle-verboseを新しく。svn.lからsvn-misc.lへ移動
*svn-verbose*変数の削除
*svn-mode-version*定数の書式を変更
svn-set-colorマクロの修正。apply関数は不必要だった模様
(defstruct node
(name "")
(type "")
(revision "")
(time "")
(author "")
(child ()))
#S(node name "xyzzy" type :DIR revision nil
time "Jun 6 9:10" author "lkpteam" child (
#S(node name "site-lisp" type :DIR revision nil
time "Jun 6 9:10" author "lkpteam" child (
#S(node name "release" type :DIR revision 2090
time "Jun 6 10:10" author "LKPTeam" child (nil))
#S(node name "trunk" type :DIR revision 10
time "Jun 6 12:10" author "LKPTeam" child (nil))))))
("ROOT" :dir 102 "Jun 6 9:00" "lkpt"
(("xyzzy" :dir 102 "Jun 6 9:00" "lkpt"
(("site-lisp" :dir 102 "Jun 6 9:00" "lkpt"
(("svn" :dir 102 "Jun 6 9:00" "lkpt"
(("trunk" :dir 102 "Jun 6 9:00" "lkpt"
(("svn.l" :file 100 "Jun 6 9:00" "lkpt")
("svn-misc.l" :file 102 "Jun 6 9:00" "lkpt")
("svn-parse.l" :file 100 "Jun 6 9:00" "lkpt")
("svn-dired.l" :file 102 "Jun 6 9:00" "lkpt")
("readme.txt" :file 98 "Jun 6 9:00" "lkpt")))
("release" :dir 100 "Jun 6 9:00" "lkpt"
(("0.0.0.1" :dir 23 "Jun 6 9:00" "lkpt"
(("svn.l" :file 23 "Jun 6 9:00" "lkpt")
("readme.txt" :file "Jun 6 9:00" "lkpt")))
("0.0.0.2" :dir 27 "Jun 6 9:00" "lkpt")
)))))))))))
(setq fs
'("ROOT"
(("xyzzy"
(("site-listp"
(("Svn"
(("trunk" (("svn.l") ("readme.txt")))
("release" (("0.0.0.1" (("svn.l") ("readme.txt")))
("0.0.0.2" (("svn.l") ("readme.txt")))
)))))))))))
(defun get-node (name node)
(interactive)
(let (result)
(labels ((get-node-1 (l n)
(if (string= l (car n))
(setq result n)
(dolist (i (car (last n)))
(if (not (listp (car (last i))))
(return))
(when (get-node-1 l i)
(return result))
))))
(get-node-1 name node))))
(get-node "release" fs)
=>("release" (("0.0.0.1" (("svn.l") ("readme.txt"))) ("0.0.0.2" (("svn.l") ("readme.txt")))))