-

git-svn

今日から使ってます。
SVK を何度かやってみたものの svk:merge がディレクトリに付くからどうも気持ちわるかった。

でいまホットな Mercurial (Hg) と Git は見とこうと思ってて、軽く見た限りオープンソースMercurial の採用が多いみたいで雰囲気が好みな感じな Mercurial から入門しかかっていたのですがGitが

のが分かったんで、 Git から始めることに。(しかし、 hg って隣のキー2文字の打ちやすさが捨てがたいから[あとでやる])

そのうちマージ履歴をうまくとって楽したりしたいなあ。

ソースから入れる気分になって*1

  • ./configure && make && sudo make install
  • Emacsサポート必須!
$ cd contrib/emacs
$ make
$ make -n install # ~/share/emacs/site-lisp に入れてくれる。オレ環境とたまたまマッチ?
$ make install

git-svnPerl で、うちの perl はソースから入れた /usr/local/bin/perl なので、Subversionperl binding が必要になるから Subversion もソースから入れる。

  • port install neon (httpなrepositoryのため。Portfile デフォルトで --with-ssl つき) < Mac での話です。
  • subversion-1.4.6.tar.bz2 展開
    • ./configure --with-swig && make && make check && make install
    • make swig-pl && make check-swig-pl && make install-swig-pl

しかし

$ ls -1 /usr/local/bin/git*|wc -l
      146

ちょwww これだけのコマンド使えるようになる気がしない。

分散 VCS の感覚をつかむまでは試行錯誤がありそう。いまんとこやりたいこととコマンド(あるいは Emacs 上のキー)が結びつかず苦戦中・・・。
Git の中でコミットしている分には、あとからいくらでも修正ができる(手段がある。Git使いになれるまでは思うようには無理なかんじ)のはいい。手元でいじってから共有のところに入れるような感じにできる。

*1:MacPortsで+svnで入れようとしたら、Subversionとか、Perlモジュール大量(/usr/local/lib に入れたい)とかも /opt/local に入る。依存関係解決だから素直に /opt/local に入れるもんなんだろうけど、多いと気になる。Leopardで/usr/binにいろいろ入ってても意味ないやん、て感じになるし。