読者です 読者をやめる 読者になる 読者になる

mercurial

generaldeltaを有効にしてmercurialのリポジトリサイズを減らす

Mercurialのリポジトリの履歴のフォーマットは通常のフォーマット以外にgeneraldeltaというものが有ります。 http://mercurial.selenic.com/wiki/GeneralDelta と偉そうに言ってみましたが、NetBSDリポジトリに関するMLのツイートをtwitterで見て初めて知り…

#kyon_kao_wedding と #real_dvcs に参加してきました。

きょんさん、かおりさん、ご結婚おめでとうございます! という事で、参加してきました。 #kyon_kao_wedding ガチ発表と様々なのろけの温度差にやられました。ご結婚おめでとうございます。ライフ尽きました。 #real_dvcs アンチパータンがいっぱい紹介され…

gitworkflowについての雑感

誰得UNIX-Blog: git-flowでもgithub flowでもない、Git本家推奨のワークフロー http://t.co/WC3NmN0Yy3 @troter の熱い解説を待とう— V (@voluntas) 2014, 2月 2 振られたので。詳しい内容はリンク先をどぞー。 gitworkflow 日本語訳 git reset 特徴的という…

2013年のMercurialの主な変更点 #mercurialjp

このエントリはMercurial Advent Calendar 2013 の18日目です。 3ヶ月に一度メジャーリリースのあるMercurialはこの一年で2.4から2.8までバージョンアップしました。その間にあった主な変更点をまとめたいと思います。 機能追加 Command enable secret phase…

MQの適用済みパッチをrebaseする #mercurialjp

このエントリはMercurial Advent Calendar 2013 の16日目です。 MQを使っていて困るのが、ファイル名の変更です。 あるファイルAに対してパッチaを作成していて 最新版を取り込んだらファイルAはファイルBに変更されていて 最新のソースにパッチaが簡単に適…

hg cloneする時に利用できるリポジトリの指定方法について #mercurialjp

このエントリはMercurial Advent Calendar 2013 の7日目です。*1 hg cloneするときのURLについて書きます。 基本編 通常hg cloneに次のようなURLを渡すことでリポジトリをクローンすることができます。 $ hg clone path/to/local/repo $ hg clone file:///ab…

自分用のRevsetsを定義する。 #mercurialjp

このエントリはMercurial Advent Calendar 2013 の1日目です。 MercurialにはRevsetsというリビジョン郡を指定するための条件を記述するDSLが組み込まれています。Revsetsに関しては過去のAdvent Calendarのエントリにわかりやすい解説があるのでそちらを参…

PyCon APAC 2013 開催期間中に勢いで作成したMercurial関連のスライド

twitterでも流しましたが、勢いで作成したスライドです。PyCon APAC 2013 Sprintの成果ということで。 英語はリリースノートからのコピペとかです。 Mercurial Update 2012/08-2013/09 PyCon APAC 2013 Sprint Short Introduction of Mercurial Evolve Exten…

hg rebase が3-way mergeしてくれるという話

hg rebaseは3-way mergeします。 mercurialでhg graftは3-way mergeしてくれるのが売りだけど、hg rebaseはどうなんだっけ?という話がよく出るので。 以下、試したログ % hg version | head -n1 Mercurial Distributed SCM (version 2.7.1) % hg init rebas…

mercurialでgit new-workdir

ローカルのリポジトリをコピーするための専用のコマンドはmercurialには無い。*1 単にcloneすればよい。 hg clone <repository> <new_workdir_path> 追記: git new-workdirは.git以下のファイル郡をsymlinkで共有しているので、元のリポジトリのコミットがnew_workdirでも参照できるが、hg </new_workdir_path></repository>…

TokyoMercurial#8 を開催しました。 #TokyoMercurial #mercurialjp

2013/06/23(日)にTokyoMercurial#8を開催しました。 TokyoMercurial 公式ページ TokyoMercurial#8 まとめページ やったこと 国際化されたマニュアル(Manpage, HTML)を生成するパッチの修正 RhodeCodeのメッセージリソースをTransifexで翻訳 宝塚記念観戦 次回…

Mercurial-2.6でhgwebからイシュトラッカーにリンクを張る

前回のhgwebからイシュトラッカーにリンクを張るではInterhgExtensionを利用しました。が、InterhgExtensionはMercurial-2.6からobsoleteとなりました。 というのも、InterhgExtension相当の機能はwebsubテンプレートフィルターという形でhgwebに取り込まれ…

Mercurial-2.6から追加されたunionスキームについて調べてみた。

Mercurial-2.6から追加されたunionスキームについて調べてみた。 Mercurial-2.6からリポジトリ指定時にunionというスキームが指定できるようになりました。 unionを利用すると、次の形式で指定した2つのローカルリポジトリの履歴をミックスして閲覧できるよ…

Mercurial-2.6の並列になったupdateの注意点

いくつか注意点があることを id:flying-foozy さんに指摘してもらったので紹介します。 並列updateで10万規模のファイルを一度に更新するとlinux kernelでsoft lockupと誤認される 10万規模のファイルを更新するとlinux kernelでsoft lockupと誤認されるよう…

Mercurial-2.6-rcの並列になったupdateをmozilla-centralで試す

rhodecodeのリポジトリよりずっと巨大なmozilla-centralでMercurial-2.6-rcの並列になったupdateを試してみた。 mozilla-centralの大きさはこんな感じ。13万リビジョン、7万8千ファイルある。 % hg tip リビジョン: 129561:aa620f3fc2f7 タグ: tip ユーザ: M…

Mercurial-2.6-rcの並列になったupdateを試す

多数のパフォーマンスチューニングを含むMercurial-2.6のリリース候補版がリリースされた。今回のリリースからhg updateの処理が並列化されるようになったので試してみた。 インストール バージョンを指定してインストール。 % pip install -U mercurial==2.…

TokyoMercurial#7 を開催しました。 #TokyoMercurial #mercurialjp

2013/03/23(土)にTokyoMercurial#7を開催しました。 TokyoMercurial 公式ページ TokyoMercurial#7 まとめページ Mercurial Wikiの適当なページの翻訳を行うと考えていたのですが、実際はrhodecode-1.6.0devのメッセージの翻訳を行なっていました。betaブラン…

入門TortoiseHg+Mercurial

著者の id:flying-foozyさんから「入門TortoiseHg+Mercurial」を献本していただきました。 入門TortoiseHg + Mercurial作者: 藤原克則出版社/メーカー: 秀和システム発売日: 2013/02メディア: 単行本購入: 3人 クリック: 3回この商品を含むブログ (5件) を見…

hg convert --splicemap でリポジトリ変換時に履歴を繋ぐ #mercurialjp

このエントリは Mercuiral Advent Calendar 2012 の25日目です。 またまたid:flying-foozyさんからネタを提供していただきました。長かったMercurial Advent Calendarもこれが最後です。 単にhg convertで変換してみる リポジトリ変換を行うhg convert。ブラ…

特別なブックマーク bookmark('@') #mercurialjp

このエントリは Mercuiral Advent Calendar 2012 の21日目です。 id:flying-foozy さんからアンドキュメンテッドなMercurialの仕様を教えていただいたのでそのことをネタにします。 bookmark('@') 最近Mercurialのリポジトリにブックマークが付きました。 bo…

Pure JavaによるMercurial実装 Hg4J #mercurialjp

このエントリは Mercuiral Advent Calendar 2012 の20日目です。 Pure JavaによるMercurialの実装Hg4Jの紹介をしたいと思います。 Hg4J Hg4J Pure Java によるMercurial実装です。 Mercurial 1.9から利用できる CommandServerを利用する JavaHg とは異なり、…

Yet Another Mercurial Hosting Service: Pikacode #mercurialjp

このエントリは Mercuiral Advent Calendar 2012 の15日目です。 ちまたではBitbucket一色ですが、別の選択肢のあるよー(多様性は善)ということでPikacode.comというホスティングサービスを紹介したいと思います。 Pikacode.com Pikacode.com はフリーのMerc…

あまり知られていない?Mercurialのサブコマンドやオプション #mercurialjp

このエントリは Mercuiral Advent Calendar 2012 の14日目です。 開発中によく質問されることを気ままに紹介しようと思います。 リポジトリのクローン時に専用の鍵を利用する hg clone 、 hg pull 、 hg push には --ssh オプションが存在します。 このオプ…

Mercurialのバンドルファイルを扱う #mercurialjp

このエントリは Mercuiral Advent Calendar 2012 の9日目です。 Mercurialで扱えるバイナリ形式の差分ファイル、バンドルファイルについて簡単に説明したいと思います。 バンドルファイルを作る ローカルリポジトリにあるリビジョンをバンドルファイルにする…

CUIでも使えるMercurialのリポジトリブラウザ hgview の紹介 #mercurialjp

このエントリは Mercuiral Advent Calendar 2012 の8日目です。 CUIでも使えるMercurialのリポジトリブラウザ hgview を紹介したいと思います。 hgview hgviewはLinuxやMac、Cygwinで利用出来るGUI、CUI兼用のMercurialのリポジトリブラウザです。今回はCUI…

Bitbucketをちょっとだけ便利にする。 #augj

このエントリはAtlassian Advent Calendar 2012 #augjの4日目のエントリです。 前日は id:kyon_mm さんの SourceTreeで楽々git-flow, hg-flow #augj - うさぎ組 です。 明日は @mtgto さんです。 今回はBitbucketをちょっとだけ便利に使う方法を紹介しようと…

hgrc tips #mercurialjp

このエントリはMercurial Advent Calendar 2012の 1日目です。前回*1の反省を踏まえ、今回は軽いネタから、hgrcのtipsについて話したいと思います。 hgrcのマニュアルの日本語訳をwebから参照したい mercurialのマニュアルはほぼ100%日本語化されています。 …

PyCon JP 2012 で分散バージョン管理の組織化という話をしてきました

やってきましたよっと。 資料 (分散)バージョン管理システムの組織化 youtube http://www.youtube.com/watch?v=L3G62w_QQSg 時間オーバーしてしまいました。すいません。 来年はリベンジしたいですね。 内容について バージョン管理システムを漠然と使ってい…

Mercurial管理下のファイルを検索する grepfile extension

'hg grep'は履歴を検索してしまうし、'hg locate "set:grep('hogehoge')"'はマッチした行を表示してくれないので、この二つのコマンドの間の子を作って見ました。 https://bitbucket.org/troter/hg-grepfile 設定 [extensions] grepfile = [path to]/grepfil…

SCM Boot Camp in Tokyo 3にMercurialのサポーターとして参加してきました。もしくはBitbucket勉強会の告知

参加者の皆さん、運営の皆さんお疲れさまでした。Bitbucket勉強会の告知も少しだけさせて貰いました。 http://connpass.com/event/623/:title= Bitbucket勉強会 告知(#scmbc)

TokyoMercurial#5 を開催しました。

2012/07/14(土)にTokyoMercurial#5を開催しました。 TokyoMercurial 公式ページ TokyoMercurial#5 まとめページ 今回はLTがおおくてとても充実していました。発表者の @marutosijp さん、@yujauja さん、id:hokorobi さん、 id:cointoss1973 さん、id:flying…

mercurialでhg hogehogeでhg-hogehogeコマンドを実行させる

ちょいねた。.hgrcに次を設定する。PATHにhg-hogehogeがあれば実行される。windowsでもlinuxでもOK。 [alias] hogehoge = ! hg-hogehoge $@

bitbucketのmercurialのリポジトリの履歴を削除(strip)する

mercurialはgitの様にリモートの履歴をpush -fで削除できません。bitbucketでは代わりにadminのタブからstripが行えるようになっています。動きはhg stripと同じです。stripしたいリビジョンを入力します。 すぐにstripするのでは無くプレビュー画面が出来ま…

TortoiseHgを使ってWindowsマシンをMercurialのリポジトリサーバにする

TortoiseHgはmercurialのサーバ機能を内蔵しているので、そのままリポジトリサーバになります。 TortoiseHgをリポジトリサーバにする 1.Workbenchを起動して適当なリポジトリを選択後、メニューから「リポジトリ」「ウェブサーバー」を選択します。 2.この状…

TokyoMercurial#4.5 Mercurial Queues ハンズオン を開催しました。

2012/06/09(土)にTokyoMercurial#4.5 Mercurial Queues ハンズオン を開催しました。サポートスタッフのid:flying-foozyさん、id:cointoss1973さん、参加者の皆さんお疲れさまでした。 TokyoMercurial 公式ページ http://connpass.com/event/486/:title= 勉…

hgwebと2つのリポジトリでpull requestを開発フローに組み込む

http://connpass.com/event/445/:title=の成果です。 TODO: 動機付け 構成 hgwebでは次の二つのリポジトリを用意します。 http://hg.example.com/app (pull専用リポジトリ、レビュー済みの履歴を持つ) http://hg.example.com/app-work (push専用リポジトリ、…

hgwebをwsgi middlewareにして必要に応じて(hg cloneの場合に)hgwebに処理を移譲する

方法を調べていました。rhodecodeの丸パクリです。application/mercurialなんてのがあるんですね。 動かすにはwebobとmercurialが必要です。 repo_name='.'しているのでserverを起動したディレクトリを公開します。 from wsgiref.simple_server import make_…

mercurial(hg)でリポジトリローカルなhgignoreを用意する

hgrcのuiセクションのignoreで追加のhgignoreファイルを指定できます。これを利用するとリポジトリローカルな.hgignoreを用意できます。 .hg/hgrc [ui] ignore.local = .hg/hgignoreこれで.hg/hgignoreに「僕の考えた最強のhgignore」を書くことができます。

pip install mercurial で --pure な mercurial をインストールする

回答 pip install mercurial --global-option="--pure" --global-optionを利用するとsetup.pyにオプションを渡せるみたいですね。

hbstudy #33 でMercurial ハンズオンの講師をしてきました

インフラエンジニア向け勉強会hbstudyでmercurialハンズオンの講師をしてきました。メインを張る発表&ハンズオンは初めてだったのでメチャクチャ緊張しました。 http://connpass.com/event/399/?disp_content=presentation#tabs:title= @netmarkjp さん、 i…

TokyoMercurial#3 を開催しました。

2012/04/14(土)にTokyoMercurial#3を開催しました。参加者の皆さんお疲れさまでした。 TokyoMercurial 公式ページ TokyoMercurial#3 まとめページ 今回は#pyhackさんと日程が被ってしまい、開催前からいろいろありました。 当日も事前に借りておいた鍵で会場…

エンタープライズに向けてMercurialを宣伝するのに必要なことってなんだろう

というのを思いつくまま書いてみる。エンタープライズな人たちってどんなところにいるのかよくわからないのですが。とりあえずアイデアだし。 こんなのあったら良いなーとか教えてください。 TortoiseHg 関連 TortoiseHg 2.0 以降の日本語マニュアル 現在の…

Windows で手軽に Mercurial の開発環境を作る

先週のPyfes中にVirtualbox上のCentOSでMercurialの開発環境を作っていたのですが、テストの実行に死ぬほど時間がかかる*1ので、方向を変えてWindows上に環境を作ることにしました。 MeruciralはHackable Mercurial for Windowsというパッケージを提供してい…

Python Developers Festa 2012.03 に参加&Mercurialハンズオンしてきました

Mercurialハンズオン要員として参加してきました。みなさんお疲れ様でした。 Mercurialハンズオンの資料 ハンズオンは主に資料でもくもくしてもらいながら、参加者の気になる点にid:troter、id:flying-foozyが答えていくスタイルで運営しました。 おぼえてい…

Mercuiralでgh-pagesの様なルートの異なるリビジョンを作成する

githubではgh-pagesを実現する為に、通常のリビジョンとはルートの異なるgh-pagesというブランチを利用しています。一つのリポジトリに二つ以上のルートを存在させるという事です。 http://pages.github.com/:title= これと同じ事がmercurialでも行えないか…

mercuiralを使いながらgithubのpull requestを取り込む方法

http://partake.in/events/95ab571f-c477-43dd-8d96-396d3b670b6f:title=の成果発表です。 先日あるmercurialリポジトリのミラーリポジトリをgithubに作成したところ、開発がgithubに移ってしまうという(mercurial使い的には)ショッキングな出来事がありまし…

TokyoMercurial#2 を開催しました。

2012/02/25(土)にTokyoMercurial#2を開催しました。参加者の皆さんお疲れさまでした。 TokyoMercurial 公式ページ TokyoMercurial#2 まとめページ もくもく会の中で見つけた疑問をみんなでディスカッション出来たのは良かったと思います。 プロジェクタを利…

TokyoMercurial#1 を開催しました。

2012/01/14(土)にTokyoMercurial#1を開催しました。 TokyoMercurial 公式ページ TokyoMercurial#1 まとめページ もくもく会のつもりで開催したのですが、特にやることを決めるなり発表するなりしていなかったので途中からMercurialの使い方に関するQ&Aや布教…

hgwebからイシュトラッカーにリンクを張る

問題 Mercurialのリポジトリの有るリビジョンを見てみると、コミットログに書かれたイシュー番号がイシュートラッカーへのリンクになっている。どうすれば実現出来る? 回答 InterhgExtensionを利用する。公開しているリポジトリの.hg/hgrcに次の様な設定を…

あるプロジェクトのMercurial導入の軌跡

このエントリはMercurial Advent Calendar 2011 - PARTAKEの25日目です。3月からMercurialを使い始めたので12月で9ヶ月目になります。一年の振り返りという事で、Mercurial導入の軌跡について簡単にまとめたいと思います。*1 Mercurialとの出会い Mercurial…