Skip to content
Snippets Groups Projects
Commit 12f13b13f414 authored by Pierre-Yves David's avatar Pierre-Yves David :octopus:
Browse files

revlog: avoid possible collision between directory and temporary index

Since 6.4, we create a temporary index file to write the split data without
overwriting the inline version too early. However, the store encoding does not
prevent these new `.i.s` file to collide with a directory with the same name.
While the odds for such a collision to happens are fairly low, the collision
would prevent Mercurial from working.

The store encoding have a mitigation solution in place to prevent such
collisions from happening for `.i` and `.d` files, but not for other extensions.
We cannot update this encoding scheme to solve the issue since it would diverge
from older version of Mercurial.

Instead, we create an alternative directory tree dedicated to such files.
The use of the `.i` extension combined with store encoding will prevent
collisions there.
parent 978ffa09910b
No related branches found
No related tags found
2 merge requests!609merge stable into default,!598fix potential name colision between file and directory when spliting revlog
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment