FrontPage  Index  Search  Changes  RSS  Login

[system] mr

概要

mr - a Multiple Repository management tool

何がうれしいのか模索中のメモ

使い始める

既存の作業コピーから始める

$ cd path/to/working/copy
$ mr register

作業コピーからリポジトリ情報を読み取り、自動的に設定ファイル(.mrconfig)にリポジトリ情報を登録する。

config で始める

$ mr -c ./.mrconfig config mr checkout="git clone git://git.kitenet.net/mr"
$ mr checkout

[mr]
checkout = git clone git://git.kitenet.net/mr
$ mr checkout
  • []で囲まれたセクション部分は、チェックアウト先ディレクトリで、設定ファイル .mrconfig からの相対パスで指定できる。
  • 設定項目の詳細については、マニュアルを参照

bootstrap で始める

$ curl https://gist.github.com/raw/816512/278865240d35546e69e379f0db75b320581f2980/mr.mrconfig

[mr]
checkout = git clone git://git.kitenet.net/mr%
$ mr bootstrap https://gist.github.com/raw/816512/278865240d35546e69e379f0db75b320581f2980/mr.mrconfig
$ cat .mrconfig

[mr]
checkout = git clone git://git.kitenet.net/mr%

リポジトリ情報が書かれた .mrconfig の URL を指定して、設定ファイルに従って作業コピーをセットアップできる。

複数のリポジトリを扱う

$ mkdir projects
$ cd projects
$ mr -c .mrconfig config jquery checkout="git clone git://github.com/jquery/jquery.git"
$ mr -c .mrconfig config jquery-ui checkout="git clone git://github.com/jquery/jquery-ui.git"
$ mr checkout
mr checkout: /Users/koshigoe/tmp/mr_test/projects/jquery
Cloning into jquery...
remote: Counting objects: 16186, done.
remote: Compressing objects: 100% (5431/5431), done.
remote: Total 16186 (delta 11361), reused 14889 (delta 10222)
Receiving objects: 100% (16186/16186), 12.22 MiB | 255 KiB/s, done.
Resolving deltas: 100% (11361/11361), done.

mr checkout: /Users/koshigoe/tmp/mr_test/projects/jquery-ui
Cloning into jquery-ui...
remote: Counting objects: 26638, done.
remote: Compressing objects: 100% (7885/7885), done.
remote: Total 26638 (delta 19461), reused 25345 (delta 18308)
Receiving objects: 100% (26638/26638), 11.41 MiB | 230 KiB/s, done.
Resolving deltas: 100% (19461/19461), done.

mr checkout: finished (2 ok)
$ mr list
mr list: /Users/koshigoe/tmp/mr_test/projects/jquery

mr list: /Users/koshigoe/tmp/mr_test/projects/jquery-ui

mr list: finished (2 ok)
$ mr update
mr update: /Users/koshigoe/tmp/mr_test/projects/jquery
Already up-to-date.

mr update: /Users/koshigoe/tmp/mr_test/projects/jquery-ui
Already up-to-date.

mr update: finished (2 ok)

異なるバージョン管理システムを扱う

$ mr -c .mrconfig config simplemodal checkout="svn checkout http://simplemodal.googlecode.com/svn/trunk/ simplemodal"
$ mr checkout
$ mr list
mr list: /Users/koshigoe/tmp/mr_test/projects/jquery

mr list: /Users/koshigoe/tmp/mr_test/projects/jquery-ui

mr list: /Users/koshigoe/tmp/mr_test/projects/simplemodal

mr list: finished (3 ok)

offline/online

offline アクションでオフライン状態であると宣言できる。

$ mr offline

この間、失敗したコマンドを覚えておき、online アクションでオンライン状態であると宣言する際に再実行される。

$ mr online

remember アクションで明示的にコマンドを覚えさせることもできる。

$ mr remember push
Last modified:2011/02/09 21:29:01
Keyword(s):[system]
References: