nDiki : Subversion

Subversion

バージョン管理システムの一つ。

たまに必要になる作業に関するメモ

add した際テキストファイルがバイナリと見なされてしまった:

 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 の例

$Id$ を使う

 svn propset svn:keywords Id ファイル
 svn commit ファイル

TortoiseSVN なら右クリックメニューでプロパティを選択し、Subversion タブから設定してコミット。

関連情報

Subversion 関連ツール

ChangeLog 関連ツール

Emacs 関連ツール/マクロ

その他

書籍

image:ISBN:4872805054

2011年5月2日 (月)

今日のさえずり: 「ユナイテッド93」レンタルしたら、まさかのビンラディン容疑者殺害発表

  • 09:07 ゴールデンウイーク谷間のこの電車の緩さがたまらなく良い。
  • 09:33 出社。
  • 09:37 目印の「おっきなペンギンぬいぐるみ」が降ろされていたので、自席に戻るとき迷った。
  • 10:03 GTD システム上の、朝のルーチンワークの順番などを整理。
  • 12:34 Subversionブランチマージ手順確認して書き出した。マージする/したリビジョン番号範囲の管理とか Git 知ってしまっていると泣ける。
  • 13:38 幕の内弁当398 398円。 (@ セブンイレブン 渋谷区渋谷2の南店) http://4sq.com/lkYNFR
  • 14:04 小さい N 今のところの PC の上に飾ってまーす。 RT @as_tone: あ、大きいNが入荷してる… http://orneshop.exblog.jp/
  • 14:15 このビル、地震がきたとき、縦に揺れてる感じがする。弾んでいるような感じ。
  • 16:38 入社時健康診断予約した。
  • 20:07 退勤。
  • 21:50 ゴールデンウィークだからと先週の金曜日に TSUTAYA で「ユナイテッド93」 http://amzn.to/mjZA3T レンタルしたら、まさかのビンラディン容疑者殺害発表。今日観るか。
  • 21:59 あ、オルネ ド フォイユってオフィスから2分。ランチの時に通っているところじゃん。
  • 24:28ユナイテッド93」観た。決してハッピーエンドにならないとわかっていて観るのはつらいな。
  • 24:42 @akigonn 重かったですね。淡々としていて、みんな自分でよく考えてみてくださいというスタンスの印象でした。
  • 24:45 @as_tone 個人的には通勤経路にヨドバシカメラがある方がずっと嬉しいのです。
  • 25:40 GREE から「既に登録完了しているよ」っていう返信がきてた。それでもログインできないのでパスワード初期化したら入れるようになった。
  • 25:44 既に女の子4人からGREEメールが届いています。まあ不健全。
  • 25:46 GREE なんかこじんまりしてる。
[ 5月2日全て ]

2011年5月7日 (土)

Subversion における trunk から branch へのマージ

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 以下で編集を行い、適宜コミットする。

ブランチ後 trunk からの初回のマージ

  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'

どのリビジョン範囲をマージしたかをコミットメッセージに記録しておく。

あとは引き続きまた作業する。

trunk からの2 回目以降のマージ

  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'
[ 5月7日全て ]

2011年5月8日 (日)

今日のさえずり: 節電で暗い公園の中で木に激突した

2011年05月07日

  • 09:27 予定外に急遽初送り。
  • 11:07 RT @semimaruP: これは辛いwww 【転載】となりの寮の人が号泣してるのを聞いた、彼は社会学部で、論文のテーマは「依然捕まらないビンラディンとアメリカ社会市場制度の必然的関係」
  • 18:17 Xperia acro、ワンセグ用アンテナがいけてないので買う気が半減。
  • 21:07 RT @mushikabu: 夜ランチって…。 夜の時点でランチじゃないべw http://t.co/8nlgnnt
  • 21:42 やっぱ iPad 2 買っとくかなぁ。
  • 24:17 Subversion における trunk から branch へのマージの説明用サンプル手順作っていたけど、衝突が起きて例示として不適切になってしまった。

2011年05月08日

  • 10:32 暑くなる予感。今年初の半袖にしてみた。
  • 14:00 sandbox 行ってくる。
  • 15:46 室温 29℃超えたので、夏場の停電対策にこのあいだ買った eneloop でも使える電池扇風機(これ http://bit.ly/jWMehW )つけた。思った以上に心地良い。
  • 15:47 以前より音が気にならないな。日中で外が賑やかだからかな。
  • 17:25 帰宅したら30℃弱だったので冷房かけた。軟弱。
  • 18:41 冷気ストップパネル http://bit.ly/jGoCZY を取り外し。体感的にはコールドドラフトが弱くなったけど、暖房費削減に貢献したかは定量的には不明(別の要因で電気代が増えたため)。次シーズンも使おう。
  • 21:47 急遽シエロを買いに出た。
  • 21:49 と打っている途中、節電で暗い公園の中で木に激突した。左腕痛い。
  • 21:49 と打っている途中、電柱に激突しそうになった。
  • 21:50 車に轢かれないように気をつける。
  • 21:55 閉店7分前で買えた。
  • 23:14 La Fonera 登録解除依頼メール1通送信。
  • 23:47 半年弱使ってなかったスターバックス カードの残高を確認。1,370円残ってた。
  • 24:20 TSUTAYA online 登録。
  • 25:16 snake_case って呼び方初めて知った。
[ 5月8日全て ]

2011年5月10日 (火)

今日のさえずり: 複数のマナー本間の diff を取りたい

2011年05月10日

  • 09:22 今日は折り畳み傘の置き傘で対応できる方に賭けてみた。
  • 09:29 複数のマナー本間の diff を取りたい。
  • 12:13 MySQL Workbench Community エディションいれてみるか。
  • 12:16 MySQL.com アカウントを作成しなければならないのね。
  • 12:58 フォン・ジャパンから La Fonera 登録解除完了したとのメール。これで1台廃棄できる。
  • 13:01 MySQL Workbench、普通に SQL クエリ発行とかできた。Create EER Model From Existing Database は Select Schemata のところでフリーズ。
  • 13:34 普通に牛丼食べたい。
  • 13:43 @yasa_gurek0 ほんとだ。宮益坂まできてしまっているので今日は松屋にします。今度行ってみます。
  • 13:57 牛めし 320円。 (@ 松屋 渋谷宮益坂店) http://4sq.com/mnANaY
  • 13:59 あー、もうポツリポツリきてる。
  • 14:11 今日はやってた。謎の点眼瓶を発見。 (@ オルネ ド フォイユ Orne de Feuilles) http://4sq.com/kDnD0j
  • 17:23 傘さしている人いるな。やはり帰りは雨。
  • 18:36 逆のマージもそのうち。 RT @k12u: これまとまってるのうれしい / nDiki: Subversion における trunk から branch へのマージ http://t.co/XjSe0Cp via @Naney
  • 19:04 シュウマイとイチゴを買って帰ること。
  • 20:25 退勤。
  • 23:27 Microsoft による Skype 買収、正式発表出てたか。あーあ。
  • 23:33 Skype for Linux は果たして継続されるのだろうか……。
  • 25:07 Viber for Android のベータテストがちょっと前に始まってたのか。すぐ使いたいわけでもないので正式リリースまで待つか。
[ 5月10日全て ]

2011年11月10日 (木)

今日のさえずり: 今日ようやく 20,000 Teets こえた

2011年11月10日

  • 12:30 Subversion リポジトリ上のブランチから git のローカルブランチ作って作業してみてたけど、trunk 追えないなこれじゃ。 master の方に rebase して Subversion 上のブランチ削除。
  • 12:30 必要な時に再度 Subversion 上にブランチ作ってそちらに rebase かな。
  • 12:43 RT @kazeburo: IRCパスワード打った。しにたい
  • 13:21 特選大戸屋ランチ 640円。 (@ 大戸屋 ごはん処 渋谷宮益坂店) http://t.co/BOMoZOqG
  • 13:31 特選大戸屋ランチのコロッケの上の玉子はご飯の上に乗せて醤油かけて食べるのがデフォ多数派で OK?
  • 14:13 あ、あれツイナビのきせかえアイコンなんだ。存在全然知らなかった。
  • 20:05 ああプログラムミスではなくてテストデータでの typo だった……。
  • 21:12 退勤。
  • 21:17 @rindai87 トライアルで Pro にすると好きなタイミングでリフレッシュかけられるようになるので、試行錯誤するのに良いです。
  • 23:53 そういえば今日ようやく 20,000 Teets こえた。
[ 11月10日全て ]

2012年2月23日 (木)

今日のさえずり: ガチャピンが人を食べるという話が通じなかったので

2012年02月22日

  • 09:06 今日からマスク
  • 09:36 フレッシュ! (有給休暇明け) @ 株式会社ミクシィ(mixi, Inc.)にタッチ! http://t.co/7sn66iYo
  • 09:44 有給休暇明けたらミーティング += 3 実行されてた。
  • 10:44 Git 上から Subversion 上にうまく差分をもっていけなくて patch った。
  • 13:08 ローソンの「大きないちごジャム&マーガリンサンド 110円」のコストパフォーマンスが高くて愛食。
  • 18:52 ガチャピンが人を食べるという話が通じなかったので、そろそろ社内 LT に行く。
  • 19:07 「フレッドが教えてくれた仕事でいちばん大切なこと」絶版だった……。
  • 19:23 Opera 宣教師キタ!
  • 20:06 @mushikabu さんも人を食べるんですか!
  • 20:11 SpinNet が「SNSレッスンパック」を本日より提供開始だと。7,560円(税込み)/1時間。
  • 20:16 部長推薦図書注文。
  • 22:16 @yuzuemon 社内イイネ! 1号です!
  • 22:29 退勤。包丁には注意するよ。
  • 22:44 いきなりマスク会社に忘れてきた。息止めて帰る。

2012年02月23日

  • 06:54 RT @yuzuemon: 貰った身としては、自分の活動が形として評価されると次への大きな活力となる。早速自分も始めよう nDiki: イケてることに敏感になる「リアル イイネ! カード」を自作した(非公式) http://t.co/PNUWsk0t via @Naney
  • 09:49 雨雨。 @ 株式会社ミクシィ(mixi, Inc.)にタッチ! http://t.co/63yPZZfb
  • 11:46 ちょい早弁。
  • 22:17 \Q退勤\E
  • 22:29 今日は mixi バースデーバースデーです。
  • 24:41 Evernote の共有ノートブックで暮らすのはやはりかなり不便だったので、もうすこし分けることにした。
[ 2月23日全て ]

2013年11月8日 (金)

今日のさえずり: 自分の娘をコンテンツ化している時点でキモいのしょうがない

2013年11月08日

  • 13:19 iOS 版の Google ドライブアプリが複数 Google アカウントに対応したので嬉しい。
  • 17:21 久しぶりに Subversion 使ってる。かなーり忘れちゃってるし、いきなりリポジトリにコミットされるのちょー怖い。
  • 19:11 Everything Search Engine 久しぶりにインストール。β版だとローカルドライブではないドライブも検索対象にできるようになっていた。これは嬉しい。
  • 21:58 夜は外寒い。 (@ 株式会社ミクシィ (mixi, Inc.)) http://4sq.com/HESFB0
  • 24:58Yahoo! JAPANほかネット事業者でセーファーインターネット協会を設立。SafeLine事業を開始。 | 一般社団法人 セーファーインターネット協会 Safer Internet Association” http://bit.ly/1avNJ7P
  • 25:30 TeamGantt 今日(昨日)サブスクリプションキャンセルした。機能的にまずまずなんだけれど、たまに使うだけに月10ドルは無理。
  • 25:49 自分の娘をコンテンツ化している時点でキモいのしょうがない。 / “父と娘の週末トーク:娘と父のマジトーク(その2)「お父さんがキモい理由を説明するね」 (1/5) - Business Media 誠” http://bit.ly/1bdIRZx
[ 11月8日全て ]

2014年2月19日 (水)

今日のさえずり: 風呂入って出てきたら、シェル上では perlbrew で別の Perl が動いているのを思い出したとか

2014年02月19日

  • 08:41 “ベル研究所が開発するOS「Plan 9」が新たにGPLv2で公開される | SourceForge.JP Magazine” http://bit.ly/1jPdzy3
  • 09:24 iddy 終了。リンクとか外さないと。 / “【重要なお知らせ】iddyサービス終了のお知らせ | iddy 開発者ブログ” http://bit.ly/1feX5Mf
  • 09:24 7,000円台ぐらいまでで出たら即買ってもいいな。iPad 2 での FaceTime のかわりになる。もし国内で出る事があればもっと高くなるんだろうなぁ。 / “数千円で買えて携帯会社と契約不要の「Skypeスマートフォン...” http://bit.ly/1feX7Uk
  • 09:24 「運営者が飽きた」 / “iddy 終了について補足 | WWW WATCH” http://bit.ly/1m7oLnX
  • 10:35 歌うキーボード ポケット・ミク (大人の科学マガジン特別編集)とな。 http://amzn.to/1bjmkNH
  • 21:25 今作っている機能、テーブル1つで済ませるつもりだったけれど、ゴチャゴチャしてきたのでやっぱり明日分ける。
  • 22:53 “大雨・大用に日本野鳥の会バードウォッチング長靴” http://bit.ly/1cpOp4s
  • 24:29 さてこの Subversion で管理しているコードを Git 管理にするかなととりあえず svn log したら「作業コピーではありません」と出て、あれっと思ってみたら CVS/ というディレクトリが。
  • 24:33 そしてなんでこれ /var/www 以下できちんと動いているのに手動で動かすとモジュール見つからないのって思って風呂入って出てきたら、シェル上では perlbrew で別の Perl が動いているのを思い出したとか。
  • 25:03 “文字列検索コマンド「grep 2.17」リリース | SourceForge.JP Magazine” http://bit.ly/1gVu5sN
  • 25:03 “CSRF対策用トークンの値にセッションIDそのものを使ってもいい時代なんて、そもそも無かった” http://bit.ly/1kXbPTN
[ 2月19日全て ]

2015年5月13日 (水)

レクサー・リサーチ開発同窓会

rimage:/nDiki/Flickr/17034996273.jpg

2月の Developers Summit 2015 で zakwa 氏と再会したのをきっかけに、当時一緒に仕事をしていた気が置けないソフトウェア開発者4人で同窓会をすることになった。セッティングしてくれた zakwa 氏ありがとう!

COGS DINING KAGURAZAKA (コグス ダイニング 神楽)

手配してくれたお店は「焼きたてパンとワインのお店」COGS DINING KAGURAZAKA。神楽から路地に入ったところにあるお店で、上品な味の料理で満足だった。店内もうるさくなくて話しやすかったし、たばこを吸っている人もいなかったので快適だった。

ソフトウェア開発

現職のまま続けている1人と、別の場所で働くことになった3人だけれどみなそれぞれソフトウェア開発現場に関わっていて、それぞれの開発スタイルなどについて情報交換したり。

大企業だからしっかりした開発をしているとか、スタートアップだからモダンな開発をしているとかでは必ずしも無いよねという話だった。例えばバージョン管理一つにしてもうまくできていない(やっていない)場合も多いとのこと。当時を振り返ってみると小規模かつ独学の状況ながら、今では普通になってきたプラクティスやツールをその時から実践/活用していたなと自画自賛した。

「書けなくなったホワイトボードマーカーはその場で床に投げ捨て」に共感を持ってもらえていたのが、振り返って当時の自分の一番の成果だな。

退職時に使っていた社内 WikiNaney 謹製のものだったのでその後どうなったのかなとたまに気になっていたのだけれど、ビル管理会社の人に社内サーバの電源を切られたことによりサーバごと死んで闇に葬られたらしい。R.I.P.

その他

同窓会らしく「あのひとは今」的な話をしたり、当時フィルムカメラで撮っていた業務風景のアルバムを持ってきて盛り上がったり。あとはレーシックやドライアイ治療ひぇー的な話題が出たり。あとは展示会の時のレクサー・リサーチポロシャツ制作秘話とか。

そういえば出席はできなかった2013年2月開催の「LEXER設立20周年記念サロン・パーティ」で会社のるぐるロゴの立体置物が配られたと聞いて、あ、欲しかったなーと。

[ 5月13日全て ]

2019年2月15日 (金)

Developers Summit 2019 2日目 #devsumi

image:/nDiki/2019/02/15/2019-02-15-124522-nDiki-800x1200.jpg

昨日に続き本日も Developers Summit 2019 参加。今日は寒い一日だったのか、途中窓の外にが舞う時間もあった。

昨日参加証の読み取り率が低かったので受付で再発行していただいた。

今日はコーヒー確保できず。今度来る時はやはり何か買ってこよう。

以下セッションタイトルは2月13日時点の公式サイトより。

10:00〜10:45 【15-D-1】 プロダクトマネージャーという生き方

楽天株式会社 熊谷亘太郎氏

プロダクトマネージャー・カンファレンス 2018 1日目でもトークをお伺いした熊谷氏。今回も発表の骨子は同じだったので、今回は復習となった。

メモ

Enjoy your work!

11:05〜11:50 【15-B-2】 メンバーの成長とチャレンジのためにエンジニアリングマネージャーとして大切にしたこと

ヤフー株式会社 山本学(@yamamoto_manabu)氏

Developers Summit 2016 1日目 で myThings の話をされていた山本氏。今回はマネージャーについて知ってもらいたいという内容で、マネージャー予備軍が響く層であろうという感じのセッション。

12:10〜12:40 【15-E-3】 Entertainment x Tech〜多くのアーティストとファンを繋ぐ技術と組織〜

エイベックス株式会社 山田真一氏

  • 年約250の新規アーティストサイト、現時点で約500を運営。クラウドシフトはステークホルダーが多く順番に。
  • 予期しないバーストトラフィック
  • アーキテクチャは社内アーキテクトで、開発は外部パートナーがエイベックスとしての理想の姿。

アウトソーシング中心での体制構築についての取り組みのセッション。「研修に行かせる」「身に付けさせる」のような表現をみると、トップダウンが強めの雰囲気なのかな?

13:05〜13:50 【15-A-4】 3周年に突入するAbemaTVの挑戦と苦悩

株式会社サイバーエージェント 山中勇成(@toriimiyukki)氏

GCP 含めバックエンドで使っているものを順番に紹介していくセッション。浅く全部紹介する感じなので全体的に知りたかった人向けのセッションだ。

14:10〜14:55 【15-B-5】 Site Reliability Engineering at Google

グーグル・クラウド・ジャパン合同会社 中井悦司(@enakai00)氏

流れるようなトークに酔いしれてしまうセッション。

  • 50% ルール
    • 50% 以下で運用業務、50%以上をシステム安定化に関わるプロジェクト活動にあてる。
    • SRE(優秀なソフトウェアエンジニア)が Burnout して退職することを避ける。
  • Toil の削減
  • 生涯対応では問題解決を最優先。「他人を頼ること」をスキル不足と認識しない文化。
  • Postmortem (障害ふりかえり)は Google ドキュメントを使っている。全エンジニアに共有されている。

(Google の) SRE についてちょっとではあるが理解が進んだ。目的がすべて明確で、それに対して合理的に取り組んでいるかのようで改めてすごいなと。

15:15〜16:00 【15-A-6】 プロダクトをGrowthさせるデータ駆動戦略の基礎知識〜DMM.comにおけるユーザーレビュー基盤のKPIツリー公開〜

合同会社DMM.com 石垣雅人(@i35_267)氏

データ駆動戦略で成長させていくという話。今回はユーザーレビュー機能に関して。

既にあるものを少しずつ伸ばしていくことにフォーカスしている状況なら、施策に対する予測がしやすいので良いよねというところ。

16:20〜17:05 【15-E-7】 セキュアな環境でDevOpsを実現する厳選ツール

マクニカネットワークス株式会社 根本竜也氏 株式会社セガゲームス 上田展生氏

前半は厳選ツール = GitHub Enterprise (GHE) (上田氏)。3年前はまだ Subversion を使っていた。そこから GHE と CircleCI Enterprise を導入していったという話。ゲーム会社だけれど Web 企業とは距離感のある企業風土を感じた。

根本氏は商材紹介。営業っぽい感じになってきたので退室。

17:25〜18:10 【15-A-8】 エンジニア人生と定年退職、人生100年時代のエンジニアの生き方

東京大学大学院 よしおかひろたか(@hyoshiok)氏

よしおか氏視点を交えつつ IT 史と概論を語る前半。途中退室。

[ 2月15日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.027157s / load averages: 0.22, 0.24, 0.24