From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24658 invoked from network); 6 Apr 2009 13:20:50 -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=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; 6 Apr 2009 13:20:50 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 13979 invoked from network); 6 Apr 2009 13:20:36 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 6 Apr 2009 13:20:36 -0000 Received: (qmail 3689 invoked by alias); 6 Apr 2009 13:20:15 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 13998 Received: (qmail 3671 invoked from network); 6 Apr 2009 13:20:15 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 6 Apr 2009 13:20:15 -0000 Received: from kalahari.s2.org (s2.org [195.197.64.39]) by bifrost.dotsrc.org (Postfix) with ESMTPS id 5664882D4B6A for ; Mon, 6 Apr 2009 15:20:12 +0200 (CEST) Received: from azure by kalahari.s2.org with local (Exim 4.69) (envelope-from ) id 1LqokF-0007yS-Pi for zsh-users@sunsite.dk; Mon, 06 Apr 2009 16:20:11 +0300 From: Hannu Koivisto To: Zsh Users' List Subject: Git mergetool and gitk completion, performance Mail-copies-to: nobody Date: Mon, 06 Apr 2009 16:20:11 +0300 Message-ID: <83k55xyl4k.fsf@kalahari.s2.org> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/22.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: azure@iki.fi X-SA-Exim-Scanned: No (on kalahari.s2.org); SAEximRunCond expanded to false X-Virus-Scanned: ClamAV 0.92.1/9207/Mon Apr 6 13:58:21 2009 on bifrost X-Virus-Status: Clean Greetings, A few observations about using git via zsh. It seems that git mergetool completes all files. It would be nice if it completed only unmerged files. It also doesn't know about --prompt and -y/--no-prompt options. Also, there doesn't seem to be completion for gitk. That would be nice as well. Apparently it accepts the same options as git rev-list. However, it seems that git rev-list completion is not quite correct: git rev-list -- displays options such as --color and --relative= that don't seem to be valid options. And the final observation is performance. Generating completions for some commands takes quite a bit of time. For example, git diff - takes about 5s and git log about 3s in one repository. That's on a pretty fast machine but in Windows/Cygwin which certainly affects things but it still shouldn't take that long. Repository size seems to affect this quite a bit, which makes me wonder if the completion code blindly runs git ls-files or something similar, which lists files recursively. If that is the case, maybe one could use git ls-tree instead? I'm not that experienced with git so I'm just rambling here. I'm currently using _git from CVS with zsh 4.3.4. -- Hannu