git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git-log combining different detail levels
@ 2012-08-22 19:25 Maaartin-1
  2012-08-22 20:04 ` Jeff King
  0 siblings, 1 reply; 2+ messages in thread
From: Maaartin-1 @ 2012-08-22 19:25 UTC (permalink / raw)
  To: git

Quite often I need to see some changes in more detail and others only briefly, so I get some idea about the context. For example I'd like something like merging the outputs of

git log -p -S Bandersnatch
and
git log --name-status --oneline

together, so I know better what happened.

A simpler (and maybe more important) example is merging

git log -p some/dir
and
git log --name-status

so I could see all the changes, and the chosen ones with all details.

Is this somehow possible?

Regards, Maaartin.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: git-log combining different detail levels
  2012-08-22 19:25 git-log combining different detail levels Maaartin-1
@ 2012-08-22 20:04 ` Jeff King
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff King @ 2012-08-22 20:04 UTC (permalink / raw)
  To: Maaartin-1; +Cc: git

On Wed, Aug 22, 2012 at 09:25:06PM +0200, Maaartin-1 wrote:

> Quite often I need to see some changes in more detail and others only
> briefly, so I get some idea about the context. For example I'd like
> something like merging the outputs of
> 
> git log -p -S Bandersnatch
> and
> git log --name-status --oneline
> 
> together, so I know better what happened.
> 
> A simpler (and maybe more important) example is merging
> 
> git log -p some/dir
> and
> git log --name-status
> 
> so I could see all the changes, and the chosen ones with all details.

No, I don't think this is possible. We have "--full-diff", which
disconnects the path-limiting from the diff generation, so that:

  git log --full-diff --name-status some/dir

would choose only commits for some/dir, but show the full diff of each
commit.

However, what you are asking is to disconnect the two diff options: one
verbose option only for interesting parts of the diff, and then a
more sparse option for the rest. I'm pretty sure the diff machinery does
not currently understand such an option.

It would not be impossible to implement, I think, but I suspect it would
involve refactoring the format selection in the diff code quite a bit.
In the meantime, one thing you can do is generate the full diff output
and then post-process it to collapse the uninteresting bits.  I haven't
tried, but you can probably do something like this using "folds" in your
editor (e.g., shrink all of the diff content for a file to a single
line, but then expand it on demand).

-Peff

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-08-22 20:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-22 19:25 git-log combining different detail levels Maaartin-1
2012-08-22 20:04 ` Jeff King

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).