Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] git.el: Only show completions from refs/heads, refs/remotes and refs/tags

From: David Kågedal <hidden>
Date: 2016-06-15 22:46:16
Subsystem: the rest · Maintainer: Linus Torvalds

Possibly related (same subject, not in this thread)

Alexandre Julliard [off-list ref] writes:
David Kågedal [off-list ref] writes:
quoted
Sorry, I didn't check this properly. I thought I was fixing inside the
git-checkout function, but this is git-read-commit-name which is used
in more than one place.

But for git-checkout, I would like to see a much shorter list of named
commits, namely those that can be called "branches". I'll come up with
a better patch.
I think it's reasonable to do this for the other uses of
git-read-commit-name too, so your original patch looks OK.
Actually, I'd like to go one step further. I'm only interested in
branches, and only in branches I can commit to. So only asking for
refs/heads seems the best solution.

And the default parameter to git-read-commit-name is never used, so I
removed it.

And completing-read works fine with an alist, so the mapcar isn't
nedded any more.

Here is an updated patch:

From: David Kågedal <redacted>
Subject: [PATCH] git.el: Only show completions from refs/heads

Signed-off-by: David Kågedal <redacted>
---
 contrib/emacs/git.el |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/contrib/emacs/git.el b/contrib/emacs/git.el
index feb229c..d4f8710 100644
--- a/contrib/emacs/git.el
+++ b/contrib/emacs/git.el
@@ -1385,11 +1385,9 @@ With a prefix arg, diff the marked files instead."
         (push (match-string 1) files)))
     files))
 
-(defun git-read-commit-name (prompt &optional default)
+(defun git-read-commit-name (prompt)
   "Ask for a commit name, with completion for local branch, remote branch and tag."
-  (completing-read prompt
-                   (list* "HEAD" "ORIG_HEAD" "FETCH_HEAD" (mapcar #'car (git-for-each-ref)))
-		   nil nil nil nil default))
+  (completing-read prompt (git-for-each-ref "refs/heads")))
 
 (defun git-checkout (branch &optional merge)
   "Checkout a branch, tag, or any commit.
-- 
1.6.2.rc1.21.gda6d



-- 
David Kågedal
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help