From: Tzu-Jung Lee Date: Mon, 03 Oct 2011 17:19:35 GMT Subject: Re: Do we have a convenient way to refer to a specific commit in an already filtered rev-list? Message-ID: In-Reply-To: <20110927213517.GB5176@sigill.intra.peff.net> On Wed, Sep 28, 2011 at 5:35 AM, Jeff King wrote: > On Sun, Sep 25, 2011 at 12:46:20AM +0800, Tzu-Jung Lee wrote: > >> Do we have a convenient/symbolic way to refer  to a specific commit of >> an already filtered rev-list? For example, I'm interested in the >> commits with some constraints: >> >>     git log somepath --author=someone >> >> Without gui/tui tools, I have to frequently CUT & PASTE the commit-ID >> for further manipulation (show, cherry-pick, ...), and possibly repeat >> the parsing couple of times if I didn't save the output. I wonder if >> we have a convenient way to refer to the discrete commits? like >> HEAD~4, HEAD@{3} or something magic. > > Use the shell: > >  git rev-list --author=someone HEAD >saved-query >  git log --no-walk --stdin  git cherry-pick `cat saved-query` > > or even: > >  q=`git rev-list --author=someone HEAD` >  git log --no-walk $q >  git cherry-pick $q > > -Peff > Cool, this does record and replay. How about adding a command or teaching some existing one an option like --saved=, which put the saved-list to refs/saved/ ? And also teach the rev-list to parse or interpret the 'saved' refs differently. So we can have the following use case: git log branch_foo --author=some_one -S some_string --saved=cached_ref git log cached_ref git cherry-pick cached_ref~4 git format-patch cached_ref~6..cached_ref~2 I often have such use cases. not sure others would be benefited from such feature. Just asking for comment. :) Regards, Roy