そのリポジトリがこちら
という感じ。
リポジトリの README は英語っぽい何かで書いたが、せっかくなのでそれと同じことをここ Qiita に日本語っぽい何かで書いておく。
ASCII 文字のファイル並び順調査
Windows と GitHub のファイル名における ASCII 文字の取り扱いを見てみる。
Windows
画像が縦長すぎるので縮小表示している。
クリックすれば別タブで原寸閲覧できるはず。
 
並び順
- 数字部分は数値として並び替えられる。
- 大文字・小文字は区別されない。
制約
- 頭と尻のスペースは削除される。
- 一部の記号が使えない。 "*/:<>?\|
Windows 10 Home 64-bit 22H2 にて確認。
実は他にも色々と制約があるが、ASCII 文字の並び順というテーマからは遠のくのでカットしている。
その辺は公式ドキュメントを見た方がずっと正確だろう。
GitHub
画像は invalid-on-Windows ブランチのもの。
やはり縦長すぎるので縮小表示している。クリックで原寸閲覧。
 
並び順
- 数字も含め、全てが ASCII 順に並ぶ。
制約
GitHub の "Create new file" で新規ファイル名を入力する際、
- 頭と尻のスペースは削除される。
- スラッシュ /が使えない。
- 
/以外の Windows で使えない記号、つまり"*:<>?\|は、こちらでは使える。
 しかし、リポジトリを Windows でクローンした場合に深刻なエラーを引き起こす恐れがある。error: invalid path ':a' error: invalid path '\a' error: unable to create file "a: Invalid argument error: unable to create file *a: Invalid argument error: unable to create file <a: Invalid argument error: unable to create file >a: Invalid argument error: unable to create file ?a: Invalid argument error: unable to create file |a: Invalid argument
Google Chrome 111.0 にて、2023 年 4 月 8 日確認。
なお、上記エラーはクローン時に --config core.protectNTFS=true とか --sparse とかのオプションで回避できる可能性が無くもない。
ただ、回避といっても「とりあえず他のファイルはチェックアウトできるようになる」程度のものであり、エラーの原因となったファイル自体は依然としてローカルに存在を許されないので、およそ根本解決と言えるものではなかろう。
他の OS
募集中。
聞きかじった限りだと、
- Mac では /と:が使えないらしい。
- Unix では改行 \nすら使えるらしい。
おまけ
ASCII コード一覧
まぁ、一応。
- 0x00~0x1F、0x7F (DEL)
- 制御文字
 
- 0x20~0x2F
- スペース、!、"、#、$、%、&、'、(、)、*、+、,、-、.、/
 
- スペース、
- 0x30~0x3F
- 0~9、:、;、<、=、>、?
 
- 0~9、
- 0x40~0x4F
- 
@、A~O
 
- 
- 0x50~0x5F
- P~Z、[、\、]、^、_
 
- P~Z、
- 0x60~0x6F
- 
`、a~o
 
- 
- 0x70~0x7E
- p~z、{、|、}、~
 
- p~z、
ツイートはこちら
おわり