現時点では msysgit 推奨。
win8:test01% git pull
11 [main] git 3756 fhandler_disk_file::fixup_mmap_after_fork: requested 0xFFEA0000 != 0x0 mem alloc base 0xFFEA0000, state 0x1000, size 20480, Win32 error 487
679 [main] git 3756 C:\cygwin\lib\git-core\git.exe: *** fatal error in forked process - recreate_mmaps_after_fork_failed
1404 [main] git 3756 open_stackdumpfile: Dumping stack trace to git.exe.stackdump
4 [main] git 1528 fork: child -1 - forked process 3756 died unexpectedly, retry 0, exit code 256, errno 11
error: cannot fork() for ssh: Resource temporarily unavailable
fatal: unable to fork
こんな感じで失敗する。 http://permalink.gmane.org/gmane.os.cygwin.devel/489 等を見ると、Windows 8 特有の現象のようにも感じられるが原因特定には至らなかった。
Cygwin版を使いたかったのは、 Subversion と連携するための git svn コマンドを利用する場合は、若干 cygwin版の方が依存している perl が新しく、Subversionリポジトリアクセス時に証明書認証をする際に嬉しかった、というのが過去の経緯。
現在中央リポジトリを Git 化しつつあり、日本語ファイル名の問題も今年春に解決したこともあるので、Git 中心の生活をするなら msys 版の方が安定しているようだ。
(GitHub for Windows も少し試したが、これはこれで癖が強い。また、少し触った範囲では日本語ファイル名の問題が解決されていないように見えたためアンインストールしてしまった。)
Windows環境、ということでは今後 Git Powershell cmdlets が提供されるような未来があるのだろうか?
# 追記
途中 rebaseall は実施しましたが、解決しませんでした http://superuser.com/questions/194529/cygwin-fatal-error-unable-to-remap-what-does-it-mean
直接は関係ないが、Windows向け開発で使う前提なら git config core.filemode false をしておくと幸せになれる。 http://stackoverflow.com/questions/1257592/removing-files-saying-old-mode-100755-new-mode-100644-from-unstaged-changes-in ついでに改行コードの自動変換を抑制する autocrlf false もある方がどちらかというと不測のファイル変換がなくなって嬉しいが、インストール後の既定の状態が autocrlf true であり、全員に徹底するのは困難なところが悩ましい。自動変換にまつわる問題は CSVの頃からあり、昔と同様ファイル拡張子を利用してバイナリであることを指定する、のでいいのかもしれない。
gitではないですが、当方もwin8 x64+cygwinにてgcc-4ビルドで同様の
fhandler_disk_file::fixup_mmap_after_forkエラーが出まくります。
win7 x64では正常に動いていたのでwin8特有の問題な気がします。
nanasiさん同様、Win8 Pro. 64[bit] + gcc4.7.2 のビルドを試したら、冒頭で ↓ のエラーを吐いて失敗終了しました。
fhandler_disk_file::fixup_mmap_after_fork: requested 0xFFEA0000 != 0x0 mem alloc base 0xFFEA0000, state 0x1000, size 20480, Win32 error 487
Win7 Pro. 64[bit] では ↑ が起きませんでした。
私も、win8 x64で同じ症状に悩まされていましたが、さきほど、 1.7.17-1. を入れて、rebaseall したら、fhandler_disk_file::fixup_mmap_after_fork が出なくなりました。
お試しください。
これはいいですね! 確認してみます
fhandler_disk_file::fixup_mmap_after_fork を起こすコマンドの直前にexport LANG=C をやっただけで、症状が治まりました。
nanashi2 さn、ありがとー。助かりましたー
[…] ということでぐぐったけど以下の様な難しそうな内容しか出てこない。 https://kamiyn.wordpress.com/2012/10/18/windows8-%E4%B8%8A%E3%81%A7-cygwin-%E7%89%88%E3%81%AE-git-%E3… もう、よくわかんないから、しばらくWindows8は、msysgit使おうかな。 […]