From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29095 invoked by alias); 10 Dec 2010 11:55:01 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 28516 Received: (qmail 29779 invoked from network); 10 Dec 2010 11:54:59 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.google.com designates 209.85.216.178 as permitted sender) MIME-Version: 1.0 In-Reply-To: References: <87k4jhsx78.fsf@ft.bewatermyfriend.org> Date: Fri, 10 Dec 2010 12:54:54 +0100 Message-ID: Subject: Re: Git completion slowness From: =?UTF-8?Q?Thomas_Gst=C3=A4dtner?= To: Nikolai Weibull Cc: zsh-workers@zsh.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Fri, Dec 10, 2010 at 12:37, Nikolai Weibull wrote: > On Fri, Dec 10, 2010 at 12:07, Frank Terbeck wro= te: > >> We've heard people complaining about _git performance on IRC for a while >> now. I have started to rewrite the _git file related completions some >> time ago, but have since been swamped at work. So that has slowed down >> to a halt. >> >> I'll attach the code to this mail though; maybe it'll be useful to >> someone (search for "Git file listing helpers" to find the helper >> functions). It doesn't have a helper for pathspecs yet, which the >> git-checkout completion (and others) may need. >> >> Also, it's something I experimented with for only a short while. The >> completions did work for me in my limited set of use-cases - they are >> probably not perfect, yet. But they scaled well even on huge >> repositories with many *many* files (like the linux kernel's git >> repository). > >> Cc:ing Nikolai, too. > > I=E2=80=99ve been rewriting _git for a while now. =C2=A0I=E2=80=99ve upda= ted all the Main > Porcelain Commands. =C2=A0I=E2=80=99m currently stuck on something as uni= mportant > as git-config, but I want to get everything right and I=E2=80=99m doing i= t all > in man page order. =C2=A0I=E2=80=99ll hopefully have a delayed Christmas = gift for > you all at the beginning of 2011. =C2=A0I=E2=80=99ll take a look at your = changes > and integrate them if they are still applicable. > > My main problem right now is that I=E2=80=99m working off of the Debian Z= sh > Git repository where I don=E2=80=99t have write permissions. =C2=A0I=E2= =80=99d like to set > up a Zsh Git repository at GitHub so that I can more easily distribute > my changes, but I haven=E2=80=99t had time to look into setting this up. > Perhaps someone can explain how you set up a CVS-to-Git mirror on > GitHub? > That's easy. 1) create a project at github or any other git hoster and a plain git repository in this project. 2) create a local git repo with 'git init', use git-cvsimport to import the cvs repo into this git repo. 3) add the git hoster (i.e. github) as a remote in your git repo via 'git remote add' (or just copy'n'paste this from the hosters description). 4) push the imported cvs repo, which is now your git repo, to the remote. You can use git-cvsexportcommit to get it back into CVS. You can also use git-cvsimport to get your git-repo up-to-date, because I don't think there is a way that github itself can keep track of an external CVS repo. Hope this helps -- looking forward to the shiny new git-completion!