by shigemk2

当面は技術的なことしか書かない

XFS

xfs

XFS is a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993.

https://en.wikipedia.org/wiki/XFS

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsgrow.html

http://www.intellilink.co.jp/article/column/oss-rh02.html

サポート上限が上がったとか、ジャーナリングができるとか。

三連休の運び

流れを雑にしたためる

  1. デビルマンの実写映画を見ながらrundeckのドキュメントのtypoを直すなどしていたら、ふと思い立っていつも使っているterminatorの貢献をしたくなった
  2. アギトのラスト5話を見ながらterminatorのサイトを見てみると、ソース管理はBazaarでやっていることが分かった
  3. リポジトリのファイルパスはghqで管理しているけど、ghqってGit以外も管理できたっけ?
  4. Subversionでghq getが実行できるか試したけどできない。 -p オプションを常に付けて実行していたのが原因だった。-pオプションはGitにしか対応していないのが分かった。
  5. ソースコードを見たらGit以外もSubversionとかMercurialとかのリポジトリにも対応しているのが分かる。でもBazaarは対応していない
  6. Bazaar対応を実装したらいいんじゃね? Golang全然知らないけど
  7. ソースコードをさらに読み進めると、ghqがやっているのはclone/shallow clone/updateの3つだけのようだ だったらイケるぜ!
  8. Gitでいうところのgit cloneってBazaarだとどうやるんだろう→bzr checkout/bzr branchの2種類がある これってどうやって対応したらいいんだろうと思い悩む
  9. 2種類あるなら2種類実装したらいいんじゃないか?
  10. cloneは.gitconfigを見てどのVCSコマンドを実行したらいいか判定しているけど、updateは直下のドットディレクトリを見ているようだ
  11. でも.bzrだけじゃcheckoutしたものかbranchしたものか分からない。しかもbranchしたものはpullで、checkoutしたものはupdateで挙動が違う 何が違うんだろう
  12. checkoutしたリポジトリとbranchしたリポジトリの差分をdiffで取ると、.bzr/branch/branch.confが違うことが分かった
  13. .bzr/branch/branch.confの中身でpullすべきかupdateすべきか判断しているっぽい。Bazaarのソースコードをみるとparent_locationの設定で判定しているようだ
  14. shalow cloneはcheckoutにしか対応していないことを知る
  15. テストファーストでテストを書く
  16. 他の実装を見ながらBazaar対応のプロダクトコードを書く
  17. branch.confの中身を見てpullするかupdateするか判定する実装を書く
  18. テストが通ること、ghq getghq get --shallow(checkout版だけ)もghq get -uも問題なく動くことを確認する
  19. 途中、例の万年カレンダーを受け取りに人と会うために離席
  20. 勧められるままにプライムビデオでメイドインアビスを見ながら挙動に問題がないことを再度確認してプルリクを投げる フィードバックを待つ。
  21. なお、Bazaarって今じゃそんなに積極的に開発していないから、若干無駄足気味な気もする。
  22. 物見遊山でYRP野比に行く

成果物はこちらです。

github.com

買ったもの

S.I.C. 仮面ライダーギルス & アナザーアギト

S.I.C. 仮面ライダーギルス & アナザーアギト

apt-get qq

apt-get qq

man apt-get にて。

-q, --quiet
静粛 - 進捗表示を省略し、ログをとるのに便利な出力を行います。最大 2 つまで q を重ねることでより静粛にできます。また、-q=# のように静粛レベルを指定して、設定ファイルを
上書きすることもできます。静粛レベル 2 は -y を含んでいることに注意してください。APT が意図しない決定を行うかもしれないので -d, --print-uris, -s のような操作を行わない
オプションをつけずに -qq を使用するべきではありません。設定項目: quiet