130427 kansai-emacs-github

47
githubとコードレビューと emacs shiba_yu36 13/04/27 kansai.emacs 07

Upload: yuki-shibazaki

Post on 17-Dec-2014

1.338 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 130427 kansai-emacs-github

githubとコードレビューとemacsshiba_yu36

13/04/27 kansai.emacs 07

Page 2: 130427 kansai-emacs-github

自己紹介

Page 3: 130427 kansai-emacs-github

shiba_yu36 shibayu36

or etc...

http://shibayu36.hatenablog.com/

Page 4: 130427 kansai-emacs-github

•株式会社はてな

•アプリケーションエンジニア

•はてなブログ

•外部API、課金などの基盤周り

Work

Page 5: 130427 kansai-emacs-github

やっていること

•Cinnamon

•Kyoto.pm•perlbrew.el•open-github-from-here.el

Page 6: 130427 kansai-emacs-github

github使ってますか?•仕事で?

•趣味で?

•複数人で?

Page 7: 130427 kansai-emacs-github

仕事で使っています•複数人での開発

•品質保証のためのコードレビュー

•コミュニケーション

Page 8: 130427 kansai-emacs-github

今日の話• githubのコードレビューの場面ごとに細かくツールを作っていった

•最終的にemacs拡張が出来た

• open-github-from-here.elの紹介

• emacsの話は少なめかも

Page 9: 130427 kansai-emacs-github

コードレビューでの一場面

こういうクラスどう思う?

github上の特定ファイルのURLを示す

Page 11: 130427 kansai-emacs-github

• terminalからfile指定で一発で開けると捗るかも

•現在のブランチのファイルを開けたら更に嬉しい

Page 12: 130427 kansai-emacs-github

open-github-from-file

$ open-github-from-file (ファイル名)

Page 13: 130427 kansai-emacs-github

open-github-from-file•ファイルを指定すると

•現在のブランチの

•指定したファイルのURLを

•ブラウザで開く

Page 14: 130427 kansai-emacs-github

簡単なデモ• open-github-from-file open-github-from-here.el

• developmentブランチ

Page 15: 130427 kansai-emacs-github

技術的Tips• https://github.com/(user)/(repo)/tree/(branch)/(filename) を開く

• user、repo、ブランチ、ファイルを取得すれば良い

Page 16: 130427 kansai-emacs-github

技術的Tips• host名(GHEに対応)

• hub.host• user, repo• remote.origin.url

Page 17: 130427 kansai-emacs-github

技術的Tips• branch名• git symbolic-ref HEAD

• refs/heads/(branch)

Page 18: 130427 kansai-emacs-github

技術的Tips• repo内file path

• git rev-parse --show-toplevel• repository topのpath

•指定されたファイルとの比較

•それぞれの情報からURLを構築

Page 19: 130427 kansai-emacs-github

コードレビューでの一場面

こういう書き方どう思う?

ファイルの行がハイライトされたURLを示す

Page 21: 130427 kansai-emacs-github

open-github-from-file•行のはじめと最後を数字で指定出来るように改善

Page 22: 130427 kansai-emacs-github

open-github-from-file

$ open-github-from-file ファイル名 行始 行終

Page 23: 130427 kansai-emacs-github

簡単なデモ• open-github-from-file open-github-from-here.el 41 57

Page 24: 130427 kansai-emacs-github

技術的Tips•行をフラグメントで指定するだけなので特に無い

Page 25: 130427 kansai-emacs-github

ファイルの行番号覚えてないよね...

問題

Page 26: 130427 kansai-emacs-github

ファイルの行番号覚えてないよね...

それemacsで簡単にできるよ

問題

Page 27: 130427 kansai-emacs-github

open-github-from-here.el

Page 28: 130427 kansai-emacs-github

出来ること• emacsの現在のバッファからgithubに飛べる

• regionが指定されてたらその部分をハイライトする

Page 29: 130427 kansai-emacs-github
Page 30: 130427 kansai-emacs-github

デモ

Page 33: 130427 kansai-emacs-github

技術的Tips• URL構築は先ほどと同じ

• shell-command-to-stringで外部コマンドに任せてる

Page 34: 130427 kansai-emacs-github

技術的Tips• emacsでファイル名、region位置を取得

Page 35: 130427 kansai-emacs-github

技術的Tips• browse-urlコマンドでブラウザを開く

Page 36: 130427 kansai-emacs-github

まとめ•複数人で開発して細かいツールを作っていったら少しずつ便利になった

•小さいことから作っていくとだんだん便利になる

• open-github-from-here.el良ければ使ってみてください

Page 37: 130427 kansai-emacs-github
Page 38: 130427 kansai-emacs-github
Page 39: 130427 kansai-emacs-github
Page 40: 130427 kansai-emacs-github

コードレビューでの一場面

こういう変更どう思う?

github上の特定commitのURLを示す

Page 41: 130427 kansai-emacs-github

コードレビューでの一場面

•最初の頃はURL手打ちか、リンクを辿る

•面倒

• terminalからcommit指定で一発で開けると捗りそう

Page 42: 130427 kansai-emacs-github

open-github-from-commit

• commit(a235fa, HEAD^)を指定

•現在のrepositoryの

•指定したcommitのgithub URLを

•ブラウザで開く

Page 43: 130427 kansai-emacs-github

open-github-from-commit

$ open-github-from-commit (commit名)

Page 44: 130427 kansai-emacs-github

簡単なデモ• open-github-from-commit

• open-github-from-commit HEAD^

Page 45: 130427 kansai-emacs-github

技術的Tips• https://github.com/(user)/(repo)/commit/(commit) を開く

• user、repo、commitを取得すれば良い

Page 46: 130427 kansai-emacs-github

技術的Tips• host名(GHEに対応)

• hub.host• user, repo• remote.origin.url

• commit

•入力, default: HEAD

Page 47: 130427 kansai-emacs-github

技術的Tips• commit

•入力

•取得した情報からURL構築