2013-01-01から1年間の記事一覧

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…

最近のyard パーフェクトRuby Advent Calendar 2日目

このエントリは パーフェクトRuby Advent Calendar の2日目のエントリです。 1日目のエントリはパーフェクトRuby Advent Calendar 2013(1日目) - すがブロです。 yard diff いきなりですが、パーフェクトRubyで知った最高に便利なコマンドは yard diff です…

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

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

GTUG Girls #14 でGitのハンズオンの講師を行いました

git

参加者の皆さん、主催者の @yanzm さん、会場提供のドワンゴさん、チューターとして手伝ってくれた @kana1 さん、 @sinsoku_listy さんお疲れ様でした。 当日の資料とtogetterのまとめです。 GTUG Girls原稿 第14回GTUG Girls Meetup 「Gitを使ってみよう」 …

Rhodecode Enterpriseのライセンス

Git/MercurialのリポジトリをホスティングするRhodecodeというWebアプリケーションが有ります。 WebUIでユーザ権限の設定やリポジトリの追加、Pull-Requestなどが行える OSSのアプリケーション です。 いままで、GPLv3で配布されていたRhodecodeですが、2013…

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>…

tmuxの設定ファイルを再読み込みする。もしくは複数のコマンドを実行するキーバインドを定義する。

tmux-1.8で確認しています。 ググったら、こういう設定たくさん出てくる。けど、この設定では(1.8では?)起動時に警告が表示される。 bind-key C-r source-file ~/.tmux.conf ; display-message "Reloaded." 正しくはこう。セミコロンをバックスラッシュでエ…

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.…

DataMapperでOptimisticLock(楽観ロック)を利用する

dm-core-1.2.0の話です。 DataMapperでOptimisticLock(楽観ロック)を実現するプラグインはいくつか検索でヒットするのですが、古すぎて利用できなかったり、UPDATE文のWHERE句に条件が入るのではなく、プログラム側で判断しているためアトミック性がなかった…

DataMapperのdm-migrationsのマイグレーションファイルの通し番号は重複していても問題ない

dm-migrations-1.2.0の話です。 dm-railsで次のようにdm-migrationsのマイグレーションファイルを生成すると、001から始まる通し番号のマイグレーションファイルが作成されます。 $ bundle exec rails generate migration create_users invoke data_mapper c…

DataMapperで比較的高速にidだけ取得する

dm-core-1.2.0の話です。 現在の検索条件でidだけ取得したい、、10000件くらい。って要望、よくあると思う。:fieldsで指定しても、モデルのインスタンスを作るため、sqlを直接実行した時にはかなわなかったりする。 なので、DataMapper::Collectionに次のよ…

DataMapperとMySQLの組み合わせでDDLにコメントを含める

dm-core-1.2.0の話です。 DDLにコメントを含めたい!という要望があったので。 モンキーパッチ # dm-core-1.2.0/lib/dm-core/property.rb # commentを定義可能にする module DataMapper class Property accept_options :comment attr_reader :comment end en…

DataMapperでinに空の配列が渡された時になんとか空のコレクションを返す

dm-core-1.2.0の話です。 DataMapperはinの条件に配列を渡すと次のように良い感じで検索してくれる。 class User include DataMapper::Resource property :id, Serial property :name, String end User.all(id: [1, 2, 3]) # SELECT "id", "name" # FROM "us…

DataMapperのクエリチェインが使えない(場合の)話

dm-core-1.2.0の話です。 DataMapperのクエリチェイン(正式名称しらない。。)は特定の条件下(DataMapper::Collection#union(|, +))で利用できない理由と、回避策を調べた。 長いです。 class User include DataMapper::Resource property :id, Serial proper…

DataMapperでinner joinする

dm-core-1.2.0の話です。 DataMapperでjoinする話が全然検索に引っかからないので。メモ的に class User include DataMapper::Resource property :id, Serial property :name, String has 1, :profile, 'UserProfile' end class UserProfile include DataMap…

退職しました

新卒入社してから約5年間お世話になった株式会社タイムインターメディアを退職しました。 正確には今月末までですが。*1 退職にあたり、様々な方にご迷惑、ご心配ををおかけし、大変申し訳ありませんでした。 振り返って 思い出話なのでとりとめのない感じで…

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

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

pyramidとsqlalchemyのドキュメントをDash.app用に変換してみた

sphinxベースだったらなんでもOKの様ですね。メモ的に。 Pyramid-ja $ git clone https://github.com/pylonsproject-jp/pyramid $ cd pyramid $ virtualenv env $ source env/bin/activate $ python setup.py docs $ pip install doc2dash $ git submodule u…

WerkzeugでBasic認証

ふと思い立ってWerkzeugでBasic認証してみた。BasicAuthMiddlewareでBasic認証を行い、認証が通ったらappに処理を移譲する。 WerkzeugではHTTPヘッダに対応するクラスがあり、Authorizationヘッダーの情報はRequest.authorizationで、WWW-Authenticateヘッダ…

入門TortoiseHg+Mercurial

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