Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

UnicodeDecodeError: 'charmap' codec can't decode byte 0x98

オープン
#4 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
git, python
領域
cli, devtools

調査の方向性

0001-add-file.patch、0002-some-changes-1.patch、0003-some-changes-2.patch を適用し、その後 git-explode master^ master を実行して失敗を再現します。subprocess.check_output が呼び出されている git_deps/detector.py の blame_hunk から始めます。コマンドが、報告されたロシア語文字を含むリポジトリを UnicodeDecodeError を発生させずに処理できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

I can't run your extension. As I understand it doesn't work with russian letters. I got an error:

$ git-explode master^ master
Traceback (most recent call last):
File "C:/Users/zyrianovdv/AppData/Local/Programs/Python/Python36-32/Scripts/git-explode", line 10, in
sys.exit(run())
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\site-packages\git_explode\cli.py", line 68, in run
main(sys.argv[1:])
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\site-packages\git_explode\cli.py", line 64, in main
exploder.run()
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\site-packages\git_explode\exploder.py", line 39, in run
commits, deps_from, deps_on = self.get_dependencies()
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\site-packages\git_explode\exploder.py", line 67, in get_dependencies
detector.find_dependencies(rev)
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\site-packages\git_deps\detector.py", line 122, in find_dependencies
self.find_dependencies_with_parent(dependent, parent)
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\site-packages\git_deps\detector.py", line 147, in find_dependencies_with_parent
self.blame_hunk(dependent, parent, path, hunk)
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\site-packages\git_deps\detector.py", line 172, in blame_hunk
blame = subprocess.check_output(cmd, universal_newlines=True)
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\subprocess.py", line 336, in check_output
**kwargs).stdout
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\subprocess.py", line 405, in run
stdout, stderr = process.communicate(input, timeout=timeout)
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\subprocess.py", line 830, in communicate
stdout = self.stdout.read()
File "C:\users\zyrianovdv\appdata\local\programs\python\python36-32\lib\encodings\cp1251.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 348: character maps to

I created simple repository for reproduction my case. You need apply patches: 0001-add-file.patch, 0002-some-changes-1.patch, 0003-some-changes-2.patch and then git-explode master^ master for reproduction.
patches.zip

主要言語
Python
スター
60
フォーク
3
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

aspiers/git-explode のほかの issue

aspiers/git-explode の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。