heroku更新のためWinXPでgit環境構築(+msysgitとMinGWの共存設定)

既にOne Click InstallerでRuby 1.9.3p448を入れていますが、そこから全く手を付けていませんでした。
しかし…Macが壊れてしまったorzので、herokuの更新が出来ない。
でもファイルはサーバにあるので設定環境さえ作れば更新できる。
ということで、仕方なく手元にあるEeePCにgit環境を作ることにしました。
(ついでにPATHにC:\Ruby193\binを追記)

まずDevKitをインストール

(参考: Windows 8 に Rails 3.2.13 + Ruby 1.9.3 をインストールする - うっかりアジャイルの推進側に回っちゃった人の日記
http://rubyinstaller.org/downloads/

https://github.com/downloads/oneclick/rubyinstaller/DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
をインストールします。ZoneAlarmが反応してるので変なディレクトリに展開されてますが。

C:\temp\IswTmp\DwlRun>ruby dk.rb init
[INFO] found RubyInstaller v1.9.3 at C:/Ruby193

Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.

C:\temp\IswTmp\DwlRun>ruby dk.rb install
[INFO] Updating convenience notice gem override for 'C:/Ruby193'
[INFO] Installing 'C:/Ruby193/lib/ruby/site_ruby/devkit.rb'

msysgitをインストール

http://code.google.com/p/msysgit/downloads/list
からGit-1.8.4-preview20130916.exeをインストールします。
ここでMSYSとmsysgitの共存 - wagavulin's blogを参考に進めていきます。

  • インストール先:C:\Program Files\Git C:\MinGW\msys\1.0(ここを指定するとフォルダが無いのでエラーが出るが、フォルダを作ってくれているので、もう一度やると問題なし)
  • コンポーネント:初期設定のまま(additional iconsアンチェック、Windows Explorer integrationはAdvanced context menu選択、Associate .git* configuration files with the default text editorチェック、Associate .sh files to be run with Bashチェック、Use a TrueType font in all console windowsアンチェック)
  • PATH environment:初期設定の「Use Git Bash only」を選択(選択肢は「Use Git Bash only」「Run Git from the Windows Command Prompt」「Run Git and included Unix tools from the Windows Command Prompt」の3種類)
  • SSH実行環境:Use OpenSSHを選択(その他は「Use (Tortoise)Plink」)
  • 改行コード設定:ファイルはMacでも使うので「Checkout as-is, commit Unix-style line endings」を選択

(テキストファイルをcommitするときにCRLFをLFに変換)
以上でインストール開始。

MinGWをインストール

http://www.mingw.org/
の右上にあるDownload Installerからインストーラをダウンロード。
今回のバージョンは0.6.2-beta-20131004-1。

  • インストール先:C:\MinGW
  • ユーザインターフェイスオプション:CUIに加えてGUIツールもインストール、GUIツールはAll usersのスタートメニューcurrent userのスタートメニューにインストール*1、デスクトップは無し

この後にインストーラがインストールファイルをダウンロードする。

mingw-get: *** INFO *** setup: unpacking mingw-get-0.6.2-mingw32-beta-20131004-1-bin.tar.xz
mingw-get: *** INFO *** setup: unpacking mingw-get-0.6.2-mingw32-beta-20131004-1-gui.tar.xz
mingw-get: *** INFO *** setup: unpacking mingw-get-0.6.2-mingw32-beta-20131004-1-lic.tar.xz
mingw-get: *** INFO *** setup: unpacking mingw-get-setup-0.6.2-mingw32-beta-20131004-1-dll.tar.xz
mingw-get: *** INFO *** setup: unpacking mingw-get-setup-0.6.2-mingw32-beta-20131004-1-xml.tar.xz
mingw-get: *** INFO *** setup: updating installation database
mingw-get: *** INFO *** setup: register mingw-get-0.6.2-mingw32-beta-20131004-1-bin.tar.xz
mingw-get: *** INFO *** setup: register mingw-get-0.6.2-mingw32-beta-20131004-1-gui.tar.xz
mingw-get: *** INFO *** setup: register mingw-get-0.6.2-mingw32-beta-20131004-1-lic.tar.xz
mingw-get: *** INFO *** setup: installation database updated

Continueボタンで次へ。Installボタンを押すとMinGW Installation Manager(C:\MinGW\libexec\mingw-get\guimain.exe)が起動する。
左メニューのBasic Setupを選び、右上のmingw32-baseとmsys-baseを選択(Mark for Installation)してみる(参考サイトと違うのでよく分からないorz)。
InstallationプルダウンメニューからApply Changesを選択。Schedule of Pending ActionsでApplyボタンを押して実行。

52 new/upgrade packages will be installed

libgmp-5.1.2-1-mingw32-dll-10.tar
libmpfr-3.1.2-2-mingw32-dll-4.tar
libmpc-1.0.1-2-mingw32-dll-3.tar
libquadmath-4.8.1-4-mingw32-dll-0.tar
libgomp-4.8.1-4-mingw32-dll-1.tar
libssp-4.8.1-4-mingw32-dll-0.tar
libpthread-2.9.1-1-mingw32-dll-2.tar
libiconv-1.14-3-mingw32-dll-2.tar
libgcc-4.8.1-4-mingw32-dll-1.tar
libz-1.2.8-1-mingw32-dll-1.tar
binutils-2.23.2-1-mingw32-dev.tar.lzma
mingwrt-4.0.3-1-mingw32-dll.tar.lzma
w32api-4.0.3-1-mingw32-dev.tar.lzma
mingwrt-4.0.3-1-mingw32-dev.tar.lzma
binutils-2.23.2-1-mingw32-bin.tar.lzma
gcc-core-4.8.1-4-mingw32-dev.tar.lzma
libintl-0.18.3.1-1-mingw32-dll-8.tar
gdb-7.6.1-1-mingw32-bin.tar.lzma
make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma
gcc-core-4.8.1-4-mingw32-lic.tar.lzma
gcc-core-4.8.1-4-mingw32-bin.tar.lzma
mingw32-base-2013072200-mingw32-bin.meta
msysCORE-1.0.18-1-msys-1.0.18-lic.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-doc.tar.lzma
libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma
libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
make-3.81-3-msys-1.0.13-bin.tar.lzma
less-436-2-msys-1.0.13-bin.tar.lzma
texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma
tar-1.23-1-msys-1.0.13-bin.tar.lzma
sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
xz-5.0.3-1-msys-1.0.17-bin.tar.lzma
gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma
grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
libmagic-5.04-1-msys-1.0.13-dll-1.tar.lzma
file-5.04-1-msys-1.0.13-bin.tar.lzma
findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma
gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
dos2unix-6.0.3-1-msys-1.0.17-bin.tar.lzma
coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
zlib-1.2.7-1-msys-1.0.17-dll.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma
bash-3.1.17-4-msys-1.0.16-bin.tar.lzma
msys-base-2013072300-msys-bin.meta
install: libgmp-5.1.2-1-mingw32-dll-10.tar
 installing libgmp-5.1.2-1-mingw32-dll-10.tar
install: libmpfr-3.1.2-2-mingw32-dll-4.tar
 installing libmpfr-3.1.2-2-mingw32-dll-4.tar
install: libmpc-1.0.1-2-mingw32-dll-3.tar
 installing libmpc-1.0.1-2-mingw32-dll-3.tar
install: libquadmath-4.8.1-4-mingw32-dll-0.tar
 installing libquadmath-4.8.1-4-mingw32-dll-0.tar
install: libgomp-4.8.1-4-mingw32-dll-1.tar
 installing libgomp-4.8.1-4-mingw32-dll-1.tar
install: libssp-4.8.1-4-mingw32-dll-0.tar
 installing libssp-4.8.1-4-mingw32-dll-0.tar
install: libpthread-2.9.1-1-mingw32-dll-2.tar
 installing libpthread-2.9.1-1-mingw32-dll-2.tar
install: libiconv-1.14-3-mingw32-dll-2.tar
 installing libiconv-1.14-3-mingw32-dll-2.tar
install: libgcc-4.8.1-4-mingw32-dll-1.tar
 installing libgcc-4.8.1-4-mingw32-dll-1.tar
install: libz-1.2.8-1-mingw32-dll-1.tar
 installing libz-1.2.8-1-mingw32-dll-1.tar
install: binutils-2.23.2-1-mingw32-dev.tar.lzma
 installing binutils-2.23.2-1-mingw32-dev.tar.lzma
install: mingwrt-4.0.3-1-mingw32-dll.tar.lzma
 installing mingwrt-4.0.3-1-mingw32-dll.tar.lzma
install: w32api-4.0.3-1-mingw32-dev.tar.lzma
 installing w32api-4.0.3-1-mingw32-dev.tar.lzma
install: mingwrt-4.0.3-1-mingw32-dev.tar.lzma
 installing mingwrt-4.0.3-1-mingw32-dev.tar.lzma
install: binutils-2.23.2-1-mingw32-bin.tar.lzma
 installing binutils-2.23.2-1-mingw32-bin.tar.lzma
install: gcc-core-4.8.1-4-mingw32-dev.tar.lzma
 installing gcc-core-4.8.1-4-mingw32-dev.tar.lzma
install: libintl-0.18.3.1-1-mingw32-dll-8.tar
 installing libintl-0.18.3.1-1-mingw32-dll-8.tar
install: gdb-7.6.1-1-mingw32-bin.tar.lzma
 installing gdb-7.6.1-1-mingw32-bin.tar.lzma
install: make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma
 installing make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma
install: gcc-core-4.8.1-4-mingw32-lic.tar.lzma
 installing gcc-core-4.8.1-4-mingw32-lic.tar.lzma
install: gcc-core-4.8.1-4-mingw32-bin.tar.lzma
 installing gcc-core-4.8.1-4-mingw32-bin.tar.lzma
install: mingw32-base-2013072200-mingw32-bin.meta
 installing mingw32-base-2013072200-mingw32-bin.meta
install: msysCORE-1.0.18-1-msys-1.0.18-lic.tar.lzma
 installing msysCORE-1.0.18-1-msys-1.0.18-lic.tar.lzma
install: msysCORE-1.0.18-1-msys-1.0.18-doc.tar.lzma
 installing msysCORE-1.0.18-1-msys-1.0.18-doc.tar.lzma
install: libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
 installing libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
install: liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma
 installing liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma
install: libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
 installing libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
install: make-3.81-3-msys-1.0.13-bin.tar.lzma
 installing make-3.81-3-msys-1.0.13-bin.tar.lzma
install: less-436-2-msys-1.0.13-bin.tar.lzma
 installing less-436-2-msys-1.0.13-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/less.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/less.exe: probable package conflict; existing file not overwritten
install: texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma
 installing texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma
install: tar-1.23-1-msys-1.0.13-bin.tar.lzma
 installing tar-1.23-1-msys-1.0.13-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/tar.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/tar.exe: probable package conflict; existing file not overwritten
install: sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
 installing sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/sed.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/sed.exe: probable package conflict; existing file not overwritten
install: xz-5.0.3-1-msys-1.0.17-bin.tar.lzma
 installing xz-5.0.3-1-msys-1.0.17-bin.tar.lzma
install: gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma
 installing gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/gzip.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/gzip.exe: probable package conflict; existing file not overwritten
install: grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
 installing grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/grep.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/grep.exe: probable package conflict; existing file not overwritten
install: libmagic-5.04-1-msys-1.0.13-dll-1.tar.lzma
 installing libmagic-5.04-1-msys-1.0.13-dll-1.tar.lzma
install: file-5.04-1-msys-1.0.13-bin.tar.lzma
 installing file-5.04-1-msys-1.0.13-bin.tar.lzma
install: findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
 installing findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/find.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/find.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/xargs.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/xargs.exe: probable package conflict; existing file not overwritten
install: diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma
 installing diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/cmp.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/cmp.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/diff.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/diff.exe: probable package conflict; existing file not overwritten
install: gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
 installing gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/gawk.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/gawk.exe: probable package conflict; existing file not overwritten
install: dos2unix-6.0.3-1-msys-1.0.17-bin.tar.lzma
 installing dos2unix-6.0.3-1-msys-1.0.17-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/dos2unix.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/dos2unix.exe: probable package conflict; existing file not overwritten
install: coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
 installing coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/basename.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/basename.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/cat.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/cat.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/chmod.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/chmod.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/cp.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/cp.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/cut.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/cut.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/date.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/date.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/dirname.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/dirname.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/env.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/env.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/expr.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/expr.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/false.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/false.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/head.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/head.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/id.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/id.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/ln.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/ln.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/ls.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/ls.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/md5sum.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/md5sum.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/mkdir.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/mkdir.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/mv.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/mv.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/rm.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/rm.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/rmdir.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/rmdir.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/sleep.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/sleep.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/sort.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/sort.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/split.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/split.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/tail.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/tail.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/tee.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/tee.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/touch.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/touch.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/tr.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/tr.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/true.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/true.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/uname.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/uname.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/uniq.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/uniq.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/wc.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/wc.exe: probable package conflict; existing file not overwritten
install: zlib-1.2.7-1-msys-1.0.17-dll.tar.lzma
 installing zlib-1.2.7-1-msys-1.0.17-dll.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/msys-z.dll: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/msys-z.dll: probable package conflict; existing file not overwritten
install: msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
 installing msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/msys-1.0.dll: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/msys-1.0.dll: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/ps.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/ps.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/etc/profile: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/etc/profile: probable package conflict; existing file not overwritten
install: termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
 installing termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/etc/termcap: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/etc/termcap: probable package conflict; existing file not overwritten
install: libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
 installing libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/msys-regex-1.dll: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/msys-regex-1.dll: probable package conflict; existing file not overwritten
install: libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
 installing libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
install: libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma
 installing libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma
install: msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
 installing msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/start: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/start: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/which: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/which: probable package conflict; existing file not overwritten
install: bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma
 installing bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/bzip2.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/bzip2.exe: probable package conflict; existing file not overwritten
install: bash-3.1.17-4-msys-1.0.16-bin.tar.lzma
 installing bash-3.1.17-4-msys-1.0.16-bin.tar.lzma
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/bash.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/bash.exe: probable package conflict; existing file not overwritten
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/sh.exe: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/msys/1.0/bin/sh.exe: probable package conflict; existing file not overwritten
install: msys-base-2013072300-msys-bin.meta
 installing msys-base-2013072300-msys-bin.meta

かなりエラーが出てますが、先にmsysgitを入れたからだと思います。

PATHを通しておく
〜;C:\MinGW\msys\1.0\cmd;C:\MinGW\msys\1.0\bin;C:\MinGW\mingw32\bin;C:\MinGW\bin

を追記。再起動。

minttyをインストール

現在のmingw/msysのインストール方法 - ラシウラ
を参考にしてminttyをインストール。

>mingw-get update
 :
>mingw-get upgrade
 :
>mingw-get install msys-mintty
http://prdownloads.sourceforge.net/mingw/mintty-1.0.3-1-msys-1.0.17-bin.tar.lzma
?download
55.91 kB / 55.91 kB     |================================================| 100%
http://prdownloads.sourceforge.net/mingw/mintty-1.0.3-1-msys-1.0.17-doc.tar.lzma
?download
12.06 kB / 12.06 kB     |================================================| 100%
install: mintty-1.0.3-1-msys-1.0.17-bin.tar.lzma
 installing mintty-1.0.3-1-msys-1.0.17-bin.tar.lzma
install: mintty-1.0.3-1-msys-1.0.17-doc.tar.lzma
 installing mintty-1.0.3-1-msys-1.0.17-doc.tar.lzma

minttyの起動ショートカットをスタートメニューに登録

MinGWインストールの際になぜか「MinGW shell」のショートカットがスタートメニューに登録されていなかったので

C:\MinGW\msys\1.0\msys.bat

のショートカットをスタートメニューにまず登録。
そのあとに以下のように変更。

  • ショートカットタブの「リンク先」を「C:\MinGW\msys\1.0\msys.bat --mintty」に変更。さらに作業フォルダをマイドキュメントへ変更(いちいちcdしなくてもいい場所に設定しておくと良い)
  • オプションタブの編集オプションの両項目(簡易編集モード、挿入モード)をチェック
  • フォントタブのフォントをMSゴシック、サイズを12に(文字化け回避)
gcc及びruby動作確認
$ gcc --version
gcc.exe (GCC) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ ruby -v
ruby 1.9.3p448 (2013-06-27) [i386-mingw32]

共存できてますね。
なお、mingw-getはオプションを付けるとCUIだが、mingw-getのみだとGUIが起動する。

herokuアプリのあるフォルダを確認してみる

rubyコマンドプロンプトからはgitが使えなかった。普通にcmd.exeを起動していけばOK。もしくはスタートメニューからGitのGit bashを。

heroku toolbeltインストール

https://toolbelt.heroku.com/
からtoolbeltを
C:\Program Files\Heroku
FullインストールカスタムインストールにしてGitとSSHのチェックを外しておく。既にgitは入れたので。

共有フォルダのgitにcommitできないorz

permission deniedと言われてしまいます…。そしてファイルサーバ側から所有権を変更したりもしたけどだめ。
ですが、他の人が自由に変更できない、というのは本来正しいですよね。

herokuからcloneしてローカルへ持ってきましょう

ファイルサーバ側をベアリポジトリにしてしまう(少し勉強した)のが解決法か、とも思いましたが、目的はherokuに上げることですし、herokuには最新版があります。ということでherokuからcloneすれば済む、ということをこの記事で気付きました。

Heroku からまず第一に clone するのであれば,

heroku git:clone APPNAME

すると,APPNAME ディレクトリが作られそれがリポジトリになっていて,やはりリモートリポジトリ heroku が登録されています.origin はありません.
これは楽でいいですね.

これに従って、herokuに上げている[twitter:@cycletvschedule]のapp(仮名)をローカルに持ってきます。

$ heroku git:clone cycletvschedule
Cloning from app 'cycletvschedule'...
Cloning into 'cycletvschedule'...
remote: Counting objects: 87, done.
remote: Compressing objects: 100% (86/86), done.
Rremote: Total 87 (delta 44), reused 0 (delta 0)
Receiving objects:  86% (75/87)
Receiving objects: 100% (87/87), 24.04 KiB | 0 bytes/s, done.
Resolving deltas: 100% (44/44), done.
Checking connectivity... done
$ cd cycletvschedule/
$ git config --list
(中略)
remote.heroku.url=git@heroku.com:cycletvschedule.git
remote.heroku.fetch=+refs/heads/*:refs/remotes/heroku/*
branch.master.remote=heroku
branch.master.merge=refs/heads/master

ということで、あとはいつも通りにファイルを修正してgit commit -a -m 'comment'してgit push heroku masterすればOKです。

*1:Getting Started | MinGWによると"It is recommended that you DO NOT select an "All Users" installation."らしいので。