GitLabを使ってみたい - らんだむな記憶
> lfsはなんかこける。設定が抜けている気がする。
について見ていたところ、
$ GIT_TRACE=1 git push
すると、一部のURLにnginx['listen_port']
で設定したものと異なるポートに対してPUT
メソッドを使っているような行があることに気付いた...。nginx['listen_port']
の設定行をコメントアウトしてgitlab-ctl reconfigure
することでポートを80番に戻して再度試すとgit push
が成功した。
ってことは、push時のURLがおかしいってことだ。なんでポート番号が抜けるんだろう...。
Git LFS - GitLab Documentationを参考にダメ元で
$ git config --add lfs.url "http://gitlab.example.com/group/project.git/info/lfs"
の類をやったがダメだった。なおこれは、ローカルリポジトリの.git/config
内にエントリが追加される形で反映される。
まぁ、あんま嬉しい状態ではないのだが、lfsのファイルがどうなっているかの調査はできる。デフォルト設定のままなので/var/opt/gitlab/gitlab-rails/shared/lfs-objects/
にファイルができるはずだ。lfsの設定後にpush前にはこのディレクトリ下は空であったが、push後には増えている!ほほぅ。これがリポジトリにはポインタだけができて、ファイルの実体は別の場所に置かれるというやつの背景だな。
root@xxx:/var/opt/gitlab/gitlab-rails/shared/lfs-objects# ls 32 ab tmp
どれどれ、サイズを見てみるか。
root@xxx:/var/opt/gitlab/gitlab-rails/shared/lfs-objects# du -h 2.7M ./ab/7b 2.7M ./ab 2.8M ./32/5d 2.8M ./32 4.0K ./tmp/upload 4.0K ./tmp/cache 12K ./tmp 5.5M .
ふむ、大体lfsでpushしたファイルのサイズだな。なるほどねぇ。
んで、GitLabのリポジトリブラウザ上からは普通にファイルがリポジトリ内にあるように見えるんだなぁ。うまくできているもんだ。
/var/opt/gitlab/git-data
の下にリポジトリができているはずなので調べてみるとできていた。その下でdu -h
でリポジトリの管理データのサイズを確認すると、lfs trackしていないファイルくらいのサイズだった。ふーん。なるほどねぇ。