* cdgit: cd relative to git workdir root
@ 2013-09-16 19:01 Thomas Koch
2013-09-16 19:25 ` Adam Spiers
[not found] ` <201309162101.14879.thomas-5j3myg3OO4w@public.gmane.org>
0 siblings, 2 replies; 3+ messages in thread
From: Thomas Koch @ 2013-09-16 19:01 UTC (permalink / raw)
To: git-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, vcs-home
Hi,
I frequently have the need to cd back to the root of the current git workdir
and created to alias for this:
git alias root = rev-parse --show-toplevel
shell alias cdgit = cd $(git root)
Maybe somebody likes this.
Now it would be cool, to have an alias to cd into a specific subdir of the git
worktree and have zsh (or bash) auto completion for this like
git clone git://git.kernel.org/pub/scm/git/git.git
cd git/gitweb/static/js/lib (just to be somewhere deep)
cdgit con<tab>/com<tab> (becomes: cdgit contrib/completion)
Somebody with zsh/bash skills who already did this?
Regards, Thomas Koch
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: cdgit: cd relative to git workdir root
2013-09-16 19:01 cdgit: cd relative to git workdir root Thomas Koch
@ 2013-09-16 19:25 ` Adam Spiers
[not found] ` <201309162101.14879.thomas-5j3myg3OO4w@public.gmane.org>
1 sibling, 0 replies; 3+ messages in thread
From: Adam Spiers @ 2013-09-16 19:25 UTC (permalink / raw)
To: Thomas Koch; +Cc: git@vger.kernel.org, vcs-home
On Mon, Sep 16, 2013 at 09:01:14PM +0200, Thomas Koch wrote:
> Hi,
>
> I frequently have the need to cd back to the root of the current git workdir
> and created to alias for this:
>
> git alias root = rev-parse --show-toplevel
>
> shell alias cdgit = cd $(git root)
>
> Maybe somebody likes this.
I do, and I was about to copy it into my own config when I discovered
that I'd already done this 4 years ago and totally forgotten about it :)
> Now it would be cool, to have an alias to cd into a specific subdir of the git
> worktree and have zsh (or bash) auto completion for this like
>
> git clone git://git.kernel.org/pub/scm/git/git.git
> cd git/gitweb/static/js/lib (just to be somewhere deep)
> cdgit con<tab>/com<tab> (becomes: cdgit contrib/completion)
>
> Somebody with zsh/bash skills who already did this?
I hadn't done this before today, but it's easy in zsh:
https://github.com/aspiers/git-config/commit/89df1d78
Of course, _gitcd needs to be somewhere on your $fpath so it can be
autoloaded.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: cdgit: cd relative to git workdir root
[not found] ` <201309162101.14879.thomas-5j3myg3OO4w@public.gmane.org>
@ 2013-09-17 5:33 ` martin f krafft
0 siblings, 0 replies; 3+ messages in thread
From: martin f krafft @ 2013-09-17 5:33 UTC (permalink / raw)
To: git-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, vcs-home
[-- Attachment #1.1: Type: text/plain, Size: 964 bytes --]
also sprach Thomas Koch <thomas-5j3myg3OO4w@public.gmane.org> [2013.09.16.2101 +0200]:
> shell alias cdgit = cd $(git root)
I've tried to make this happen many years ago, but I never finished
the ZLE widget that did it. The idea was to bind 'tab' to a function
that would replace an occurrence of ~g in $LBUFFER with the output
of rev-parse--show-toplevel and then delegate to normal tab
expansion.
So now I just have
hash -d g=$(git rev-parse --show-toplevel)
in a pre-prompt function and get the same effect.
fishbowl:~/code/salt|develop|debian% ls ~g/debi<tab>
--
martin | http://madduck.net/ | http://two.sentenc.es/
"i am not in favour of long engagements. they give people the
opportunity of finding out each other's character before marriage,
which i think is never advisable."
-- oscar wilde
spamtraps: madduck.bogus-JX/+c5DPh7vR7s880joybQ@public.gmane.org
[-- Attachment #1.2: Digital signature (see http://martin-krafft.net/gpg/sig-policy/999bbcc4/current) --]
[-- Type: application/pgp-signature, Size: 1124 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-09-17 5:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-16 19:01 cdgit: cd relative to git workdir root Thomas Koch
2013-09-16 19:25 ` Adam Spiers
[not found] ` <201309162101.14879.thomas-5j3myg3OO4w@public.gmane.org>
2013-09-17 5:33 ` martin f krafft
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).