Rugged::Diff::Delta #new_file / #old_file method got a wrong encoded [:path] string
まだ誰も着手していません。
評価
調査の方向性
示されている非 ASCII パスを使い、Rugged::Diff::Delta#new_file と #old_file を通じて問題を再現します。Rugged Ruby bindings と libgit2 の境界でパス文字列がどのようにエンコードされるかを追跡します。これらのエントリーポイントが期待される Unicode パスを返し、回帰テストでそれらがカバーされれば完了です。
索引モデルが issue の本文から書いたものです。
説明
when I call new_file[:path] / old_file[:path] of Rugged::Diff::Delta, I got result as follow:
[{:path=>"test/.keep", :type=>"added"},
{:path=>"test/\xE4\xB8\xAD\xE6\x96\x87\xE5\x90\x8D\xE6\xB5\x8B\xE8\xAF\x95\xE4\xB8\x80.txt", :type=>"added"},
{:path=>"test/\xE4\xB8\xAD\xE6\x96\x87\xE5\x90\x8D\xE6\xB5\x8B\xE8\xAF\x95\xE4\xB8\x89.txt", :type=>"added"},
{:path=>"test/\xE4\xB8\xAD\xE6\x96\x87\xE5\x90\x8D\xE6\xB5\x8B\xE8\xAF\x95\xE4\xBA\x8C.txt", :type=>"added"},
{:path=>"\xE4\xB8\xAD\xE6\x96\x87. \xE5\x91\xBD\xE5\x90\x8D1.txt", :type=>"added"}]}
when I copy the path value to my console pry/irb, I got the right string
It seems to be an incorrectly decoded problem
[66] pry(main)> "test/\xE4\xB8\xAD\xE6\x96\x87\xE5\x90\x8D\xE6\xB5\x8B\xE8\xAF\x95\xE4\xB8\x80.txt"
=> "test/中文名测试一.txt"
[67] pry(main)> "test/\xE4\xB8\xAD\xE6\x96\x87\xE5\x90\x8D\xE6\xB5\x8B\xE8\xAF\x95\xE4\xB8\x89.txt"
=> "test/中文名测试三.txt"
[68] pry(main)> "test/\xE4\xB8\xAD\xE6\x96\x87\xE5\x90\x8D\xE6\xB5\x8B\xE8\xAF\x95\xE4\xBA\x8C.txt"
=> "test/中文名测试二.txt"
- 主要言語
- C
- スター
- 2.3k
- フォーク
- 293
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
libgit2/rugged のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
libsdl-org/SDL#16444 ·
メンテナーはふだん 1 日以内に返信
-
bug Component component: net
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
RT-Thread/rt-thread#11852 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
MiSTer-devel/ao486_MiSTer#243 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
siderolabs/pkgs#1710 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
qmk/qmk_firmware#26498 ·
メンテナーはふだん 1 日以内に返信