This is an archive of the discontinued Mercurial Phabricator instance.

copies: stop attempt to avoid extra dict copies around branching
ClosedPublic

Authored by marmoute on Dec 15 2020, 4:07 AM.

Details

Summary

In the python code, we attempt to avoid unnecessary dict copies when gathering
copy information. However that logic is wobbly and I keep running into case
where independent branches affects each others.

With the current code we can't ensure we are the only "user" of dict when
dealing with merge.

This caused havoc in the next series on tests I am about to introduce.

So for now I am disabling the faulty optimisation. I believe we will need a
dedicated overlay to deal with the "copy on write logic" to have something
correct. I am also hoping to find time to build dedicated test case for this
category of problem instead of relying on side effect in other tests. However
for now I am focussing on another issue.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

marmoute created this revision.Dec 15 2020, 4:07 AM
baymax updated this revision to Diff 24371.Dec 17 2020, 4:03 PM

✅ refresh by Heptapod after a successful CI run (🐙 💚)

baymax updated this revision to Diff 24398.Dec 18 2020, 9:12 AM

✅ refresh by Heptapod after a successful CI run (🐙 💚)

baymax updated this revision to Diff 24405.Dec 18 2020, 9:31 AM

✅ refresh by Heptapod after a successful CI run (🐙 💚)

baymax updated this revision to Diff 24413.Dec 18 2020, 9:54 AM

✅ refresh by Heptapod after a successful CI run (🐙 💚)

baymax updated this revision to Diff 24451.Dec 21 2020, 3:00 AM

✅ refresh by Heptapod after a successful CI run (🐙 💚)

pulkit accepted this revision.Dec 28 2020, 3:13 AM
This revision is now accepted and ready to land.Dec 28 2020, 3:13 AM