我有一个我正在尝试处理的存储库。不幸的是,当我update
对其感兴趣的修订版本失败时会显示消息
abort: Illegal byte sequence: /Users/<user>/Projects/P/infusion16/Standings ? Kattis, Infusion Programming Contest 2016.pdf
当我使用--traceback
和--debug
选项运行更新时,会显示以下内容:
File "/Users/evgeniy.sharapov/.pyenv/versions/2.7.14/lib/python2.7/site-packages/mercurial/merge.py", line 1381, in batchget
atomictemp=atomictemp)
File "/Users/evgeniy.sharapov/.pyenv/versions/2.7.14/lib/python2.7/site-packages/mercurial/context.py", line 1969, in write
**kwargs)
File "/Users/evgeniy.sharapov/.pyenv/versions/2.7.14/lib/python2.7/site-packages/mercurial/localrepo.py", line 1115, in wwrite
**kwargs)
File "/Users/evgeniy.sharapov/.pyenv/versions/2.7.14/lib/python2.7/site-packages/mercurial/vfs.py", line 87, in write
with self(path, 'wb', backgroundclose=backgroundclose, **kwargs) as fp:
File "/Users/evgeniy.sharapov/.pyenv/versions/2.7.14/lib/python2.7/site-packages/mercurial/vfs.py", line 409, in __call__
fp = util.posixfile(f, mode)
IOError: [Errno 92] Illegal byte sequence: '/Users/<user>/Projects/Puzzles/infusion16/Standings \x96 Kattis, Infusion Programming Contest 2016.pdf'
abort: Illegal byte sequence: /Users/<user>/Projects/Puzzles/infusion16/Standings ? Kattis, Infusion Programming Contest 2016.pdf
看起来它有一些文件名不支持的字符?我检查环境,LC_CTYPE
和LANG
都设置为en_US.UTF-8
。
在这种情况下可以做些什么?我可能没有这个文件或重命名?另一个问题是update
中的失败发生在进程的中间,所以我没有工作目录中的所有文件。
答案 0 :(得分:0)
我首先运行hg man
以获取相关的PATHNAME,然后通过以下方式提取该文件的内容:hg cat PATHNAME
然后您可以尝试hg revert --all --exclude PATHNAME
提取其他所有内容(假设主机操作系统接受所有其他文件名)。