Re: Detecting redundant commits
- From
David A. Greene <greened@obbligato.org>
- Date
- Jan 8, 2016, 03:14 UTC
- Message-ID
- <87d1tcyd81.fsf@waller.obbligato.org>
- In-Reply-To
- <49661552-EBD9-4F45-9F31-54B217AE3350@obbligato.org>
David Greene <greened@obbligato.org> writes:
Show 16 quoted lines
> On January 4, 2016 10:00:26 PM CST, Jeff King <peff@peff.net> wrote: > >>Or do you mean commits that, when applied, we find turn out to have >>empty changes (e.g., because we have a set of commits that have >>different patch-ids, but do roughly the same thing)? I don't think you >>can find that with a straight end-to-end diff. You have try to apply >>and then look at the result. I think we already catch that case (see >>--allow-empty), though I think the only options are "preserve" or >>"abort", not "silently skip" (and it sounds like the latter is what >>you would want). > > This. I see where --allow-empty is handled in prepare_to_commit but > it is not so easy to skip the commit at that point due to state > changes. I was trying to avoid going into commit at all by > determining ahead of time whether the commit would become empty. Any > ideas?
I ended up trying index_differs_from("HEAD", 0) and that actually seems to work. Unfortunately, it caused a regression and I'm having trouble figuring out why. The code should not even activate without a new option specified. If I get it working I'll send a patchset for comment. Point me another direction if I'm way off track. :)
-David