タグ「svn」が付けられているエントリー

TortoiseGitが実用レベルに達したらしい

| TortoiseGitが実用レベルに達したらしい

TortoiseGitはまだ開発段階のソフトウェアではあるが、2009年6月5日にリリースされたバージョン0.7.2.0では多くの機能が実装され、実用的に動作するようになった。

実用レベルに達したWindows向けGitクライアント「TortoiseGit」でGitを始めよう - SourceForge.JP Magazine

ななな,なんだってー!?というわけで,早速,TortoiseGitを試してみた.ファイル一式のダウンロードはこちらから.インストールはmsysgit,tortoisegit,日本語化の順番でよいと思います.インストールはデフォルトのまま次へを押しまくれば良いと思います.

で.試してみた.

090622_tortoisegit01.png

だめだー!コミットできねー!ここで止まっちゃいます.というわけで,まだまだTortoiseSVNにお世話になります.

関連:
[超絶速報]TortoiseGitがお目見え - 4403 is written

200906221332追記:
ファイル名にいわゆるダメ文字が含まれているとダメなことが確認された.

090622_tortoisegit02.png 090622_tortoisegit03.png

まだ実用的なレベルには達していないが、非常に気になるのでご紹介。

(中略)

今回紹介するオープンソース・ソフトウェアはTortoiseGit、まさにTortoiseSVNのGit版というべきソフトウェアだ。

MOONGIFT: » Git on Windowsのキラーアプリケーション「TortoiseGit」:オープンソースを毎日紹介

ついにTortoiseSVNのGit版と言えるTortoiseGitが公開されたようだ.まだ,バージョン0.1ということで,実験的らしいが,出てきたことだけで嬉しい.正式版を奮えて待つ!

そろそろファイナルにしたいっす.回線が開通したので,接続テストやらなんやらやってたら,起動しなくなりました(ぇ.いや,まぁ,事なきを得たんですが,ヒヤリでした.

で.予想通りトラブルに見舞われています.全く理解できません.

svn+sshできない
できないというのは嘘で,できるんだけど,できない.できる状況は以下の通り.

  • サーバ内から,svn+ssh://ループバック/
  • サーバ内から,svn+ssh://外部IPアドレス/
  • サーバ内から,svn+ssh://FQDN/
  • 研究室内回線から,svn+ssh://内部IPアドレス/

ダメな状況は以下の通り.

  • 研究室内回線から,svn+ssh://FQDN/
  • 研究室内回線から,svn+ssh://外部IPアドレス/
  • 研究室外回線から,あらゆるsvn+ssh

FQDNは内部DNSで内部IPアドレスに変換しているはずです.少なくとも,nslookupではそう返事が返ってくる.外からFQDNへのアクセスは管轄上位のDNSによって外部IPアドレスが返されます.だからこそ,FQDNでアクセスしたいのだが・・・.

svn単体は許可していないので,sshポートフォワードが必要になるのだが,どうも外部線から入ろうとするとダメなようだ.何故だ.sshはどこからでも繋がるのに・・・.事実,svn+sshではなく,ssh単体はどこからでも繋がる.誰か・・・助けて><.

で.自宅に帰ってきてからVPNを使わずに外部線でsvn+sshしたら,普通に繋がった件について.ぇー.もうこうなったら,研究室内部のネットワーク構成がおかしいってことじゃないですかー.もしくは,オレのPCがおかしいってことじゃないですかー.明日もトラブルシュートか.

Satisfy Anyできない
研究室構成員だけが見られるようにしたいディレクトリがある.そこにパスワード認証をかけて,研究室外からはパスワード認証で,研究室内からはIP制限で通したいのだ.だから,.htaccessでsatisfy anyだ.だから,こう書いた.

AuthUserFile /etc/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter username and password"
AuthType Basic
require valid-user

Satisfy Any
order deny,allow
allow from 127.0.0.1
allow from 192.168.11.0/24
deny from all

なんがー!なにがダメがー!わからんちん.誰か・・・ボスケテ.

200811191047追記:
今日になったら両方とも絶好調稼働中な件について.なんじゃそら.きっと無茶苦茶な設定を繰り返す内に,オレPCのDNSやらなんやらがおかしかったんだろうなぁ・・・.再起動してテストしてたつもりだったんだけどなぁ・・・.

先日,正式版となったDropbox.もちろん,試してみました.フォルダを同期させることをメインに考えて,ちょっとしたバックアップ代わりだと思うならば,大変に有用なサービスだと思う.なんと言っても,2GB無料ってのはでかい.だがしかし,仕事に使おうと思うと,どうにもダメだ.やっぱり,Subversionがいい.gitでもいいけど,GUIクライアントが無いから・・・.

何がダメかって.バージョン管理が手薄い.バージョン管理自体は行われるのだが,オンラインで行われるので,オフライン時にどうにかしようと思ってもできない.Subversionなら,ローカルに持っているリビジョンはオフラインでどうにかできる.しかも,何が不十分って,バージョン管理の最大の強みだと思われる差分比較ができない.なんということだ!どの部分を昨晩酔っぱらって修正したか,わからないではないか!それとも,2つのリビジョンをローカルにダウンロードして,差分比較ソフトを立ち上げて,放り込めと?Subversionなら,GUIでポチポチポチなのに.

それから,最初のアカウントは仕事用ノートPCで作ったんだ.この時に作成したフォルダは"#dropbox"だ.上手く作れた.そのフォルダと同期させるために,自宅PCにフォルダを作成した.特にこだわりがないので,同じ"#dropbox"フォルダを作ったら,どうなったと思う?"#dropbox\My Dropbox"になったでやんの.もういやだ.

それでも,全部がダメダメな訳ではなくて,簡単に導入できて,同期が行える点は評価できるし,2GB無料とか神懸かってるし,PhotosのギャラリービューもPublicフォルダも便利.だから,使い方次第だとは思いますが,オレが必要とする機能が欠落しているので,Subversionの代替とはなり得ない.残念だ.

研究室からsvnのリポジトリに繋がらなくて,一瞬絶望した.やべっ!今日の仕事が出来ねー!って思ってしまった.そこはそれで,そうなれば,必死に何とかするわけです.というわけで,今日はsvn+sshを実現する方法を説明します.

まず,条件.サーバはVine3.2上で,subversionが動いています.ポートは適当に決まっていて,サーバのFWは通過できるようになっています.クライアントはWindowsでTortoiseSVNが動いているものとします.クライアントは学校側のFW下におり,svnプロトコルでの接続はブロックされている.httpおよびsshは接続可能であることを確認済み.この状況下で,svn(プロトコルではなく)を使えるように頑張る.

httpかhttpsでdav_svnという方法も考えたんだけど,自宅との運用性を考えたとき,httpじゃねぇ・・・.ということで,svn+sshを試みることにした.既にsshが使える環境であるならば,やるべきことは至って簡単.サーバ側で設定することは何もない.設定は全て,クライアント側のみだ.

080402_svn1.png

上の画面はTortoiseSVNの設定画面である.赤枠に注目していただきたい.ネットワークの項目から,SSHクライアントを設定する.TortoiseSVNにはTortoisePlinkなるSSHクライアントが付属されているので,それを使えばいい.至って簡単だ.SSHクライアントの設定欄は以下のように設定する.

tortoisePlink -l ユーザ名 -i 秘密鍵のフルパス

なんという簡単さ.さて,ここで注意したい.Plinkという名前でティン!と来たあなたは鋭い.このTortoisePlinkはPuTTYベースなので,鍵情報はPuTTY形式じゃないとダメなんだ.だから,PuTTYをダウンロードして,puttygenを起動させる.初めて鍵を作る人は普通に作ればいい.それはどこかのサイトを参照のこと.今回はOpenSSHで作成された鍵をPuTTY形式に変換する.

080402_putty1.png

読込からOpenSSHで作った鍵を読み込んでやると,このように上図のように表示される.指示通りに,秘密鍵の保存をすればいい.拡張子.ppkが付くので,同じ名前で保存してもいいんじゃん?さぁ.鍵の準備が出来たので,先に説明したSSHクライアントの設定で,鍵情報を追加しておこう.

最後に,svn+sshで接続できるように,リポジトリの再配置を行おう.

080402_svn2.png

既に再配置済みなので,どちらも同じアドレスになっているが,以下のような書式で指定する.

svn+ssh://ユーザ名@サーバアドレス/リポジトリのディレクトリ

まぁ,今までsvnプロトコルを利用していた人なら,"ユーザ名@"をサーバアドレスの前に付けるだけです.簡単だねっ!enjoy!

プロフィール

e-m@il @ddress