Re: Optimizing writes to unchanged files during merges?
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Apr 12, 2018, 23:35 UTC
- Message-ID
- <CA+55aFxA9YVLoh_23V8Hi+X7ODEmqg-dhdAYZz1jbq5JhXqBFw@mail.gmail.com>
- In-Reply-To
- <xmqqtvsg10bu.fsf@gitster-ct.c.googlers.com>
On Thu, Apr 12, 2018 at 4:17 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 6 quoted lines
> > A bit of detour. "Change in side branch happened to be a subset of > the change in trunk and gets subsumed, but we end up writing the > same result" happens also with the simpler resolve strategy. > > Here is a fix.
Heh. Except git-merge-one-file.sh is *only* used for that case, so this doesn't fix the normal case.
I verified that the normal case situation is that "update_file_flags()" thing that checks out the end result.
It's called by this case:
} else if (a_oid && b_oid) {
/* Case C: Added in both (check for same permissions) and */
/* case D: Modified in both, but differently. */
clean_merge = merge_content(o, path,
o_oid, o_mode, a_oid,
a_mode, b_oid, b_mode,
NULL);in process_entry(), and I think we could just there add a test for if o_old,o_mod == a_oid,a_mode or something?
Linus