Re: [PATCH] graph API: fix bug in graph_is_interesting()

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

 



On Tue, Aug 18, 2009 at 04:53:45PM -0700, Junio C Hamano wrote:
> Adam Simpkins <simpkins@xxxxxxxxxxxx> writes:
> 
> > -	return (commit->object.flags & (UNINTERESTING | TREESAME)) ? 0 : 1;
> > +	return simplify_commit(graph->revs, commit) == commit_show;
> 
> If you do this after revision.c finished the traversal (e.g. "limited"
> case), I think it should be Ok.
> 
> But calling simplify_commit() while the traversal is still in progress is
> asking for trouble.  I do not recall the details anymore but when I tried
> to make the "simplify-merges" algorithm incremental, I had seen funny
> breakage caused by calling simplify_commit() twice on the same commit.
> 
> I suspect that this change will break the primary traversal.

The --graph option always enables revs->topo_order, which in turn
enables revs->limited, so this should always be after limit_list() has
already been called.

However, it looks like the call to rewrite_parents() is the only
modifying operation in simplify_commit(), and all the rest can easily
be split out into a separate helper function.  I'll submit another
version of the patch that makes the non-modifying simplify_commit()
behavior available as a separate function.

-- 
Adam Simpkins
simpkins@xxxxxxxxxxxx
--
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]