彷徨えるフジワラ

年がら年中さまよってます

(特に Git 併用ユーザには是非読んでおいて欲しい) Mercurial における『ブランチ』の概念 〜 その5

今回は『名前付きブランチ』運用時に必要となる幾つかのトピックを扱う。ちなみに、当初は『5回』の予定だったけど、あと1回加えて、全6回になる模様。以下、各回で説明する主なトピック: その1: 名前無しブランチ その2: 名前付きブランチ その3: …

(特に Git 併用ユーザには是非読んでおいて欲しい) Mercurial における『ブランチ』の概念 〜 その4

今回は "topological branch" の話。以前は原語の "topological branch" を正確に直訳した『位相(幾何学)的ブランチ』という呼称を用いていたが、現在はオンラインヘルプも含めて『構造的ブランチ』という呼称を用いるようにしているので、旧来の呼称に馴染…

(特に Git 併用ユーザには是非読んでおいて欲しい) Mercurial における『ブランチ』の概念 〜 その3

※ 2013-10-10: 暗黙の更新反映等、ブックマークの伝搬に関して、記述を補足当初は『構造的ブランチ』の説明をしようと思っていたのだけれど、『特に Git 併用ユーザには是非読んでおいて欲しい』と冠していることもあり、Git ユーザにとっての『ブランチ』の…

(特に Git 併用ユーザには是非読んでおいて欲しい) Mercurial における『ブランチ』の概念 〜 その2

今回のお題は、Git における『ブランチ』と同じものと誤解してGit 併用ユーザが混乱する事案が多発する、Mercurial の『名前付きブランチ』に関して。以下、各回で説明する主なトピック: その1: 名前無しブランチ その2: 名前付きブランチ(本エントリ) そ…

(特に Git 併用ユーザには是非読んでおいて欲しい) Mercurial における『ブランチ』の概念 〜 その1

ここ暫く、Twitter や ML 等で、Mercurial の『ブランチ』に関する質問 (特に Git の『ブランチ』との対比) に答える機会が度々あったので、Mercurial における『ブランチ』の概念に関してまとめてみた。実のところ、SCMBootCamp in Nagoya #1 での、稲田氏 …

obsolete 機能

来月(8月)冒頭にリリースされる Mercurial 2.3 版から、 obsolete (marker) と呼ばれる機能が追加される。>>>> 2012-08-04 追記: ここから2.3 リリース直前に、デフォルトでは obsolete 設定の追加を抑止する修正が入った模様。そのため、2.3.x 版で試験的…

obsolete 機能(リダイレクト用)

『obsolete 機能』からどうぞ

Python Developers Festa 2012.07

前回の Python Developers Festa 2012.03 に引き続き、Python Developers Festa 2012.07 に Mercurial ハンズオンのスタッフ要員として参加してきた。主催の id:voluntas 氏を初めとする運営スタッフの皆様、お疲れ様でした。id:troter 氏が作成したハンズオ…

SCMBootCamp in Tokyo 3

"SCMBootCamp in Tokyo 3" に参加してきた (togetter によるまとめ)。主催者の id:kyon_mm 氏はじめ、運営スタッフおよび参加者の皆様、お疲れ様でした!東京開催は、昨年 11 月の in Tokyo 2 以来の八ヶ月ぶり。今回も基調講演枠でお話をさせて頂くことに。…

TokyoMercurial #5

TokyoMercurial#5 に参加してきた。っていうか、開催は 07/14 で、このエントリを書いているのは実は 07/23 という、恐ろしく遅れまくりな参加レポートなのだけど、Mercurial 本体の 2.3 向けコードフリーズが迫っていたのと、SCMBootCamp in Tokyo 3 での基…

OpenSolaris 勉強会 2012.06

東京 OpenSolaris 勉強会主催の 2012.06 勉強会に参加してきた。いつもであれば、要約した発表資料を元に "Solaris Internals" の内容について話すのだけれど、そろそろ書き溜めた分が尽きるので、読み込みをしないといけないなぁ、などと思っていたら、さく…

TokyoMercurial #4.5

TokyoMercurial #4.5 に参加してきた。今回も開催/運営お疲れ様でした! > troter 氏今回は、通常の「黙々勉強会」形式ではなく、Mercurial Queue 修得のためのハンズオンを実施。@troter 氏の発表中は、まだ tweet する余裕のある参加者がちらほらと見られ…

Mercurial Queue の適用事例

コミット前レビュー 作業順序と異なる順序で履歴に記録したい 固有修正を継続的に保守したい MQ 管理領域の履歴管理 コミット前レビュー レビュアーによるレビューを済ませるまでは、共有リポジトリへの成果反映をさせたくない 『コミット前レビュー』によっ…

『ファイルの最終更新日一覧取得』を最適化してみる

※ 2012/10/11 追記ありPython から Mercurial を使うエントリがあったので、Mercurial ハッカーの増加を願って、Mercurial の内部機能の使い方について、補足説明してみることに。以下の実装で使用しているオブジェクトの詳細等に関しては、適宜『How to wri…

hglock エクステンションによる Mercurial でのファイルロック

先日のエントリで: (『DVCS はファイルのロックは取れないのですか?』という質問の) 答えは勿論 No なのですが〜 と書いたところ、MARUYAMA 氏から以下の指摘が: window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = wi…

Mercurial でのサブリポジトリの利用

ここ暫く、#TokyoMercurial (+ 懇親会)の席や twitter上などで、サブリポジトリ(subrepo)の利用に関する質問等が多かったのですが、口頭説明や、twitter の文字制限内では、なかなか正確に伝えるのが難しかったので、ブログエントリとしてまとめてみました。…

名前付きブランチ全体の差分取得と revset 利用

revset 機能が導入される以前であれば: 名前付きブランチにおける、分岐時点から最新までの総差分 みたいなものを参照しようとした場合: "hg log -b ブランチ名 --template '{rev}\n'| tail -n 1" などで、最初の分岐リビジョン(BRANCHING)を取得 "hg parent…

TortoiseHg 利用者は revset 指定を積極的に活用すべき

まぁ、僕自身が去年の年末まで、revset は殆ど使っていなかったので、あまり偉そうなことは言えた身分ではないのだけれど(笑)。TortoiseHg で『リビジョンセットやブランチで履歴をフィルター』ボタンを押すと、条件入力欄(『### revision set query ###』)…

印刷博物館に行って来た

電子書籍に関する企画展示が実施されているとのことなので、凸版印刷が運営している印刷博物館に行って来た。特別展示では、現在流通している電子書籍の中から、ジャンル (書籍/小説/新聞/資料/知育/漫画/定期刊行雑誌等々) 毎に何冊かが展示されてい…

hbstudy #33 (Mercurialハンズオン) に参加してきた

id:troter 氏が発表&進行する hbstudy #33 のMercurialハンズオンに、サポート要員として参加してきた。参加者の皆様、お疲れ様でした!開催要項のページに掲載されていた会場の地図が、本来の「西新宿一丁目5-11」ではなく、「西新宿五丁目」を指していた…

作業途中成果の push 防止

TokyoMercurial #3 の懇親会において、@cointoss1973 氏から以下の様な相談が: MQ パッチを "qpop -a" して、再度 "qpush -a" する際に、適用先リビジョンが変わってしまうのは、なんとかならないだろうか? 最初に相談された時には、何の事やらワケワカで「…

Mercurial の Subversion 連携における問題の調査 〜 その2

※ 修正が取り込まれた 2.2. 版以降であれば、言語設定に起因する変換失敗は発生しません。それ以前の版を利用する場合は、"LC_ALL=en_US.utf-8; export LC_ALL" 等により、言語設定を無効にしてください。なお、convert エクステンションでは、内部処理が全…

Mercurial の Subversion 連携における問題の調査

※ 修正が取り込まれた 2.2. 版以降であれば、言語設定に起因する変換失敗は発生しません。それ以前の版を利用する場合は、"LC_ALL=en_US.utf-8; export LC_ALL" 等により、言語設定を無効にしてください。なお、convert エクステンションでは、内部処理が全…

OpenSolaris 勉強会 2012.04

東京 OpenSolaris 勉強会主催の 2012.04 勉強会に参加してきた。"Solaris Internals" 枠は、要約した発表資料を元に、前回に引き続き 9.4.4 から勝手な掘り下げやら何やら。今日の発表は 9.5.1.1 の途中 (資料内表記で『[9.5.1.1/4]@p.482』) まで。ここ暫く…

TokyoMercurial #3

TokyoMercurial #3 に参加してきた。# 公式ページは bitbucket 上に今回も開催/運営お疲れ様でした! > id:troter参加のまとめを書くのが遅れてしまったのだが、2.2 のコードフリーズに向けて慌ててパッチを書いていたので勘弁して頂きたく。 モクモク課題…

Mercurial と Subversion の連携

最近、twitter 上で subversion 連携に関する質問に答えるために、convert エクステンション(標準同梱)とか、hgsubversion エクステンションのソースを確認しまくったので、折角だから Mercurial と Subversion の連携に関してまとめてみた。結論から先に書…

FAT を正しく case insensitive にする方法

暫く前になるけれど、Linux 上における Mercurial の case insensitive filesystem (icasefs) に対する挙動の確認が必要になった。僕の開発環境は、Windows ホスト上の VirtualBox で Linux を稼動させているので、ホスト側に挿した FAT フォーマットの USB …

aspell に使用言語を強制する

いわゆる『ドックフード喰い』として、日本語設定を有効にした状態で Mercurial の hg コマンドを使うために、LANGUAGE 環境変数に ja を設定。しかし、この設定を常用すると、思わぬ所から頭を引っ叩かれる事態が。Mercurial の開発 ML に修正パッチを投函…

OpenIndiana への移行手順 〜 その2

あるいは 134b の固有事情について。 ノートPC上の仮想環境に入れた OpenSolaris (134) を、無事 OpenIndiana (151a2) に移行させることが出来たので、この勢いが衰えないうちに、今度はデスクトップPC上の仮想環境に入れた OpenSolaris (134b) の移行に着手…

終了コードにまつわる話

事の発端は以下の tweet: window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.co…