git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] vc-git: support asynchronous annotations, and improve versioning.

From
David Kastrup <dak@gnu.org>
Date
Jul 15, 2007, 23:53 UTC
Message-ID
<cfa5ed80635135dd7544f2b4c6df521a4353e90d.1184548803.git.dak@gnu.org>
In-Reply-To
<403842ba71506c7b194812cd9a4f669c847eb7bc.1184548803.git.dak@gnu.org>

(vc-git-symbolic-commit): Allow nil to pass through. (vc-git-previous-version): Use explicit parent argument. (vc-git-next-version): Simplify. (vc-git-annotate-command): Use `vc-do-command'. (vc-git-annotate-extract-revision-at-line): Rename from `vc-annotate-extract-revision-at-line'. (vc-git-checkout): Make nicer way of ensuring encoding.

Signed-off-by: David Kastrup <dak@gnu.org>
---
 contrib/emacs/vc-git.el |   21 ++++++++++-----------
 1 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/contrib/emacs/vc-git.el b/contrib/emacs/vc-git.el
index 2a0a0fe..d7ad314 100644
--- a/contrib/emacs/vc-git.el
+++ b/contrib/emacs/vc-git.el
@@ -173,23 +173,22 @@ Returns nil if not possible."
       (let ((fullname (substring
                        (vc-git--run-command-string file "ls-files" "-z" "--full-name" "--")
                        0 -1))
-            (coding-system-for-read 'no-conversion)
-            coding-system-for-write)
+            (coding-system-for-read 'no-conversion))
         (with-temp-file destfile
-	  (prog1
-	      (eq 0 (call-process "git" nil t nil "cat-file" "blob"
-				  (concat (or rev "HEAD") ":" fullname)))
-	    (setq coding-system-for-write 'no-conversion))))
+	  (setq buffer-file-coding-system 'no-conversion)
+	  (eq 0 (call-process "git" nil t nil "cat-file" "blob"
+			      (concat (or rev "HEAD") ":" fullname)))))
     (vc-git--run-command file "checkout" (or rev "HEAD"))))
 
 (defun vc-git-annotate-command (file buffer &optional version)
   "Execute \"git blame\" on FILE, inserting the contents in BUFFER.
 Optional arg VERSION is a version to annotate from."
-  (vc-do-command buffer
-		 'async
-		 "git" file "blame"
-		 (or version "HEAD")
-		 "--"))
+  (let ((coding-system-for-read git-commits-coding-system))
+    (vc-do-command buffer
+		   'async
+		   "git" file "blame"
+		   (or version "HEAD")
+		   "--")))
 
 ;;(defun vc-git-annotate-command (file buf &optional rev)
 ;;  (let ((name (file-relative-name file)))
-- 
1.4.4.2
Previous: David KastrupNext: Junio C Hamano
Message 6 of 12 in “contrib/emacs/vc-git.el: various improvements.”
  1. contrib/emacs/vc-git.el: various improvements.David Kastrup, Jul 16, 2007
  2. contrib/emacs/Makefile: Also install .el files.David Kastrup, Jul 15, 2007
  3. David KastrupJul 16, 2007
  4. Junio C HamanoJul 16, 2007
  5. Make several improvements and get annotations to work (Emacs support pending).David Kastrup, Jul 15, 2007
  6. vc-git: support asynchronous annotations, and improve versioning.David Kastrup, Jul 15, 2007
  7. Junio C HamanoJul 16, 2007
  8. David KastrupJul 16, 2007
  9. Junio C HamanoJul 16, 2007
  10. (vc-git-annotate-command): Make synchronous for now.David Kastrup, Jul 16, 2007
  11. Junio C HamanoJul 16, 2007
  12. David KastrupJul 16, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.