gitを1から使ってみる⇒結局SVN [Linux]
HandBrake for CUDAを開発するにあたって、Ubuntu上でEclipse CDTを使っています。前にJavaの仕事をやった時に、ファイル管理にSubversionを使った事があるのですが、この際だから少しは固まってきたであろうgitを使おうとした。
sudo aptitude install git-core git-daemon-run
でサーバ部分を入れる。ps axで見るとなんかデーモンが立ち上がっている。Tortoise SVNみたいにGUIでやれるかなぁと、git-guiを使ってみた。なんかTcl/Tkで作ってあるらしくかなりプアで、git guiと立ち上げてもツリー表示とかは皆無でした。
次にeclipse用のgitプラグイン。egitというのがあったのだけれど、なんだか入れるのが煩雑で、Eclipse CDTにegitが対応できているかどうかもよく分かりませんでした。元々、CDTの方はIDEの中身がかなり色々入ってなさげなので、色々依存関係をなんとかするのは面倒くさい。早くも挫折。今後使うかもしれないから、インストールされたデーモンはそのままにしておく。
結局、Subversionにする事にした。サーバ部分のSVNはUbuntuに元々入っていた。ver.1.5.4なんだけど、Apacheを連携させてWebDAVを使うようになっている。Ubuntuのデスクトップ版はApache2入ってないんだね。これもaptitudeで入れる。入れたそばからWebDAVは使えないけどモジュールは入っていて、a2enmodで有効化する。
sudo a2enmod dav
sudo a2enmod dav_fs
それと
sudo aptitude install libapache2-svn
が必要でした。仕事では他のSEがサーバの設定を全部してくれていたので、こういう設定は全然知らない事に気付いた。
それからかなり苦戦した。苦戦した原因は、WebDAVのリポジトリの問題。普通に外に公開するフォルダを設定すると思いきや、全部同じところに入れて管理してくれるみたい。サーバ側の設定と管理したいファイルの置き場所は一緒っぽい。
全部、/etc/apache2/sites-available/defaultに設定できたから分かってしまえば手数は少ない。とりあえず、LAN内で外に晒さないから、認証手続きは面倒くさいからやらない。ググって見つけたサイトを参考に、簡単に設定したものを書いておく。
とりあえず、上記で設定したディレクトリは作らないといけない。svnrootフォルダで
svnadmin --fs-type=fsfs create myproj
chown -R www-data.www-data myproj
とかで多分、使えるようになるはず。上のコマンドにあるwww-dataなユーザは他のサイトでdaemonとされていたが、結局扱うアプリのユーザーはapache2のはずなので、www-dataとしてみたら上手くいった。もしかすると他の設定で転んでたかもしれないので、daemonでもいいかもしれない。それとここに書かれているのは、作業マシンの文字列をコピペしたものではないので正確さに欠けるかもなので、鵜呑みにせず意味を把握して、マシンにあった作業を行って欲しい。いい加減でゴメソ。
あと慣習としてtrunk, branches, tagsというフォルダを作っとけな感じなので、クライアントでフォルダを作る。
svn mkdir --parents http://localhost/svnroot/myproj/trunk -m "this is just a test..."
こんな感じで三つ作る。大体ここのところはローカルマシンで、file://とか指定してあげるのがセオリーみたいだけど、http://経由で設定もできるみたい。
あとムカつくのが、-m "hogehoge"って登録するメッセージを省略してしまうと、nanoが立ち上げって来てすごく困る。普通に終了できないのでダメダメな感じ。さらにnanoが裏側に残ってしまい、正常終了させる術が分からない。viよりか使いにくい。なめんな、って言いたい。面倒なのでnanoの使い方は調べない。
Eclipse側の設定。Subversiveを使う。メニューから"Help > Install New Software"で入れる
ここ↓に書いているようにやればOK。
http://www.eclipsewiki.net/eclipse/?Subversive%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3
SVN Team Provider
Subversive SVN Connectors
SVNKit Implementation
を入れれば良い。あと対応するNative JavaHLも一緒に入れておく。書かれているように、SVN Team Providerを先に入れないとダメ。依存関係がダメになるんでしょうね、多分。あとはURLを指定してあげて、インポートとかしてあげればいい。
MacでもSVNが見えるように、クライアントを入れてみた。scpluginってやつがフリーだったので入れた。Finderのツールバーにぽとっと落とすとボタンができて、コミットとか各種作業がマウスでできるようになる。CUIなクライアントよりは面倒がなくて済む。
bonesとかgonzoとかのアニメが嫌い。なんだか動きが良いだけの作品が多い気がするんですが…。
sudo aptitude install git-core git-daemon-run
でサーバ部分を入れる。ps axで見るとなんかデーモンが立ち上がっている。Tortoise SVNみたいにGUIでやれるかなぁと、git-guiを使ってみた。なんかTcl/Tkで作ってあるらしくかなりプアで、git guiと立ち上げてもツリー表示とかは皆無でした。
次にeclipse用のgitプラグイン。egitというのがあったのだけれど、なんだか入れるのが煩雑で、Eclipse CDTにegitが対応できているかどうかもよく分かりませんでした。元々、CDTの方はIDEの中身がかなり色々入ってなさげなので、色々依存関係をなんとかするのは面倒くさい。早くも挫折。今後使うかもしれないから、インストールされたデーモンはそのままにしておく。
結局、Subversionにする事にした。サーバ部分のSVNはUbuntuに元々入っていた。ver.1.5.4なんだけど、Apacheを連携させてWebDAVを使うようになっている。Ubuntuのデスクトップ版はApache2入ってないんだね。これもaptitudeで入れる。入れたそばからWebDAVは使えないけどモジュールは入っていて、a2enmodで有効化する。
sudo a2enmod dav
sudo a2enmod dav_fs
それと
sudo aptitude install libapache2-svn
が必要でした。仕事では他のSEがサーバの設定を全部してくれていたので、こういう設定は全然知らない事に気付いた。
それからかなり苦戦した。苦戦した原因は、WebDAVのリポジトリの問題。普通に外に公開するフォルダを設定すると思いきや、全部同じところに入れて管理してくれるみたい。サーバ側の設定と管理したいファイルの置き場所は一緒っぽい。
全部、/etc/apache2/sites-available/defaultに設定できたから分かってしまえば手数は少ない。とりあえず、LAN内で外に晒さないから、認証手続きは面倒くさいからやらない。ググって見つけたサイトを参考に、簡単に設定したものを書いておく。
Alias /svnroot/ "/usr/local/svnroot" <location /svnroot> Options Indexes DAV svn SVNPath /usr/local/svnroot/myproj </location>
とりあえず、上記で設定したディレクトリは作らないといけない。svnrootフォルダで
svnadmin --fs-type=fsfs create myproj
chown -R www-data.www-data myproj
とかで多分、使えるようになるはず。上のコマンドにあるwww-dataなユーザは他のサイトでdaemonとされていたが、結局扱うアプリのユーザーはapache2のはずなので、www-dataとしてみたら上手くいった。もしかすると他の設定で転んでたかもしれないので、daemonでもいいかもしれない。それとここに書かれているのは、作業マシンの文字列をコピペしたものではないので正確さに欠けるかもなので、鵜呑みにせず意味を把握して、マシンにあった作業を行って欲しい。いい加減でゴメソ。
あと慣習としてtrunk, branches, tagsというフォルダを作っとけな感じなので、クライアントでフォルダを作る。
svn mkdir --parents http://localhost/svnroot/myproj/trunk -m "this is just a test..."
こんな感じで三つ作る。大体ここのところはローカルマシンで、file://とか指定してあげるのがセオリーみたいだけど、http://経由で設定もできるみたい。
あとムカつくのが、-m "hogehoge"って登録するメッセージを省略してしまうと、nanoが立ち上げって来てすごく困る。普通に終了できないのでダメダメな感じ。さらにnanoが裏側に残ってしまい、正常終了させる術が分からない。viよりか使いにくい。なめんな、って言いたい。面倒なのでnanoの使い方は調べない。
Eclipse側の設定。Subversiveを使う。メニューから"Help > Install New Software"で入れる
ここ↓に書いているようにやればOK。
http://www.eclipsewiki.net/eclipse/?Subversive%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3
SVN Team Provider
Subversive SVN Connectors
SVNKit Implementation
を入れれば良い。あと対応するNative JavaHLも一緒に入れておく。書かれているように、SVN Team Providerを先に入れないとダメ。依存関係がダメになるんでしょうね、多分。あとはURLを指定してあげて、インポートとかしてあげればいい。
MacでもSVNが見えるように、クライアントを入れてみた。scpluginってやつがフリーだったので入れた。Finderのツールバーにぽとっと落とすとボタンができて、コミットとか各種作業がマウスでできるようになる。CUIなクライアントよりは面倒がなくて済む。
bonesとかgonzoとかのアニメが嫌い。なんだか動きが良いだけの作品が多い気がするんですが…。
コメント 0