|
|
@@ -1,6 +1,6 @@ |
|
|
|
;;; emacs.el --- 10sr emacs initialization |
|
|
|
|
|
|
|
;; Time-stamp: <2018-10-18 15:11:27 JST 10sr> |
|
|
|
;; Time-stamp: <2018-10-18 16:35:55 JST 10sr> |
|
|
|
|
|
|
|
;;; Code: |
|
|
|
|
|
|
@@ -2517,7 +2517,6 @@ COMMITISH:PATH without checking it." |
|
|
|
"Return object id of COMMITISIH:PATH. |
|
|
|
If path is equal to \".\" return COMMITISH's tree object |
|
|
|
PATH will be always treated as relative to repository root." |
|
|
|
;; TODO: use --full-tree |
|
|
|
(cl-assert commitish) |
|
|
|
(cl-assert path) |
|
|
|
(if (string= path ".") |
|
|
@@ -2525,12 +2524,11 @@ PATH will be always treated as relative to repository root." |
|
|
|
"--no-patch" |
|
|
|
"--pretty=format:%T" |
|
|
|
commitish) |
|
|
|
(with-temp-buffer |
|
|
|
(cd (git-walktree--git-plumbing "rev-parse" "--show-toplevel")) |
|
|
|
(let ((info (git-walktree--parse-lstree-line (git-walktree--git-plumbing "ls-tree" |
|
|
|
commitish |
|
|
|
path)))) |
|
|
|
(plist-get info :object))))) |
|
|
|
(let ((info (git-walktree--parse-lstree-line (git-walktree--git-plumbing "ls-tree" |
|
|
|
"--full-tree" |
|
|
|
commitish |
|
|
|
path)))) |
|
|
|
(plist-get info :object)))) |
|
|
|
|
|
|
|
(defun git-walktree-open (commitish &optional path object) |
|
|
|
"Open git tree buffer of COMMITISH. |
|
|
@@ -2598,6 +2596,9 @@ Returns first line of output without newline." |
|
|
|
(defconst git-walktree-ls-tree-line-tree-regexp |
|
|
|
"^\\([0-9]\\{6\\}\\) \\(tree\\) \\([0-9a-f]+\\)\t\\(.*\\)$" |
|
|
|
"Regexp for tree line of output of git ls-tree.") |
|
|
|
(defconst git-walktree-ls-tree-line-commit-regexp |
|
|
|
"^\\([0-9]\\{6\\}\\) \\(commit\\) \\([0-9a-f]+\\)\t\\(.*\\)$" |
|
|
|
"Regexp for commit line of output of git ls-tree.") |
|
|
|
(defun git-walktree--parse-lstree-line (str) |
|
|
|
"Extract object info from STR. |
|
|
|
|
|
|
@@ -2715,11 +2716,15 @@ This function do nothing when current line is not ls-tree output." |
|
|
|
:group 'faces) |
|
|
|
|
|
|
|
(defface git-walktree-tree-face |
|
|
|
;; Same as dired-directory |
|
|
|
'((t (:inherit font-lock-function-name-face))) |
|
|
|
"Face used for tree objects." |
|
|
|
:group 'git-walktree-faces) |
|
|
|
(defvar git-walktree-tree-face 'git-walktree-tree-face |
|
|
|
"Face used for tree objects.") |
|
|
|
(defface git-walktree-commit-face |
|
|
|
;; Same as dired-symlink face |
|
|
|
'((t (:inherit font-lock-keyword-face))) |
|
|
|
"Face used for commit objects." |
|
|
|
:group 'git-walktree-faces) |
|
|
|
|
|
|
|
(defvar git-walktree-known-child-revisions (make-hash-table :test 'equal) |
|
|
|
"Hash of already known pair of commitid -> list of child commitid.") |
|
|
@@ -2850,6 +2855,10 @@ If current path was not found in the parent revision try to go up path." |
|
|
|
(2 'git-walktree-tree-face) |
|
|
|
(4 'git-walktree-tree-face) |
|
|
|
)) |
|
|
|
(,git-walktree-ls-tree-line-commit-regexp . ( |
|
|
|
(2 'git-walktree-commit-face) |
|
|
|
(4 'git-walktree-commit-face) |
|
|
|
)) |
|
|
|
) |
|
|
|
"Syntax highlighting for git-walktree mode.") |
|
|
|
|
|
|
|