scm

Mercurial 勉強中 (8) - hook を Trac と絡めて

TracMercurial を使ってインタフェースとして Trac を利用している場合*1,hook を設定するとさらに便利になります。 trac の post-commit-hook ヘルパスクリプトとは たいていの SCM には commit 時などについでに何か(メールを送信したりスペルチェックを…

Mercurial 勉強中 (7) - Web 経由の push と HTTP 認証

Web 経由で Mercurial のレポジトリを公開すると,デフォルトの状態では clone / pull しかできません。push するためには設定が必要になります。なお今回は hgweb.cgi や mod_wsgi 経由*1等で Apache と絡めた場合の話になります。というのは,hg serve コ…

Mercurial 勉強中 (6) - named branch と update -C

今回は named branch についてです。別に Mercurial を利用するうえで必須の概念ではないのですが,こいつを使うと multiple heads での changeset 間移動に習熟できますので。 ひとことまとめ Multiple heads は怖くない!hg update -C で branch 間の移動…

Mercurial の Subversion convert extension

Mercurial 0.9.5 以降には,他の SCM からレポジトリを取り込むための convert extension が装備されました(⇒ ConvertExtension - Mercurial)。Subversion のレポジトリから convert するための extension ももちろん含まれています。利点も多いのですが,…

Mercurial 勉強中 (5) - conflict と multiple heads, merge

他レポジトリとの conflict 状態と multiple heads の関係を step by step で確認していきます。 Step 1: 既存レポジトリを clone する まずは,既存のレポジトリを clone します。 [hg]% hg clone remote local 1 files updated, 0 files merged, 0 files r…

Mercurial 勉強中 (4) - branch と heads

Mercurial には branch という概念があります。これは Subversion で svn cp にて能動的に利用する branch とは違って,システムで用意されている機能です。なので,Subversion における branch(es) のことはスッパリ忘れてください。ややこしいのは,Mercur…

Mercurial 勉強中 (3) - .hgignore で無視リスト

要旨 SCM にはバージョン管理の対象外としたいファイルを指定するのに「無視リスト」という機能があります。 Subversion では svn:ignore プロパティにより無視リストを指定する このため,cp や mv 時に無視リストも引き継がれる また,あくまで svn:ignore…

Mercurial は空ディレクトリを管理対象に含めることができない

[~]% mkdir example && cd example [example]% hg init [example]% touch a.txt && mkdir b [example]% ls -F a.txt b/ [example]% hg status ? a.txt [example]% hg addremove adding a.txt [example]% hg status -A A a.txt [example]% hg ci -m "Initial …

Trac / レポジトリ生成用 CGI を Mercurial 対応に

以前(⇒ レポジトリ・trac 生成 CGI を作る - daily dayflower)作ったレポジトリ等生成ウェブインタフェースを,Mercurial にも対応するように書き換えました。といっても Trac 0.11b2 用にしてしまったので,0.10 では動きません。一応注釈はいれておいた…

Mercurial 勉強中 (2) - Trac と統合

Trac を Mercurial で使えるようにして,mod_wsgi にのせてみました。といっても,TracModWSGI – The Trac Project と TracMercurial – The Trac Project に沿ったらできましたのでインスコ方法とかは略。せっかくなので Trac 0.11b1 でやってみました。ソー…

Mercurial 勉強中 (1)

Mercurial の特徴 Mercurialでバージョン管理,http://python.matrix.jp/modules/mercurial.html#id3 も参照のこと。 分散型 SCM として設計されている 各レポジトリのチェックアウトはおのおの(基本的に)独立している;独立して生きていける Subversion …

Mercurial のウェブインタフェースを mod_wsgi にのせてみた

ちまたでは git が流行のきざしのようですが,わたしは今年 Mercurial を勉強する予定なのです。で,表題の件,最終的に Trac with TracMercurial に移行するつもりなので必要なくなりそうですが,技術的興味からやってみました。あ,でも hg から http 経由…