Re: [PATCH 3/3] Make clear_commit_marks() clean harder

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

 



Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes:

>> > Don't care if objects have been parsed or not and don't stop when we
>> > reach a commit that is already clean -- its parents could be dirty.
>> 
>> There is something quite wrong with this patch.
>
> I always had the feeling that it was wrong to traverse not-yet-parsed 
> parents: How could a revision walk possibly come to a certain commit 
> without at least one continuous history of now-parsed objects?
>
> Also, AFAIK the revision walk sets flags for each commit it touched, and 
> we should not try to be smart-asses about the flags, but just unset these 
> flags.

The main points were made by Linus already.

Traversing is not needed -- not clearing not-yet-parsed is
obviously wrong.

> BTW some very quick tests showed that the clear_commit_marks() thing that 
> I sent to the list was much faster than traversing all objects (which was 
> in my original version).

I have a crude workaround pushed out last night but will be
replacing it with something less drastic.  I think the final
version should be what you had, perhaps minus not looking at the
parsed flag for unmarking purposes.


-
: 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]