2013-01-01から1年間の記事一覧
このエントリはMercurial Advent Calendar 2013 の18日目です。 3ヶ月に一度メジャーリリースのあるMercurialはこの一年で2.4から2.8までバージョンアップしました。その間にあった主な変更点をまとめたいと思います。 機能追加 Command enable secret phase…
このエントリはMercurial Advent Calendar 2013 の16日目です。 MQを使っていて困るのが、ファイル名の変更です。 あるファイルAに対してパッチaを作成していて 最新版を取り込んだらファイルAはファイルBに変更されていて 最新のソースにパッチaが簡単に適…
このエントリはMercurial Advent Calendar 2013 の7日目です。*1 hg cloneするときのURLについて書きます。 基本編 通常hg cloneに次のようなURLを渡すことでリポジトリをクローンすることができます。 $ hg clone path/to/local/repo $ hg clone file:///ab…
このエントリは パーフェクトRuby Advent Calendar の2日目のエントリです。 1日目のエントリはパーフェクトRuby Advent Calendar 2013(1日目) - すがブロです。 yard diff いきなりですが、パーフェクトRubyで知った最高に便利なコマンドは yard diff です…
このエントリはMercurial Advent Calendar 2013 の1日目です。 MercurialにはRevsetsというリビジョン郡を指定するための条件を記述するDSLが組み込まれています。Revsetsに関しては過去のAdvent Calendarのエントリにわかりやすい解説があるのでそちらを参…
参加者の皆さん、主催者の @yanzm さん、会場提供のドワンゴさん、チューターとして手伝ってくれた @kana1 さん、 @sinsoku_listy さんお疲れ様でした。 当日の資料とtogetterのまとめです。 GTUG Girls原稿 第14回GTUG Girls Meetup 「Gitを使ってみよう」 …
Git/MercurialのリポジトリをホスティングするRhodecodeというWebアプリケーションが有ります。 WebUIでユーザ権限の設定やリポジトリの追加、Pull-Requestなどが行える OSSのアプリケーション です。 いままで、GPLv3で配布されていたRhodecodeですが、2013…
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します。 mercurialでhg graftは3-way mergeしてくれるのが売りだけど、hg rebaseはどうなんだっけ?という話がよく出るので。 以下、試したログ % hg version | head -n1 Mercurial Distributed SCM (version 2.7.1) % hg init rebas…
ローカルのリポジトリをコピーするための専用のコマンドはmercurialには無い。*1 単にcloneすればよい。 hg clone <repository> <new_workdir_path> 追記: git new-workdirは.git以下のファイル郡をsymlinkで共有しているので、元のリポジトリのコミットがnew_workdirでも参照できるが、hg </new_workdir_path></repository>…
tmux-1.8で確認しています。 ググったら、こういう設定たくさん出てくる。けど、この設定では(1.8では?)起動時に警告が表示される。 bind-key C-r source-file ~/.tmux.conf ; display-message "Reloaded." 正しくはこう。セミコロンをバックスラッシュでエ…
2013/06/23(日)にTokyoMercurial#8を開催しました。 TokyoMercurial 公式ページ TokyoMercurial#8 まとめページ やったこと 国際化されたマニュアル(Manpage, HTML)を生成するパッチの修正 RhodeCodeのメッセージリソースをTransifexで翻訳 宝塚記念観戦 次回…
社会復帰しました。最近はてブでも話題になったフォトブック作成サービスを運営している会社にお世話になります。
前回のhgwebからイシュトラッカーにリンクを張るではInterhgExtensionを利用しました。が、InterhgExtensionはMercurial-2.6からobsoleteとなりました。 というのも、InterhgExtension相当の機能はwebsubテンプレートフィルターという形でhgwebに取り込まれ…
Mercurial-2.6から追加されたunionスキームについて調べてみた。 Mercurial-2.6からリポジトリ指定時にunionというスキームが指定できるようになりました。 unionを利用すると、次の形式で指定した2つのローカルリポジトリの履歴をミックスして閲覧できるよ…
いくつか注意点があることを id:flying-foozy さんに指摘してもらったので紹介します。 並列updateで10万規模のファイルを一度に更新するとlinux kernelでsoft lockupと誤認される 10万規模のファイルを更新するとlinux kernelでsoft lockupと誤認されるよう…
rhodecodeのリポジトリよりずっと巨大なmozilla-centralでMercurial-2.6-rcの並列になったupdateを試してみた。 mozilla-centralの大きさはこんな感じ。13万リビジョン、7万8千ファイルある。 % hg tip リビジョン: 129561:aa620f3fc2f7 タグ: tip ユーザ: M…
多数のパフォーマンスチューニングを含むMercurial-2.6のリリース候補版がリリースされた。今回のリリースからhg updateの処理が並列化されるようになったので試してみた。 インストール バージョンを指定してインストール。 % pip install -U mercurial==2.…
dm-core-1.2.0の話です。 DataMapperでOptimisticLock(楽観ロック)を実現するプラグインはいくつか検索でヒットするのですが、古すぎて利用できなかったり、UPDATE文のWHERE句に条件が入るのではなく、プログラム側で判断しているためアトミック性がなかった…
dm-migrations-1.2.0の話です。 dm-railsで次のようにdm-migrationsのマイグレーションファイルを生成すると、001から始まる通し番号のマイグレーションファイルが作成されます。 $ bundle exec rails generate migration create_users invoke data_mapper c…
dm-core-1.2.0の話です。 現在の検索条件でidだけ取得したい、、10000件くらい。って要望、よくあると思う。:fieldsで指定しても、モデルのインスタンスを作るため、sqlを直接実行した時にはかなわなかったりする。 なので、DataMapper::Collectionに次のよ…
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…
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…
dm-core-1.2.0の話です。 DataMapperのクエリチェイン(正式名称しらない。。)は特定の条件下(DataMapper::Collection#union(|, +))で利用できない理由と、回避策を調べた。 長いです。 class User include DataMapper::Resource property :id, Serial proper…
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 退職にあたり、様々な方にご迷惑、ご心配ををおかけし、大変申し訳ありませんでした。 振り返って 思い出話なのでとりとめのない感じで…
2013/03/23(土)にTokyoMercurial#7を開催しました。 TokyoMercurial 公式ページ TokyoMercurial#7 まとめページ Mercurial Wikiの適当なページの翻訳を行うと考えていたのですが、実際はrhodecode-1.6.0devのメッセージの翻訳を行なっていました。betaブラン…
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認証してみた。BasicAuthMiddlewareでBasic認証を行い、認証が通ったらappに処理を移譲する。 WerkzeugではHTTPヘッダに対応するクラスがあり、Authorizationヘッダーの情報はRequest.authorizationで、WWW-Authenticateヘッダ…
著者の id:flying-foozyさんから「入門TortoiseHg+Mercurial」を献本していただきました。 入門TortoiseHg + Mercurial作者: 藤原克則出版社/メーカー: 秀和システム発売日: 2013/02メディア: 単行本購入: 3人 クリック: 3回この商品を含むブログ (5件) を見…