rhq
- リポジトリ管理を簡単にrhq
は Rust で書かれたリポジトリ管理ツールです.
本ツールを使用することで, Git や Mercurial に代表される分散バージョン管理システム (DVCS) によるリポジトリの作成・管理を簡素化することが出来ます.
ビルド済みのバイナリは GitHub のリリースページ からダウンロードが可能です.
適当なディレクトリに展開し,解凍したディレクトリ下の bin/
にパスを通してください.
現在は Windows, macOS, Linux および FreeBSD 向けのバイナリを用意しています.
すでに Rust のツールチェインがインストールされている場合は cargo
を用いてインストールすることも出来ます.
```sh
$ cargo install rhq
$ cargo install --git https://github.com/ubnt-intrepid/rhq.git ```
ここでは,よく使用されるコマンドの基本的な使用方法を説明します. 省略されているコマンドや各コマンドのオプションの一覧はヘルプメッセージを参照してください.
リモートリポジトリのクローンには rhq clone
を使用します.
このコマンドは基本的には git clone
など既存の VCS がクローン用に用意したコマンドと同様に用いることが出来ます.
例えば,このプロジェクトのリポジトリをクローンするには次のように実行します.
sh
$ rhq clone ubnt-intrepid/rhq [/path/to/rhq]
rhq clone
の第一引数にはリモートリポジトリを指定する文字列,第二引数にはクローン先のディレクトリを指定します.
第一引数に渡すことのできる文字列のパターンは以下の通りです.
* URL - https://github.com/ubnt-intrepid/rhq.git
* SCP - git@github.com:ubnt-intrepid/rhq.git
* 相対パス - ubnt-intrepid/rhq
現状,相対パスを指定したときに補完されるホスト名は github.com
に固定されているので注意してください.
第二引数は省略可能であり,省略した場合はリモートリポジトリの URL をもとにクローン先のディレクトリが決定されます.
例えば,先ほどクローンしたリポジトリは次のようなディレクトリ構造で保存されます.
~/.rhq/
`- github.com/
`- ubnt-intrepid/
`- rhq/
クローン・作成済みのリポジトリを管理下に含めるには rhq add
を使用します.
例えば,いわゆる "dotfiles" 用のリポジトリを管理したいときは次のようにします.
sh
$ rhq add ~/.dotfiles
rhq add
の引数には追加したいリポジトリのパスを指定します.
デフォルトでは,各引数の値は”厳密に”リポジトリのパスを指している必要があります(それ以外のパスを指定した場合は無視されます).
この挙動は --import
により変更することができ,このオプションが指定されている場合は各パス内にあるリポジトリを検索し逐次管理対象に追加します.
例えば,Go 言語のワークスペース内にあるリポジトリをすべて管理対象に含めたい場合は次のようにします.
sh
$ rhq add --import --verbose $GOPATH/src
rhq
は管理しているリポジトリの一覧をキャッシュファイルとして保持しています.
この内容を表示するためには rhq list
コマンドを使用します.
sh
$ rhq list
キャッシュの内容は rhq refresh
を用いて更新します.
sh
$ rhq refresh
設定ファイルは ~/.config/rhq/config.toml
に配置します.
例: ```toml
~/.rhq
.root = "/path/to/repos"
includes = [ "~/go/src", "~/.vim/plugged", "~/.dotfiles" ]
excludes = [ "*/temp/" ] ```
Visual Studio Code 向けの拡張機能を作りました. 詳細はこちらを参照してください.
MIT