彷徨えるフジワラ

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

mercurial

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

長々続いたこのシリーズも、今回で一応終了。最終回の今回は、『名前付きブランチ』に関する、ちょっと踏み込んだ話題を扱う。普通に運用する場合には、それほど必要となる局面は無いかも知れないけれど、知っていればちょっとは便利になるかもしれない事柄…

(特に 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 での基…

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 エクステンションでは、内部処理が全…

TokyoMercurial #3

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

Mercurial と Subversion の連携

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

終了コードにまつわる話

事の発端は以下の 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…

OpenSolaris ハッカソン (2012.03)

今月は、通常の東京 OpenSolaris 勉強会主催の勉強会ではなく、OpenSolaris ハッカソンと題して、静岡合宿での作業の続きを実施。っつーか、僕は件の静岡合宿には行って無いのだけれど、"Japan OpenSolaris Users Group Packages" プロジェクトの履歴管理に …

Python Developers Festa 2012.03

Mercurial ハンズオンのスタッフ要員として、Python Developers Festa 2012.03 に参加してきた。主催の id:Voluntas 氏を初めとする運営スタッフの皆様、および参加者の皆様、お疲れ様でした。それから、私の到着、ギリギリ時間過ぎでしたね。受付のお手数を…

TokyoMercurial #2 まとめ

TokyoMercurial #2 に参加してきた、というのは既に書いたのだが、先のエントリは『とにかくサンプルコードをさっさと公開する』だけのものだったので、改めてまとめをしてみようと思う。 KPT (Keep Problem Try) の抽出 Keep Wi-Fi/電源等のインフラがしっ…

TokyoMercurial #2

TokyoMercurial #2 に参加してきた。# 公式ページは bitbucket 上に今回も開催/運営お疲れ様でした! > id:troter色々まとめたりしていると、公開が遅くなってしまうので、とりあえず『コミットメッセージを事後改変するエクステンション』実装の概要を貼…

グルジア ⇒ ジョージア

Mercurial のパッチを投函した際に『グルジア (Georgian) 文字だと上手く動かないケースがあるよ』と Matt に指摘された当初は、「ジョージア州って固有の文字を持ってるの?」と、頭の上に疑問符が出まくりだったのも、今となっては良い思い出。と思ってい…