<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vcs on yusuiked&#39;s blog</title>
    <link>https://blog.yusuiked.dev/categories/vcs/</link>
    <description>Recent content in Vcs on yusuiked&#39;s blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja-jp</language>
    <managingEditor>yusuiked@gmail.com (yusuiked)</managingEditor>
    <webMaster>yusuiked@gmail.com (yusuiked)</webMaster>
    <lastBuildDate>Sun, 19 Dec 2010 16:01:31 +0900</lastBuildDate><atom:link href="https://blog.yusuiked.dev/categories/vcs/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>分散バージョン管理勉強会に行ってきた</title>
      <link>https://blog.yusuiked.dev/posts/2010/12/19/attended-distributed-version-control-study-meeting/</link>
      <pubDate>Sun, 19 Dec 2010 16:01:31 +0900</pubDate>
      <author>yusuiked@gmail.com (yusuiked)</author>
      <guid>https://blog.yusuiked.dev/posts/2010/12/19/attended-distributed-version-control-study-meeting/</guid>
      
      <description>&lt;p&gt;最近，Gitを勉強しようと思っていたらタイミングよく勉強会があったので参加させていただきました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://kokucheese.com/event/index/6329/&#34;&gt;12月17日 分散バージョン管理勉強会(東京都)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;まとめ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://sourceforge.jp/projects/shibuya-trac/wiki/meeting/13&#34;&gt;meeting/13 - Shibuya.trac Wiki - Shibuya.trac - SourceForge.JP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;DVCSについて，外観からディープな話題，ネタ発表までバラエティ豊かな発表でとても楽しかったです。特に，神速さんのゆるふわ愛されキャラ振りはすごいw&lt;br&gt;
以下，各発表のメモ＆感想です。&lt;/p&gt;
&lt;h4 id=&#34;分散バージョン管理システムってなんなんおかもとさん&#34;&gt;分散バージョン管理システムってなんなん？（おかもとさん）&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;前説ということで，場を暖めるために様々なネタがちりばめられていましたが，会場の照明が思ったよりも明るく，スライドが見えにくくなってしまったためあまりオチなかったところが逆に面白かったw&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CVS→現在までのバージョン管理ツールの変遷&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;書籍とかである程度事前知識を入れてはいたけど，改めて聞いておさらいができた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;分散バージョン管理のメリットはよく聞くけど，デメリットはあまり知らなかったので勉強になった&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;特に，ロックができないというのは&lt;a href=&#34;https://blog.yusuiked.dev/posts/2010/12/19/attended-distributed-version-control-study-meeting/#f1&#34; title=&#34;アーキテクチャをよくよく考えれば当たり前なのだけれど&#34;&gt;*1&lt;/a&gt;，バイナリファイルの扱いが難しいということで，Excelなどのファイルを管理するのは難しいのかな？&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;調べたら，MercurialはTortoiseHgを使えば差分が取れるらしいので，Windowsユーザにも優しいようだ&lt;/li&gt;
&lt;li&gt;この点は，現場導入するにあたってMercurialかBazaarに揺れる一つの要因になりそう。あとGitのコマンドを現場のメンバに覚えさせるのは難しい気もするし。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Git,Mercurial,Bazaarの比較&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;比較表はもうちょっとじっくり見たかった&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;スライド公開された&lt;a href=&#34;http://www.slideshare.net/TakashiOkamoto/20101218-6213044&#34;&gt;分散バージョン管理システムって何なん 20101218&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;リビジョン表示は，Gitの場合ハッシュだけど，revertする時はコミットログが頼りになるのかな？そうするとメンバーにしっかりコミットログを書かせるようにしないと厳しそう&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;まとめ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;デメリットも考慮して，Subversionから移行しないというのも一つの選択肢，というのは肝に銘じておこうと思った&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;gitとhudsonによるきれいなリポジトリの作り方idbleis-tiftさん&#34;&gt;GitとHudsonによるきれいなリポジトリの作り方（&lt;a href=&#34;http://blog.hatena.ne.jp/bleis-tift/&#34;&gt;id:bleis-tift&lt;/a&gt;さん）&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;テライケメン&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id=&#34;前半部ソフトウェア開発に対する思い&#34;&gt;前半部（ソフトウェア開発に対する思い）&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ソフトウェア開発で発生する問題としての手動テスト，Excel管理，Excel設計&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;まずこれらを卒業するのが先決ですよね。汎用機文化の人たちにこれをわからせるためにはどうしたら良いんだろう…&lt;a href=&#34;https://blog.yusuiked.dev/posts/2010/12/19/attended-distributed-version-control-study-meeting/#f2&#34; title=&#34;彼らの文化全否定ですからね…&#34;&gt;*2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;バージョン管理システムを使っているだけではダメで，正しく使わないとダメ&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;集中管理型は使っているみんなが変更を知っていないとダメ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使っているみんなに間違った影響が伝播してしまうから&lt;/li&gt;
&lt;li&gt;そもそもバージョン管理ツールの仕組みから知ってもらわないとこういうことってわからないんですよね…どうやって時間を取ってもらうか。彼らはこういう勉強などいっさいしないし…&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id=&#34;後半部きれいなリポジトリ&#34;&gt;後半部（きれいなリポジトリ）&lt;/h5&gt;
&lt;p&gt;分散バージョン管理初心者の私には結構高度なテーマでしたが，説明がわかりやすかったので聞いていて何となく理解はできました。ただ，自分でこの環境を構築しようとするのは今のレベルでは難しいかも。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ここではいつ取ってきてもビルド可能なリポジトリのことをきれいなリポジトリとして定義&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;自分がミスっても他の人に影響を与えることがない&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CIを導入することで，リポジトリが更新されたきっかけでビルドを走らせることによって素早いフィードバックを得ることができる&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ただし，フィードバックだけでは不足で，汚してもよい領域ときれいな（ビルドが通る）領域とに分けて管理することで，きれいなリポジトリが実現できる&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ブランチ分割&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;更新をかける開発者ごとのブランチと，実際に更新されるブランチに分ける&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;リポジトリ分割&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;きれいなリポジトリと，開発者が壊しても良いリポジトリに分ける&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;hookでmasterブランチを直接pushできないようにし，privateブランチの更新をhookしてビルドする&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;利点・欠点&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;開発者が増えたとき&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブランチ分割の場合，CIのジョブを増やすだけ&lt;/li&gt;
&lt;li&gt;リポジトリ分割の場合，リポジトリも増やして設定する必要がある&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;最新ではないもののpush&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブランチ分割の場合，ロールバック？通知だけ？&lt;/li&gt;
&lt;li&gt;リポジトリ分割の場合，ロールバックするだけ&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;リポジトリ分割の場合，hookを差し込む場所が多くなる&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;テストの分割&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;privateリポジトリで単体テスト&lt;/li&gt;
&lt;li&gt;centralリポジトリにpushされたタイミングでhookして結合テスト&lt;/li&gt;
&lt;li&gt;このアイデアは言われてみれば合理的だけど，すごいと思う。というか実現したのがすごい&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;最初に試すのはブランチ分割がおすすめ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;hudsonのgitプラグインのオプションにあるらしい&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;traclightningとtortoisehgのゆるふわな連携idwyukawaさん&#34;&gt;TracLightningとTortoiseHgのゆるふわな連携(&lt;a href=&#34;http://blog.hatena.ne.jp/wyukawa/&#34;&gt;id:wyukawa&lt;/a&gt;さん）&lt;/h4&gt;
&lt;p&gt;ゆかわさんの発表はHudson勉強会に続いて２回目の聴講でした。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Mercurialの特徴&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;コマンドがSubversionに似ている&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;単機能（Gitは多機能）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;拡張機能が豊富&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;リベース，歴史改変，チェリーピック，部分コミット，シェルフなど&lt;/li&gt;
&lt;li&gt;うーむ，勉強不足なのでよくわかってません。勉強します。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Mercurial Queue(MQ)というGitのインデックスに似たパッチ管理機能&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
