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