From: Taylor Blau <me@ttaylorr.com>
To: git@vger.kernel.org
Subject: [TOPIC 3/8] Merge ORT timeline
Date: Thu, 29 Sep 2022 15:20:19 -0400 [thread overview]
Message-ID: <YzXv80Lb+UUe37td@nand.local> (raw)
In-Reply-To: <YzXvMRc6X60kjVeY@nand.local>
# Merge ORT (Elijah)
- Git has multiple merge backends - default was "recursive", now
"merge-ort"
- When merge-ort was written, it was intended to be a replacement
- Would people be okay removing the old merge-recursive code? ORT was
meant as a drop-in replacement, but it does have some differences in
behavior
- If it is okay, what's the timeline?
- (Taylor): gradual guarded by config might be a good approach (e.g.,
"merge.recursiveIsORT")
- (Johannes): describing the differences in behavior
- Merge-ort rename detection is always on, but merge-recursive is
opt-in
- ORT uses histogram diffs (arguably more correct, matching unique
lines in diffs). Leads to (sometimes) merge conflicts where
merge-recursive didn't find it, but ort did. Still probably more
correct, though. Much more rarely, it's the opposite - recursive
found a conflict, ORT did not
- Conclusion: wait 2 major versions to deprecate
- (Taylor): maybe we should add "turn off rename detection" option
- (Johannes): should we even give users that option in the first place?
If they don't have it, they won't be as upset when we get rid of it ;)
- (Peff) how long has ort been the default? 2 versions. Now people have
recursive as a escape hatch. But we don't know if/when people use if.
Also recursive with find-renames is an escape hatch.
- (Emily): we know how often people are using escape hatches (at
Google), could take the same approach with this option
- (jrn): do we have other signals for how often this escape hatch is
used? Stack Overflow posts?
- No one's named it as a solution on the mailing list, though, so we
don't know from that medium
- Agree with Johannes, might be best to not give the option to users
because this way we have more chance of getting signal.
- (Peff): the mailing list isn't representative of the larger Git
community, so people bringing it up to the mailing list might not be
indicative of usage
- Leaving the hatch doesn't seem like it'd incur a huge maintenance
burden
- (Terry): some distros might have significant propagation delay, should
probably bake in extra time because of slow adoption
- (Ævar): I'm happy to follow your decision
- Some behavior difference, but it's working -better-
- At some point, we should be willing to say "if you need an old
feature, use an old version"
- Some observed differences might be libgit2 recursive vs. ORT, unclear
which ones though
- (Johannes): We can bake in a deprecation notice, like: if you see
something wrong, now is the time to bring it up! We'd rather fix it
now
- (Jeff): most users won't be bothered - they'll see a conflict and
resolve it, without thinking about which algorithm generated the
conflict
- (jrn): for most usage, this is a completely safe change. The
discussion comes up because of the fear that some user might have some
use of merge they regularly do that hangs, that kind of thing, rather
than the subtle merge resolution changes that we've discussed. I think
we're safe. :)
- (brian): observing something like Debian or other LTS versions of
projects - if there isn't a lot of screaming after a couple months,
it's probably safe. Even if you wait a decade, though, there'll
always be one or two who suddenly encounter issues with the new
feature after the old is long deprecated.
- (Ævar): haven't seen any huge warning in the merge docs saying we've
changed something, but with how many users are already using it, it's
likely very few people will ever notice
next prev parent reply other threads:[~2022-09-29 19:20 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-29 19:17 Notes from the Git Contributor's Summit, 2022 Taylor Blau
2022-09-29 19:19 ` [TOPIC 1/8] Bundle URIs Taylor Blau
2022-09-29 19:19 ` [TOPIC 2/8] State of SHA-256 transition Taylor Blau
2022-09-29 19:20 ` Taylor Blau [this message]
2022-09-29 19:20 ` [TOPIC 4/8] Commit `--filter`'s Taylor Blau
2022-09-29 19:21 ` [TOPIC 5/8] Server side merges and rebases Taylor Blau
2022-09-29 19:21 ` [TOPIC 6/8] State of sparsity work Taylor Blau
2022-09-29 19:21 ` [TOPIC 7/8] Speeding up the connectivity check Taylor Blau
2022-09-29 19:22 ` [TOPIC 8/8] Using Git securely in shared services Taylor Blau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YzXv80Lb+UUe37td@nand.local \
--to=me@ttaylorr.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).