public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: "David Kågedal" <davidk@lysator•liu.se>
To: Alexandre Julliard <julliard@winehq•org>
Cc: git@vger•kernel.org
Subject: Re: [PATCH] git.el: Only show completions from refs/heads, refs/remotes and refs/tags
Date: Tue, 24 Feb 2009 16:40:54 +0100	[thread overview]
Message-ID: <871vtnvo55.fsf@krank.kagedal.org> (raw)
In-Reply-To: <87ocwrx527.fsf@wine.dyndns.org> (Alexandre Julliard's message of "Tue\, 24 Feb 2009 15\:50\:08 +0100")

Alexandre Julliard <julliard@winehq•org> writes:

> David Kågedal <davidk@lysator•liu.se> writes:
>
>> 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 <davidk@lysator•liu.se>
Subject: [PATCH] git.el: Only show completions from refs/heads

Signed-off-by: David Kågedal <davidk@lysator•liu.se>
---
 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

  reply	other threads:[~2009-02-24 15:42 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-24  8:32 [PATCH] git.el: Only show completions from refs/heads, refs/remotes and refs/tags David Kågedal
2009-02-24  8:39 ` David Kågedal
2009-02-24  8:42   ` David Kågedal
2009-02-24 14:50   ` Alexandre Julliard
2009-02-24 15:40     ` David Kågedal [this message]
2009-02-24 15:47       ` Alexandre Julliard
2009-02-24 15:57         ` David Kågedal
2009-02-24 16:06           ` Alexandre Julliard
2009-02-24 20:39             ` [PATCH] git.el: Only show completions from refs/heads David Kågedal
2009-03-01 16:56               ` Alexandre Julliard
2009-03-02  7:45                 ` David Kågedal
2009-03-03 14:48                   ` Alexandre Julliard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871vtnvo55.fsf@krank.kagedal.org \
    --to=davidk@lysator$(echo .)liu.se \
    --cc=git@vger$(echo .)kernel.org \
    --cc=julliard@winehq$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox