diff options
| author | Jonas Bernoulli <jonas@bernoul.li> | 2026-03-30 22:31:57 +0200 |
|---|---|---|
| committer | Jonas Bernoulli <jonas@bernoul.li> | 2026-03-30 22:31:57 +0200 |
| commit | bef6bdc62fc0ffba77dd6a91baaf53bffcbcd5ad (patch) | |
| tree | 81da8cf675323746362a8a720e9d8651221635b4 /lisp/magit-git.el | |
| parent | 315d85c765afbce10b08c5c9164da64bc789197a (diff) | |
Support visiting anonymous blobs
I.e., support visiting a blob via its blob oid without
knowing a commit and tree path in which it can be found.
Diffstat (limited to 'lisp/magit-git.el')
| -rw-r--r-- | lisp/magit-git.el | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lisp/magit-git.el b/lisp/magit-git.el index 7a52a52..d8d9d83 100644 --- a/lisp/magit-git.el +++ b/lisp/magit-git.el @@ -1349,12 +1349,14 @@ Sorted from longest to shortest CYGWIN name." (magit-git-lines "ls-files" "--stage" "--" (magit-convert-filename-for-git file)))) -(defun magit--insert-blob-contents (rev file) +(defun magit--insert-blob-contents (obj file) (let ((coding-system-for-read (or coding-system-for-read 'undecided))) - (magit-git-insert "cat-file" "-p" - (if (equal rev "{index}") - (concat ":" file) - (concat rev ":" file))) + (if (magit-blob-p obj) + (magit-git-insert "cat-file" "blob" obj) + (magit-git-insert "cat-file" "-p" + (if (equal obj "{index}") + (concat ":" file) + (concat obj ":" file)))) (setq buffer-file-coding-system last-coding-system-used) nil)) |
