バージョン管理システムの一つ。
svn propdel svn:mime-type file-name
svn merge -r HEAD:戻したいバージョン . svn commit
log.txt に新しいログメッセージを書いておいて
svn propset svn:log -F log.txt -r [リビジョン番号] --revprop
または
svnadmin setlog /path/to/repos -r [リビジョン番号] log.txt
ただし、repos/hooks/pre-revprop-change が存在して正常終了するような設定でないといけない。
#!/bin/sh exit 0 # 危険な pre-revprop-changes の例
svn propset svn:keywords Id ファイル svn commit ファイル
TortoiseSVN なら右クリックメニューでプロパティを選択し、Subversion タブから設定してコミット。
Git に慣れてしまうと面倒な Subversion のブランチ。 trunk (あるいは他の統合ブランチ)から、トピックブランチへの定期的な反映の手順をメモ。
svn mkdir svn+ssh://svn.example.com/repos/branches/naney \ -m '[branches/naney] mkdir' svn copy svn+ssh://svn.example.com/repos/trunk \ svn+ssh://svn.example.com/repos/branches/naney/feature-x \ -m '[branches/naney/feature-x] Copy from /trunk.' svn checkout svn+ssh://svn.example.com/repos/branches/naney/feature-x cd feature-x
feature-x 以下で編集を行い、適宜コミットする。
cd 自分の作業コピーディレクトリ svn update # 最後に表示されるのがブランチしたリビジョンのログ。このリビジョン番号を A とする。 svn log --stop-on-copy # 表示されたのが trunk の最新リビジョンのログ。このリビジョン番号を B とする。 svn log --limit 1 svn+ssh://svn.example.com/repos/trunk # 必要に応じて trunk での変更点を確認する。 svn diff -r A:B svn+ssh://svn.example.com/repos/trunk # マージする際の変更点を確認する。 svn merge --dry-run -r A:B svn+ssh://svn.example.com/repos/trunk # trunk での変更点をブランチの作業コピーに反映させる。 svn merge -r A:B svn+ssh://example.com/repos/trunk # マージしたらコミット。 svn commit -m '[branches/naney/feature-x] svn merge -r A:B svn+ssh://example.com/repos/trunk'
どのリビジョン範囲をマージしたかをコミットメッセージに記録しておく。
あとは引き続きまた作業する。
cd 自分の作業コピーディレクトリ svn update # 前回マージ範囲をログから確認。 svn log --stop-on-copy | grep -B 2 'svn merge' # 表示されたのが trunk の最新リビジョンのログ。このリビジョン番号を D とする。 svn log --limit 1 svn+ssh://svn.example.com/repos/trunk # 必要に応じて trunk での変更点を確認する。 svn diff -r C:D svn+ssh://svn.example.com/repos/trunk # マージする際の変更点を確認する。 svn merge --dry-run -r C:D svn+ssh://svn.example.com/repos/trunk # trunk での変更点をブランチの作業コピーに反映させる。 svn merge -r C:D svn+ssh://example.com/repos/trunk # マージしたらコミット。 svn commit -m '[branches/naney/feature-x] svn merge -r C:D svn+ssh://example.com/repos/trunk'
2月の Developers Summit 2015 で zakwa 氏と再会したのをきっかけに、当時一緒に仕事をしていた気が置けないソフトウェア開発者4人で同窓会をすることになった。セッティングしてくれた zakwa 氏ありがとう!
手配してくれたお店は「焼きたてパンとワインのお店」COGS DINING KAGURAZAKA。神楽坂から路地に入ったところにあるお店で、上品な味の料理で満足だった。店内もうるさくなくて話しやすかったし、たばこを吸っている人もいなかったので快適だった。
現職のまま続けている1人と、別の場所で働くことになった3人だけれどみなそれぞれソフトウェア開発現場に関わっていて、それぞれの開発スタイルなどについて情報交換したり。
大企業だからしっかりした開発をしているとか、スタートアップだからモダンな開発をしているとかでは必ずしも無いよねという話だった。例えばバージョン管理一つにしてもうまくできていない(やっていない)場合も多いとのこと。当時を振り返ってみると小規模かつ独学の状況ながら、今では普通になってきたプラクティスやツールをその時から実践/活用していたなと自画自賛した。
「書けなくなったホワイトボードマーカーはその場で床に投げ捨て」に共感を持ってもらえていたのが、振り返って当時の自分の一番の成果だな。
退職時に使っていた社内 Wiki は Naney 謹製のものだったのでその後どうなったのかなとたまに気になっていたのだけれど、ビル管理会社の人に社内サーバの電源を切られたことによりサーバごと死んで闇に葬られたらしい。R.I.P.
同窓会らしく「あのひとは今」的な話をしたり、当時フィルムカメラで撮っていた業務風景のアルバムを持ってきて盛り上がったり。あとはレーシックやドライアイ治療ひぇー的な話題が出たり。あとは展示会の時のレクサー・リサーチポロシャツ制作秘話とか。
そういえば出席はできなかった2013年2月開催の「LEXER設立20周年記念サロン・パーティ」で会社のるぐるロゴの立体置物が配られたと聞いて、あ、欲しかったなーと。
昨日に続き本日も Developers Summit 2019 参加。今日は寒い一日だったのか、途中窓の外に雪が舞う時間もあった。
昨日参加証の読み取り率が低かったので受付で再発行していただいた。
今日はコーヒー確保できず。今度来る時はやはり何か買ってこよう。
以下セッションタイトルは2月13日時点の公式サイトより。
楽天株式会社 熊谷亘太郎氏
プロダクトマネージャー・カンファレンス 2018 1日目でもトークをお伺いした熊谷氏。今回も発表の骨子は同じだったので、今回は復習となった。
Enjoy your work!
ヤフー株式会社 山本学(@yamamoto_manabu)氏
Developers Summit 2016 1日目 で myThings の話をされていた山本氏。今回はマネージャーについて知ってもらいたいという内容で、マネージャー予備軍が響く層であろうという感じのセッション。
エイベックス株式会社 山田真一氏
アウトソーシング中心での体制構築についての取り組みのセッション。「研修に行かせる」「身に付けさせる」のような表現をみると、トップダウンが強めの雰囲気なのかな?
株式会社サイバーエージェント 山中勇成(@toriimiyukki)氏
GCP 含めバックエンドで使っているものを順番に紹介していくセッション。浅く全部紹介する感じなので全体的に知りたかった人向けのセッションだ。
グーグル・クラウド・ジャパン合同会社 中井悦司(@enakai00)氏
流れるようなトークに酔いしれてしまうセッション。
(Google の) SRE についてちょっとではあるが理解が進んだ。目的がすべて明確で、それに対して合理的に取り組んでいるかのようで改めてすごいなと。
合同会社DMM.com 石垣雅人(@i35_267)氏
データ駆動戦略で成長させていくという話。今回はユーザーレビュー機能に関して。
既にあるものを少しずつ伸ばしていくことにフォーカスしている状況なら、施策に対する予測がしやすいので良いよねというところ。
マクニカネットワークス株式会社 根本竜也氏 株式会社セガゲームス 上田展生氏
前半は厳選ツール = GitHub Enterprise (GHE) (上田氏)。3年前はまだ Subversion を使っていた。そこから GHE と CircleCI Enterprise を導入していったという話。ゲーム会社だけれど Web 企業とは距離感のある企業風土を感じた。
根本氏は商材紹介。営業っぽい感じになってきたので退室。
東京大学大学院 よしおかひろたか(@hyoshiok)氏
よしおか氏視点を交えつつ IT 史と概論を語る前半。途中退室。
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。