Re: [tig] Feeding specific revisions to tig
- From
Jonas Fonseca <jonas.fonseca@gmail.com>
- Date
- Aug 10, 2008, 09:16 UTC
- Message-ID
- <2c6b72b30808100216j2c719bf2yb7dfba651db901e3@mail.gmail.com>
- In-Reply-To
- <20080808211916.GA30583@sigill.intra.peff.net>
On Fri, Aug 8, 2008 at 23:19, Jeff King <peff@peff.net> wrote:
Show 25 quoted lines
> On Wed, Aug 06, 2008 at 01:06:51PM +0200, Jonas Fonseca wrote:
>> I actually added something that let's you alter the command executed
>> for each view. So here is another possibility that can be used:
>>
>> function tignowalk ()
>> {
>> tmp=$(mktemp) # or .git/tigfiles or similar
>> # Safe stuff from "stdin" and run tig with custom rev-list command
>> cat > "$tmp
>> TIG_MAIN_CMD="git rev-list --pretty=raw --no-walk --stdin < $tmp"
>> tig < /dev/tty
>> rm "$tmp"
>> }
>
> Neat, if a bit hack-ish. :) You are missing a closing quotation mark
> after
>
> cat > "$tmp
>
> and the line break between TIG_MAIN_CMD and tig is obviously problematic
> (presumably an artifact of the email, but it confused my cut and paste
> efforts for a minute). One other thing to note is that even though you
> try to handle a $tmp with whitespace in the cat and rm commands, I
> suspect it would fail when tig hands TIG_MAIN_CMD to the shell. That
> would require double-quoting.Yes, this way to "hook" into tig is a bit hackish and gives some problems with handling files. But then again, it is hidden away in env. variables, which seems very effective in not getting it too exposed. :)
Show 9 quoted lines
> So here is my cut-and-pastable version:
>
> tignowalk() {
> tmp=$(mktemp)
> cat >"$tmp"
> TIG_MAIN_CMD="git rev-list --pretty=raw --no-walk --stdin <$tmp" \
> tig </dev/tty
> rm "$tmp"
> }Thanks for the fixed up version.
-- Jonas Fonseca