From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6007 invoked from network); 24 Aug 2008 19:52:44 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 24 Aug 2008 19:52:44 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 82157 invoked from network); 24 Aug 2008 19:52:34 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 24 Aug 2008 19:52:34 -0000 Received: (qmail 4719 invoked by alias); 24 Aug 2008 19:52:28 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 25522 Received: (qmail 4701 invoked from network); 24 Aug 2008 19:52:26 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 24 Aug 2008 19:52:26 -0000 Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.190]) by bifrost.dotsrc.org (Postfix) with ESMTP id 8F4288030847 for ; Sun, 24 Aug 2008 21:52:21 +0200 (CEST) Received: by nf-out-0910.google.com with SMTP id g13so1034131nfb.11 for ; Sun, 24 Aug 2008 12:52:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=A3MDnyqc+qN3fDvi/pORg+UbPiA6Ea+MdgnV51YoLJc=; b=Uyb8DsCXQl7P0NptnKJ540Ffng2s1M/lnmms0CvGq+ByhdJr7GCXLpmnObdarZX53u YDwquvlzJ3qNMwWDveHDOrKEYGdWgTNr9Ssse+k/75TiD3YqDSr/R3vahOzVKi6bGLCD z8nK0CPRiTjcvl9VSU6vnpvjy1EYPq7NT9BnE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=YwjTBVFOGdRqa1UXXF5CyiltAQF9kmKZbKeqge5n5W4NId9kMlzBglf5i9VQ6NGwDR mKdvmiSUt6k22P3YOuArMzz+Yc/PnuqryJols3ceNQg5h+6O3FVq1w8vXPgwEBRhBBLY 8nuaORP4r7fRVQwdL18HRqZb++7hBqsLKMSWI= Received: by 10.210.80.2 with SMTP id d2mr5340735ebb.197.1219607541565; Sun, 24 Aug 2008 12:52:21 -0700 (PDT) Received: by 10.210.19.20 with HTTP; Sun, 24 Aug 2008 12:52:21 -0700 (PDT) Message-ID: <237967ef0808241252m3421cfa3p3863ea38a7112c57@mail.gmail.com> Date: Sun, 24 Aug 2008 21:52:21 +0200 From: "Mikael Magnusson" To: zsh-workers Subject: Re: _git: Update __git_merge_strategies to work with new git. In-Reply-To: <20080824194226.GA23589@scru.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <237967ef0808210443y542c4794v50c5ea0eb1a308f@mail.gmail.com> <20080821122947.GA4065@scru.org> <237967ef0808211319u42388b15w330c324e3f8043e@mail.gmail.com> <20080822103622.GA31581@scru.org> <237967ef0808220841x635d8180n7c1b46ab682c8869@mail.gmail.com> <20080824163658.GA20363@scru.org> <237967ef0808241140r20c09376wfcee421ac1db7e6b@mail.gmail.com> <20080824191244.GA23476@scru.org> <237967ef0808241216t5a8e3b3t17756e52e15e3628@mail.gmail.com> <20080824194226.GA23589@scru.org> X-Virus-Scanned: ClamAV 0.92.1/8082/Sun Aug 24 18:40:03 2008 on bifrost X-Virus-Status: Clean 2008/8/24 Clint Adams : > On Sun, Aug 24, 2008 at 09:16:13PM +0200, Mikael Magnusson wrote: >> The git-bundled bash completion doesn't exclude it at any rate. > > The other issue is that the git merge -s '' trick doesn't work outside > of git directories. > > So maybe this is the way to go. > > Index: Completion/Unix/Command/_git > =================================================================== > RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_git,v > retrieving revision 1.88 > diff -u -r1.88 _git > --- Completion/Unix/Command/_git 21 Aug 2008 12:25:26 -0000 1.88 > +++ Completion/Unix/Command/_git 24 Aug 2008 19:40:39 -0000 > @@ -4039,12 +4039,14 @@ > > (( $+functions[__git_merge_strategies] )) || > __git_merge_strategies () { > - declare -a merge_strategies_cache > + local expl > + local -a merge_strategies > > - merge_strategies_cache=(${${=${${(M)${(f)"$(<$(git --exec-path)/git-merge)"}:#all_strategies*}##all_strategies=\'}%%\'}:#recur}) > + if ! merge_strategies=(${=${${(M)${(f)"$(_call_program strategies git merge -s '' 2>&1)"}:#[Aa]vailable (custom )#strategies are: *}#[Aa]vailable (custom )#strategies are: }%.}); then > + merge_strategies=(${=${${(M)${(f)"$(<$(git --exec-path)/git-merge)"}:#all_strategies*}##all_strategies=\'}%%\'}) > + fi > > - local expl > - _wanted merge-strategies expl 'merge strategy' compadd - $merge_strategies_cache > + _wanted merge-strategies expl 'merge strategy' compadd -a merge_strategies "$@" > } > > # TODO: Use this in more places. git-merge is a binary in newer versions of git. -- Mikael Magnusson