TracLightningでGitを使うの設定を行うことでTracLightingでGitが使えるようになりましたが、他のPCからgit cloneするには、http・git・ssh等のプロトコルで接続できるようにしないといけません。
今回はhttpでGitを使えるように設定してみます。
仮想ディレクトリの作成
C:\TracLight\CollabNetSVN\httpd\conf\httpd.conf をテキストエディタで開きます。
で、最後の行に以下の様な仮想ディレクトリの設定を追加します。
DAVLockDB "C:\TracLight\projects\DavLock" Alias /git "C:\TracLight\projects\git" <Directory "C:\TracLight\projects\git"> DAV on Order Allow,Deny Allow from all </Directory>
編集が終わったら、TracLightningのサービスを再起動します。
認証の設定してませんので、セキュリティ的に問題ありです。
ご注意下さいっていうか、設定教えてw
リポジトリの作成
共有したいリポジトリを作成するために以下のコマンドを実行します。
nakaji@STUDIO15 /c/TracLight/projects/git/GitTest.git $ git --bare init Initialized empty Git repository in C:/TracLight/projects/git/GitTest.git/ nakaji@STUDIO15 /c/TracLight/projects/git/GitTest.git (BARE:master) $ git update-server-info nakaji@STUDIO15 /c/TracLight/projects/git/GitTest.git (BARE:master) $
git cloneしてみる
以上で設定は終わりなので、git cloneしてみます。
nakaji@STUDIO15 /tmp $ git clone http://studio15/git/GitTest.git Initialized empty Git repository in D:/Temp/GitTest/.git/ warning: You appear to have cloned an empty repository.
というわけで、無事cloneできました。
git pushしてみる
次はgit pushです。
nakaji@STUDIO15 /tmp $ cd GitTest/ nakaji@STUDIO15 /tmp/GitTest (master) $ vi hoge.c nakaji@STUDIO15 /tmp/GitTest (master) $ git add . nakaji@STUDIO15 /tmp/GitTest (master) $ git commit -m "test commit" [master (root-commit) df8d33a] test commit 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 hoge.c nakaji@STUDIO15 /tmp/GitTest (master) $ git push origin master Fetching remote heads... refs/ refs/heads/ refs/tags/ updating 'refs/heads/master' from 0000000000000000000000000000000000000000 to df8d33a0cc188f5ed859532032bc3d51a56aec94 sending 3 objects done Updating remote server info
課題
上記では認証設定を行っていません。
というのも、以下の様に設定するもうまくいきませんでした。
<Directory "C:\TracLight\projects\git"> DAV on Order Allow,Deny Allow from all AuthType Digest AuthName trac AuthUserFile "C:\TracLight\projects\trac.htdigest" Require valid-user </Directory>
git cloneした時のエラーは以下の通り。
$ git clone http://localhost/git/GitProject.git Initialized empty Git repository in D:/Temp/GitProject/.git/ error: The requested URL returned error: 401 while accessing http://localhost/git/GitProject.git/info/refs fatal: HTTP request failed
認証情報を渡せてないから何でしょうけどね。
どうやって渡せば良いのやら…