Re: [git] Re: git log -M -- filename is not working?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 08, 2010 at 03:08:53AM -0400, Eli Barzilay wrote:

> So I think that it would really help if (1) the diff options in the
> git-log man page move to after its own options, and (2) they appeared
> after a title saying that these are the diff options, (3) `--follow'
> moves up before the few preceding options that seem to me less
> important.  To clarify, I added a simple patch to the end of this
> message.  (`git-format-patch' has the same thing, but there it looks
> more sensible to leave it as is.)

I have no opinion on moving --follow around, but I definitely agree that
more clearly marking the diff-options (and including them after
revision traversal options) is much better.

> How about these options:
> 
>   git config log.follow if-single-file
>     makes it use --follow only when there's a single file path given,
>     ignoring it otherwise (with no confusion about it now)
> 
>   git config log.follow if-possible
>     makes it do the same, but might also do it for more cases if/when
>     they become available (so this is the "do the best you can"
>     option)
> 
>   git config log.follow true
>     invalid until it is always possible to use --follow

I'm not thrilled with it. It still leaves the confusing behavior, but
because we forced the user to pick the confusing behavior, we get to
claim it is their fault. So while we may be guilt-free, I'm not happy
with an option that produces such confusing behavior.

I really wonder if it would be that hard to just fix the code to follow
several files. It shouldn't be conceptually different. When any file
matching the pathspec we're following has a creation event going from
the parent to the commit in question, then we would do rename detection
for that file (and any others created in the same commit). Any detected
sources get added to the pathspec.

> diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
> index fb184ba..6bc7064 100644
> --- a/Documentation/git-log.txt
> +++ b/Documentation/git-log.txt
> @@ -24,7 +24,6 @@ OPTIONS
>  -------
>  
>  :git-log: 1
> -include::diff-options.txt[]

This ":git-log: 1" magic should probably follow the include. It sets up
an attribute for diff-options.txt to conditionally include some
log-specific bits.

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]