[Python-Dev] End of the mystery "@README.txt Mercurial bug"

Victor Stinner victor.stinner at gmail.com
Wed Jun 26 00:44:07 CEST 2013


Hi,

One month ago, unit tests were added to IDLE (cool!) with a file
called @README.txt. The @ was used to see the name on top in a listing
of the directory.

Some developers began to get strange Mercurial errors like:
"abort: data/Lib/idlelib/idle_test/@README.txt.i at 7573717b9e6f: no match"
" 83941: empty or missing Lib/idlelib/idle_test/@README.txt "
etc.

Senthil reported the issue on python-committers mailing list:
http://mail.python.org/pipermail/python-committers/2013-May/002565.html

The @ character was discussed. Replacing it with "_" was proposed.
Guido asked to simply rename the name "README.txt", he wrote:

"I think we have a zen rule about this: Special cases aren't special
enough to break the rules."

Senthil was asked to upgrade its Mercurial version. Someone supposed
that it is a disk issue. Anyway, the issue disappeared with a fresh
clone.

I also had the issue on 3 different computers, and so I reported the
issue upstream:
http://bz.selenic.com/show_bug.cgi?id=3954

I discussed with a Mercurial developer, Matt, on IRC. He asked how the
server is managed, if we are using only one physical server, if
repositories are copied with rsync, etc. I was unable to answer, I
don't have access to hg.python.org server.

The issue was closed, but 20 days later (today) I reproduced the issue again.

I cloned the repository at a specific revision, tried to update to
another specific revision: no bug.

I also played with with hg bisect, because I suspected a bug in bisect: no bug.

I tried to update at each revision between 83900 and 84348 to check if
@README.txt disappears from .hg/store: still no bug.

I also ran fsck: no error (but the disk is mounted, so I don't know if
the report is reliable).

And then I ran "make distclean"...

Victor


More information about the Python-Dev mailing list