All of lore.kernel.org
 help / color / mirror / Atom feed
* Question about git log --merge option
@ 2016-04-13 16:53 Andrey Hsiao
  2016-04-13 20:37 ` Junio C Hamano
  0 siblings, 1 reply; 3+ messages in thread
From: Andrey Hsiao @ 2016-04-13 16:53 UTC (permalink / raw)
  To: git

Dear list:

Just encountered the --merge option for git log.

In the man page, it has the following explanation:
- After a failed merge, show refs that touch files having a conflict
and don't exist on all heads to merge.

I tried this option and get below results:

1. For a failed merge (with conflicts), if the conflicted file does
not exist on either side of the merge, the --merge option will return
the log from the other side.

2. If the conflicted file exists on both sides of the merge, the
--merge option will return the latest change on either side. (i.e: git
log -1 -- conflict_file / git log -1 --merge -- conflict_file may
return different results, whichever changed the latest)

I'm not sure whether above behavior is the unexpected result (cannot
find detailed explanation for --merge option online).

Thanks

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

* Re: Question about git log --merge option
  2016-04-13 16:53 Question about git log --merge option Andrey Hsiao
@ 2016-04-13 20:37 ` Junio C Hamano
  2016-04-14  2:31   ` Andrey Hsiao
  0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2016-04-13 20:37 UTC (permalink / raw)
  To: Andrey Hsiao; +Cc: git

Andrey Hsiao <andreyhsiao@gmail.com> writes:

> Dear list:
>
> Just encountered the --merge option for git log.
>
> In the man page, it has the following explanation:
> - After a failed merge, show refs that touch files having a conflict
> and don't exist on all heads to merge.

	git log --merge [options] -- $paths

is roughly the same as

	git log [options] HEAD...MERGE_HEAD -- $paths'

where $paths' is $paths limited to those with conflicts.  You can
further think of that as a rough equivalent of

	git log [options] ^X HEAD MERGE_HEAD -- $paths'

where X is the merge base between the tips of these two branches:

    X---o---o---o---H
     \
      o---o---o---M

And the commits among these ('o's, H and M in the picture), the ones
that change any of the $paths' are shown.  If you further limit the
output (e.g. with -n<n>, or --since=<time>), you may not see all of
them, of course.

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

* Re: Question about git log --merge option
  2016-04-13 20:37 ` Junio C Hamano
@ 2016-04-14  2:31   ` Andrey Hsiao
  0 siblings, 0 replies; 3+ messages in thread
From: Andrey Hsiao @ 2016-04-14  2:31 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Thanks Junio, I understand the option's meaning now :)

On Thu, Apr 14, 2016 at 4:37 AM, Junio C Hamano <gitster@pobox.com> wrote:
> Andrey Hsiao <andreyhsiao@gmail.com> writes:
>
>> Dear list:
>>
>> Just encountered the --merge option for git log.
>>
>> In the man page, it has the following explanation:
>> - After a failed merge, show refs that touch files having a conflict
>> and don't exist on all heads to merge.
>
>         git log --merge [options] -- $paths
>
> is roughly the same as
>
>         git log [options] HEAD...MERGE_HEAD -- $paths'
>
> where $paths' is $paths limited to those with conflicts.  You can
> further think of that as a rough equivalent of
>
>         git log [options] ^X HEAD MERGE_HEAD -- $paths'
>
> where X is the merge base between the tips of these two branches:
>
>     X---o---o---o---H
>      \
>       o---o---o---M
>
> And the commits among these ('o's, H and M in the picture), the ones
> that change any of the $paths' are shown.  If you further limit the
> output (e.g. with -n<n>, or --since=<time>), you may not see all of
> them, of course.

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

end of thread, other threads:[~2016-04-14  2:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-13 16:53 Question about git log --merge option Andrey Hsiao
2016-04-13 20:37 ` Junio C Hamano
2016-04-14  2:31   ` Andrey Hsiao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.