Re: [tig] Feeding specific revisions to tig
- From
- Jean-Baptiste Quenot <jbq@caraldi.com>
- Date
- Jun 4, 2008, 20:04 UTC
- Message-ID
- <ae63f8b50806041304i20de789ej492681f4b9306934@mail.gmail.com>
- In-Reply-To
- <20080604192916.GB17327@sigill.intra.peff.net>
2008/6/4 Jeff King <peff@peff.net>:
Show 19 quoted lines
> On Wed, Jun 04, 2008 at 08:52:14PM +0200, Jean-Baptiste Quenot wrote: > >> Ideally I'd like to feed this list of commits to tig, so that I can >> watch the commit diff and summary easily and switch from one commit to >> another. But tig only behaves as a pager, and does not help for this. > > I think there are two issues here, but both are solvable: > > 1. You want to see _just_ these commits, but not the whole ancestry > chain. In that case, you want to use --no-walk. E.g.: > > tig --no-walk commit1 commit2 ... > > Though it seems there are a few display artifacts. If I do > > tig --no-walk tig-0.1 tig-0.2 > > I get the 2 commits I expect, but also two "extra" blank > commits at the bottom.
I confirm there are extra blank lines at the bottom. As many as real commit lines.
Show 5 quoted lines
> 2. tig works like a pager when stdin is not a tty. You can work > around this by using xargs to give the commits to it on the > command line, and then redirect stdin from the tty. > > ... | xargs sh -c 'tig --no-walk "$@" </dev/tty'
Thanks for the suggestion. However, my list of commits is too long, the shell errors out with "tig: command too long". I'd like to feed tig with a list of commits from stdin, or from a file.
Something like: ... | tig --no-walk -F -
Which means: take the list of revisions from specified file, or here - for stdin, a la grep.
Cheers,
-- Jean-Baptiste Quenot http://jbq.caraldi.com/