サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
www.lares.dti.ne.jp/~foozy
私の記憶では、 2008 ~ 2009 年頃の日経SYSTEMS誌で実施した 『開発支援ツール』に関するアンケートでは、 『使ってみたい構成管理ツール』枠での CVS への投票が 50% 前後、 という結果でした。 つまりこれは、 『回答者の 50% 前後は CVS すら使ったことが無い 』 ということを意味します。 母集団である『日経SYSTEMの購読者層』には、 色々なバイアスが掛かっているかもしれませんが、 一概に見当違いの結果と一笑に付すわけにもいきません。
藤原 克則 ( FUJIWARA Katsunori ) 前職で、 HPC ( High Performance Computing ) 系システムのために Solaris 向けファイルシステムを実装したのを機に、 OpenSolaris 勉強会に参加。 「入門Mercurial Linux/Windows対応」、 「俺のコードのどこが悪い?―コードレビューを攻略する40のルール」、 「アセンブラで読み解くプログラムのしくみ」 といった書籍の執筆や、 技術系ウェブ媒体への記事の寄稿といったことも。
Mercurial のソースコードを参照する際に、 必要となる基本的な知識に関して説明します。 ここでは、 『じっくり読み込む』レベルの一歩手前の、 『ウォークスルー』(walk through) で概要を把握する程度の『参照』を想定しています。 extension に関する説明も併せて参照してください。 コード中での使用頻度が高い Mercurial 固有の慣用句 コード参照時の確認頻度が高い Mercurial 固有のクラス コード中での利用頻度が高い Mercurial 固有のファイル Mercurial での使用頻度が高い Python 固有の慣用句/基本文法 コード中での使用頻度が高い Mercurial 固有の慣用句 メッセージ国際化 "_()" Mercurial では、 メッセージの国際化に対応するため、 mercurial/i18n.py において、 gettext()
2013/08/30 9.11 までのまとめを追加 2013/07/27 9.10.2 までのまとめを追加 2013/06/29 9.9 までのまとめを追加 2012/08/24 9.6 までのまとめを追加 2012/01/26 既存部位に加筆/修正を実施 2011/11/25 9.5 までのまとめを追記 2011/08/27 9.2.3 までのまとめを追記 2011/07/29 初版公開(~ 9.1 まで) ----@ 藤原 克則 ( FUJIWARA Katsunori ) 受託開発主体の独立系ソフトウェアハウス数社を経て、現在フリーランス。 前職で、 HPC ( High Performance Computing ) 系システムのために Solaris 向けファイルシステムを実装したのを機に、 OpenSolaris 勉強会に参加。 「入門TortoiseHg+Mercurial」
正式には、 「ソフトウェア構成管理」 (Software Configuration Management: SCM) と言います。 「ラショナル統一プロセス」 (Rational Unified Process: RUP) では、 「構成および変更管理」 (Configuration and Change Management: CCM) などとも呼ばれます。 では「構成」とはなんでしょう?
引数/戻り値の型が不明瞭: 文字列/changectx 型/内部データ形式(node) 1.0 版以前は、内部データ形式を必要とするケースが多かった 現行版では概ね、引数なら文字列/changectx 型が併用可能、 戻り値は changectx/filectx ないし revlog 型になっている (内部データ形式の直接アクセスは隠蔽)ので、 あまり心配する必要は無い(筈) ---- 引数/戻り値の型が不明瞭: 文字列/changectx 型/内部データ形式(node) 1.0 版以前は、内部データ形式を必要とするケースが多かった 現行版では概ね、引数なら文字列/changectx 型が併用可能、 戻り値は changectx/filectx ないし revlog 型になっている (内部データ形式の直接アクセスは隠蔽)ので、 あまり心配する必要は無い(筈) undocumented な
TortoiseHg の GUI 利用に主眼を置いた、 Mercurialによる履歴管理の入門書が、 「入門TortoiseHg+Mercurial」(ISBN: 978-4-7980-3710-3) と題して、 秀和システムから出版されています。 正誤情報 内容の不備等にお気付きの際には、 @flyingfoozy へのツイート等で、 お気軽にお寄せください。 5.4.1 連携先の登録(94p) 9.2.3 名前付きブランチのマージ(176p) A.1.2 Mac OS 環境へのインストール(p298) D.3.2 接続先ホスト上のhgコマンドの確認(318p) E.2 独自設定の記述例(325p) ■ 5.4.1 連携先の登録 94ページ上部の、CUI向け『連携先の登録』: 誤: 古パスやURLの代わりに 正: フルパスやURLの代わりに ■ 9.2.3 名前付きブランチのマージ 17
注意: 他環境での Mercurial インストール経験があっても、 別環境で Mercurial をインストールする際には、 以下の節を一通り確認することを強くお勧めします。 インストール 文字コード マージプログラム 設定ファイル記述 << 現ページ 初期導入時に必要と思われる設定ファイル記述に関してまとめてみました。 設定ファイルの詳細に関しては、 "hg help config" 出力、 あるいはそのウェブ版を参照してください。 文字コードと言語に関する設定を行うことで、 "hg help config" 出力も日本語化されます。 ウェブ版も日本語訳があります。 設定ファイルの有効範囲 [ui] username [ui] merge [paths] [encode], [decode] 設定ファイルの有効範囲 Mercurial では、 通用範囲の異なる複数の設定ファイルが読み込
Copyright (C) 2008- FUJIWARA Katsunori - All Rights Reserved./ foozy@lares.dti.ne.jp
CVS に代表されるリポジトリ集中型 SCM では、 単一の「リポジトリ」を作業者間で共有する形態を取りますが、 Mercurial のような分散リポジトリ型 SCM の場合、 全ての作業者の手元に「リポジトリ」が存在します。 但し、全ての作業者の手元に 同一内容の「リポジトリ」が存在するのではなく、 各自の作業によって生じた「リポジトリ」間の更新内容をお互いに伝播しあうことで、 最終的に全体としての一貫性を保つようになっています。 備考: 「集中リポジトリ型」と「分散リポジトリ型」の違いは、 ftp によるダウンロードと P2P によるファイル共有の違い、 と考えるとイメージしやすいかもしれません。 そのため、 手元の単一のリポジトリ(= ローカルリポジトリ)に対する操作に加えて、 複数の外部リポジトリ(= リモートリポジトリ)との連携が必要となります。 更新伝播の概要 以下、 作業者
本節では hg initで新規作成された単一のリポジトリ (= ローカルリポジトリ)を元に、 Mercurial が構成変更をどのようなモデルで管理しているかを説明します。 内容的には分散リポジトリ型 SCM らしさはありませんが、 「マージ」の概念などは、 リポジトリ分散時の更新伝播には欠かせないものとなります。 初期状態作成 チェンジセット 複数ヘッド マージ 初期状態作成 本節では、 以下の手順で作成した Mercurial のローカルリポジトリを元に説明を行います。 この手順で作成されたリポジトリには、 初期状態として3つのファイル(A.txt, B.txt および C.txt)が含まれています。 以下、コマンド実行例における行番号位置を表す場合、 角括弧表記(e.g.: "[1]")を用います。 [ 1]: % hg init myrepo [ 2]: % cd myrepo [
注意: 他環境での Mercurial インストール経験があっても、 別環境で Mercurial をインストールする際には、 以下の節を一通り確認することを強くお勧めします。 インストール 文字コード << 現ページ マージプログラム 設定ファイル記述 Mercurial における文字コード設定の概要 Windows 環境での文字コード設定 Cygwin 環境での文字コード設定 Unix/Linux 環境での文字コード設定 Mac OS 環境での文字コード設定 環境変数の設定 ウェブサーバによる公開時の設定 Emacs の hg モード利用における留意点 ファイル名の正規化 CP932 の問題点 Mercurial における文字コード設定の概要 Mercurial が履歴を記録する際には、 ログメッセージを UTF-8 形式に変換した上で格納しているため、 文字コード設定の異なる環境の間
本節では、 Mercurial では実現できても、 CVS (あるいは他の集中リポジトリ型の SCM ツール) を利用した場合には実現が難しい(あるいは運用が面倒な) 構成管理のシステム構成例を示します。 事前検証 多段受け入れ 事前検証 前提: 特定のソフトウェア/ハードウェアの必要性や、 インフラ等の利便性の面などから、 ファイルの編集やコンパイル確認を行う主開発環境と、 実際に動作させる(あるいは性能計測等の検証を行う)環境が異なる。 要望 開発者間での共有用リポジトリへの更新伝播前に、 検証用環境で確認を行いたい。 構成概要 共有リポジトリ(Master)/開発者リポジトリ(Worker)の他に、 検証環境にも各開発者ごとのリポジトリ(Examiner)を用意し、 事前検証および検証結果による作業成果の取り込みは、 開発者リポジトリ/検証環境リポジトリ間での更新伝播で実現する。 他
ここでは、 SCM(Software Configuration Management:ソフトウェア構成管理)に関して、 ツール導入の際の調査/作業等における備忘録や、 運用のために作成したユーティリティの公開等を行います。 あくまで個人的且つ隙間的なニーズを元にしていますが、 何かのお役に立てれば幸いです。 目次 分散 SCM(Software Configuration Management) ツールである Mercurial の利用に関してまとめたもの。 旧来のコンテンツを再編しました。 表題 概要 Mercurial の利用
本ページでは、 Emacs 用の Mercurial 連携フロントエンドとして提供される hg モード (mercurial.el)および mq モード(mq.el) に関する情報をまとめてみました。 備考: 本ページに記載されているコードは我流によるものですので、 Emacs lisp 界隈における、より一般的な実装方法に関して、 ご存知の方は御教頂けると幸いです。 なお、hg モードでは Emacs 21.x 以降で新設された関数が利用されているため、 実際に利用する環境で emacs-major-version 変数値を確認した上で利用してください。 また、私自身は 21.4 環境での動作確認しか行っていません。 elisp ファイルの読み込み hg モード mq モード トラブルシューティング elisp ファイルの読み込み Emacs 用フロントエンドの elisp ファイルは:
注意: 他環境での Mercurial インストール経験があっても、 別環境で Mercurial をインストールする際には、 以下の節を一通り確認することを強くお勧めします。 インストール 文字コード マージプログラム << 現ページ 設定ファイル記述 Mercurial 1.0 以降とそれ以前では、 マージプログラムに関する設定が大きく変更されています。 マージツール設定が無い場合、 1.0 版以降であれば、 (CVS や Subversion と同程度の) 非対話的 3-way マージを行う "internal:merge" (Python 実装による内部マージツール) が選択されます。 但し、 パッケージ管理ツールでインストールされた場合や、 バイナリパッケージをインストールした場合、 パッケージ作成者によって、 デフォルト設定が追加されている場合がありますので、 設定確認に多少の
重要: Mercurial の 1.x ⇒ 2.0 では、 コンセプト/操作性/互換性等における大きな改変はありません。 あくまで通常の定例アップデートに過ぎませんので、 従来の版を元に書かれている情報の多くは、そのまま適用可能です。 はじめに ノート PC での移動中作業が多くて 「オフラインでコミット/ブランチ作成/履歴参照/差分参照できない」 ことに不便を感じていたり、 「システム構成例」 に示すような構成管理の仕組みを必要とした経験がある場合、 分散リポジトリ形式を用いる Mercurial は、 試してみる価値のあるソフトウェア構成管理 (SCM: Software Configuration Management) ツールと言えます。 しかし、 CVS などを常用して SCM ツールの原理/概念を理解している人でも、 意外に「分散リポジトリ」という考え方がピンとこない場合が有る
注意: 他環境での Mercurial インストール経験があっても、 別環境で Mercurial をインストールする際には、 以下の節を一通り確認することを強くお勧めします。 インストール << 現ページ 文字コード マージプログラム 設定ファイル記述 Mercurial のインストールに関してまとめてみました。 以下のテーブルから、 各自の事情に適したインストール方法を選択し、 「インストール方法」欄のリンクをクリックしてください。 OS 実行ファイル形式 インストール方法 備考 Linux/Unix
このページを最初にブックマークしてみませんか?
『www.lares.dti.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く