Mercurial

MacHGでのrebase onto Mercurial Advent Calendar 2011

partake.inの12日目は文殊堂がお送りします。 深夜35時などという遅くに申し訳ありません。 今日はSourceTree無料キャンペーンによって存在意義が危うくなった感のあるMacHGも得意な箇所は凄いんだよ、ということで MacHGでrebase ontoをやるお話です。 Merc…

LT概要「GitとMercurialのリポジトリ構造の違いと歴史改変について」SCMBootCamp in Tokyo

SCMBootCamp in Tokyo 開催しました。KPT公開。 - うさぎ組にて手ぶらLTをしたので資料はないが、内容を軽くまとめておく。 GitとMercurialの比較 Git Mercurial リポジトリ commit objectのグラフと、branchのHEAD,tagなどの参照で出来ている。 commit obje…

Mercurialで別オリジンのリポジトリ間の同期を取る運用の仕方について

前説 DjangoでWebアプリを開発していて自分はJavaScript部分を担当しています。 で、サーバ側を動かさないと開発できないのは辛いので、 サーバサイドで生成されたHTMLとJSONをwgetして、js/dummy/とかに配置し、 各種URLの参照を書き換えてローカルでJavaSc…

hgsubversionのhg clone --startrev

前置き hgsubversion自体の導入については↓をどうぞ hgsubversionの導入 - 文殊堂 ちょっと前までのhgsubversion ちょっと前までhgsubversionではsvnのリポジトリの完全なコピーを作ることしかできませんでした。 例えば10年物のsvnリポジトリをhg cloneする…

rebase時に順番変わっても元のcommit日時は保持されるのね

画像はMercurial Rebase Extensionのhg rebaseを使った後のlogをTortoiseHGで表示したもの。 もちろんchangesetのhash値は変わっている。 なお、Gitも同じ。

TortoiseHG+hgsubversionでmerge trackingを使ってsvnのbranchをmergeする

前説 前回エントリは単純なmergeの例だったので、 svnリポジトリのbranchのmergeをMercurial上でやるメリットがそれほど大きくない。 Mercurialを使ってバージョン管理をする場合以下のようなやり方をすることが多い。 3のmergeでconflictがあまり発生しない…

TortoiseHG+hgsubversionでのsvnのbranchのmerge

概略 hgsubversionではhg mergeしてできたmerge済みrevisionをpushすることはできない。 hg mergeしたら merge前revisionにhg update merge済みrevisionでrevert hg commit とやって同内容の非merge revisionを作ってそれをpushすれば良い。 せつめー 黄色の…

hgsubversionの導入

基本的にhttp://monkeyisland.pl/2009/11/04/hgsubversion-on-windows/を参考にする svnをインスコする hgsubversionを使うにあたってはsvnコマンドのインストールが必要。 TortoiseSVNが入っていてもダメ。 Apache Subversion 設定時に知っておくべきことか…

HgTracHook導入に失敗した件

こいつを使おうと思ったが、上手く動かなくて困った。 HgTracHook - Mercurial やったこと TracMercurialを入れた 設定の仕方等は書いてあることに従ってやった そもそも必要なのかとかよく分かっていない HgTracHookを入れた bitbucketからclone http://pyt…

Re:mercurialでチケット駆動開発

元記事 mercurialでチケット駆動開発 - logiqboard default・confirm・topic*いっぱいというbranchの使い方の懸念点 リリース順≠開発完了順(チケットAは開発完了しているが優先してチケットBだけを今すぐリリースしなければいけない という状況がありえると…

TortoiseHG 0.9.0のincoming,pull/outgoing,push

Bitbucket | The Git solution for professional teams Bitbucket | The Git solution for professional teams TortoiseHGでのリモートリポジトリとの同期機能が、 リポジトリブラウザと統合されかなり強化された。 初期状態 まず、localのリポジトリが↓ rem…

非ギークのためのMercurialとか

思うところとか blogでずっとやってきたでのtipsの蓄積は自分の開発効率を最大化するために、 Mercurialの機能を最大限生かして行く方針で蓄積しているtips。 これは、そうではなくて、色んな会社の人が入っているようなプロジェクトで、 メンバ全員バージョ…

TortoiseHGのGuess Renamesが超素敵な件

EclipseのJava projectをMercurialのリポジトリとして管理していて、 その中に何かclassがあるとします。 Eclipseのリファクタリング機能でpackage移動とclass名変更すると、 変更/移動元classのファイル削除と、 無関係の新規ファイル(変更/移動)追加にな…

Maven2俺々リポジトリをhg servで立てる。

前置き やること自体はほぼこれと一緒なので詳細はこっち見てください。 Maven2でテキトウに社内リポジトリを作る方法 - tanamonの日記 違うところ ローカルでてきとーにMercurialリポジトリを作って、そこにMaven2リポジトリのディレクトリ構成に従って、ja…

Mercurialでchangeset圧縮

Gitのchangeset圧縮がうらやましいので、 MercurialQueueを利用してやってみた。 概ね↓を参考にした。 ursmの日記最初からMercurialQueueで管理していない場合のやり方です。 branchのMercurialQueueへのpatchに変換 Rev:298〜Rev:301のbranchのRev:298〜Rev…

hg transplantを試してみた

Mercurialを使った俺々バージョン管理ノウハウまとめ(2009年夏編) - 文殊堂で、 export・importによるつまみ食いmergeの話を書いたら、 id:ursmがTransplantExtension - Mercurialを教えてくれた。 先日書いたやり方はbranch b1に含まれるいくつかのchangese…

Mercurialを使った俺々バージョン管理ノウハウまとめ(2009年夏編)

職場でMercurialを使っていい感じに俺々バージョン管理を やれるようになってきた感があるので、 ノウハウをまとめる。 概略 中央リポジトリと同期をとるbranchを用意する 同期branchはsync_cvsとかそんな名前 defaultをそのまま使っても良い このbranchで開…

Mercurial のbranchの話

Mercurialを使ってバージョン管理しているプロジェクトで、 BTSでチケットを切るたびにbranchを切るという運用方針のものがあるそうです。 こうすると各チケットのソース変更がconflictしてウボァーみたいにならないというのと、 merge済みのbranchはinactiv…

KDiff3導入の話

本題 Mercurialで手動mergeが必要な時にWinMergeを使用していたのをKDiff3に切り替えた。 Kdiff3Mercurial.iniの設定 [merge-tools] ;[merge-tools]の一番上に↓を書いておけばOK kdiff3.args=--auto --L1 base --L2 local --L3 other $base $local $other -o…

バージョン管理とか

Mercurial活用について 1月からMercurialを使い続けて↓の本の内容は大分身に付いてきた感じ。入門Mercurial Linux/Windows対応作者: 藤原克則出版社/メーカー: 秀和システム発売日: 2009/01/20メディア: 単行本購入: 10人 クリック: 220回この商品を含むブロ…

hg serveで表示しているhg annotateの結果を強調表示するbookmarklet

実行するとリビジョン番号を聞いてくるので、 数字を入れると、その次以降のリビジョン番号の行のみ強調表示する。 javascript:(function%20(options)%20{var%20s=document.createElement('script');var%20head=document.getElementsByTagName('head')[0];va…

.hgignoreをどうするか相談しようそうしような時のやり方について

管理したいディレクトリ上でhg initする 暫定版の.hgignoreを書く(参考:.何某ファイルを管理対象から除外する - 文殊堂) hg st > /home/hogehoge/hg_st.txt 管理対象になるファイルの一覧を出力する hg st -i -X logs > /home/hogehoge/hg_st_i.txt 管理対…

.何某ファイルを管理対象から除外する

リポジトリのトップがどれかのアカウントでのhomeだった場合には、 .bashrcとかいった.何某ファイルが大量にあって、 そういったファイルをhg cloneとかで一緒に持って行きたくないものです。 Mercurialでファイルを管理対象から除外するには.hgignoreに記述…