* Path filtered history not maximally simplified
@ 2008-03-21 12:46 Johannes Sixt
2008-03-21 13:49 ` Johannes Sixt
0 siblings, 1 reply; 3+ messages in thread
From: Johannes Sixt @ 2008-03-21 12:46 UTC (permalink / raw)
To: Git Mailing List
While investigating a path-filtered history in gitk, I noticed a layout
like this:
--A---------M--4--N
\ / /
1--2--3-----5
There are no commits displayed on the upper line between A and M.
Shouldn't this have been simplified to:
4--N
/ /
--A--1--2--3--5
The gitk command used is simply:
$ gitk some/file
and if I run
$ git log some/file
then M is reported with two parents (so it's not gitk's fault). The above
is just the most recent part of the history; there's a lot more older
history, and it is non-trivial with numerous merges (in the complete
history). In particular, there _are_ commits on the upper branch between A
and M, but none of them touches some/file.
Do I need to adjust my expectations or does this look like a bug?
-- Hannes
PS: This is with 1.5.5.rc0.21.g740fd.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Path filtered history not maximally simplified
2008-03-21 12:46 Path filtered history not maximally simplified Johannes Sixt
@ 2008-03-21 13:49 ` Johannes Sixt
2008-03-22 19:52 ` Junio C Hamano
0 siblings, 1 reply; 3+ messages in thread
From: Johannes Sixt @ 2008-03-21 13:49 UTC (permalink / raw)
To: Git Mailing List
Johannes Sixt schrieb:
> While investigating a path-filtered history in gitk, I noticed a layout
> like this:
>
> --A---------M--4--N
> \ / /
> 1--2--3-----5
>
> There are no commits displayed on the upper line between A and M.
> Shouldn't this have been simplified to:
>
> 4--N
> / /
> --A--1--2--3--5
Ok, it turns out that M is an evil merge, i.e. the file in M is different
from both A and 3, but in such a way that it does not show up in a diff
--cc that has only 3 lines of context. In particular, one of the commits
1, 2, 3 added a single line at an isolated spot in the file, and I undid
that addition in the merge commit M.
Sorry for the noise.
-- Hannes
(So, *that's* why they are called "evil"!)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Path filtered history not maximally simplified
2008-03-21 13:49 ` Johannes Sixt
@ 2008-03-22 19:52 ` Junio C Hamano
0 siblings, 0 replies; 3+ messages in thread
From: Junio C Hamano @ 2008-03-22 19:52 UTC (permalink / raw)
To: Johannes Sixt; +Cc: Git Mailing List
Johannes Sixt <j.sixt@viscovery.net> writes:
> Ok, it turns out that M is an evil merge, i.e. the file in M is different
> from both A and 3, but in such a way that it does not show up in a diff
> --cc that has only 3 lines of context. In particular, one of the commits
> 1, 2, 3 added a single line at an isolated spot in the file, and I undid
> that addition in the merge commit M.
>
> Sorry for the noise.
>
> -- Hannes
>
> (So, *that's* why they are called "evil"!)
Just a nomenclature, but independent changes merged trivially cleanly are
"normal" merges, not evil.
Evil merges are the ones that actually change the result in such a way
that new lines in --cc output do not have _any_ counterpart in any of the
parents.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-03-22 19:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-21 12:46 Path filtered history not maximally simplified Johannes Sixt
2008-03-21 13:49 ` Johannes Sixt
2008-03-22 19:52 ` Junio C Hamano
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).