https://launchpad.net/ はバージョン管理システムbazaarを使ってオープンソースプロジェクトを多数ホスティングしているウェブサービス。
git 学習者が github を経験することで「gitはこう使うのか」という気づきを得るように、 bazaar を学ぶなら launchpad を経験するのがよいのではないか。
ubuntu 9.04 で launchpad.net を使うためには PPA による bazaar の更新が必要。
nvdajp 開発における launchpad の利用については nvdajp_bazaar
since 2011-01-04
bazaar に launchpad プラグインが入っていると、lp: で始まる URL でリポジトリを参照できる。
lp:~UserName/ProjectName/BranchName という命名が一般的らしい。
シナリオ:
以下、bazaar を使って nvdajp のソースを共有する準備作業について述べる。
まず各ユーザが id_rsa.pub を登録する。以下の作業は cygwin で実行している。
リポジトリを落とす。
bzr launchpad-login nishimotz bzr branch lp:nvdajp cd nvdajp bzr info
新しいファイル(コミット)を追加する。
echo "this is test" > readme_nvdajp.txt bzr add readme_nvdajp.txt bzr commit -m "comment"
ローカルの新しいリビジョンをpushする。
bzr push lp:nvdajp
launchpad側でコミットされたものを取ってくる。
bzr pull bzr update
現状確認
$ bzr info Standalone tree (format: 2a) Location: branch root: . Related branches: push branch: bzr+ssh://bazaar.launchpad.net/~nvdajp/nvdajp/main/ parent branch: bzr+ssh://bazaar.launchpad.net/~nvdajp/nvdajp/main/
Windows 8 にて。
c:\Users\(username)\.ssh
に id_rsa.pub と id_rsa を置く。
since 2011-07-05
Windows 7 (x64) での作業記録。
cygwin 1.7.9-1 で OpenSSH パッケージをインストール。
cygwin bash にて:
$ ssh-keygen -t rsa
RSA 2048 という模様が出てくる。引き続き cygwin bash にて:
$ cd /home/nishimotz/.ssh $ mkdir c:/Users/nishimotz/.ssh $ cp id_rsa c:/Users/nishimotz/.ssh $ cp id_rsa.pub c:/Users/nishimotz/.ssh # これは必要ないかも。
引き続きキーの登録。
$ cat id_rsa.pub
これを範囲指定してコピー。
ブラウザで http://launchpad.net/~ユーザ名/+editsshkeys に追加。
ユーザ名@マシン名には改行が入らないほうがよいが、他は気にしなくてよさそう。
今度はコマンドプロンプトで:
C:\Users\nishimotz>bzr launchpad-login nishimotz 2kB 0kB/s /
bzr branch lp:~nishimotz/…/… すると
Connected (version 2.0, client Twisted) Authentication (publickey) successful!
のように表示される。
うまくいっていない場合:
Connected (version 2.0, client Twisted) Authentication (publickey) failed. bzr: ERROR: Connection error: Unable to authenticate to SSH host as nishimotz@bazaar.launchpad.net supported auth types: ['publickey']
この場合は id_rsa.pub のインポートをやり直す。
https://code.launchpad.net/~nvdajp/nvdajp/main
ログインして右上の "subscribe yourself" を実行
疑似プロジェクト名 "+junk" はプロジェクトに属さないブランチを登録するときに使える。
https://help.launchpad.net/NonProjectBranches
Junk ブランチを作るには:
bzr push lp:~nishimotz/+junk/BRANCHNAME
since 2012-02-29
いままで lp:~nishimotz/nvdajp/releases_2011.3 のようなブランチを push していたが、releases/2012.1 の方がいいので試した:
>bzr push lp:~nishimotz/nvdajp/releases/2012.1 bzr: ERROR: Permission denied: "~nishimotz/nvdajp/releases/2012.1/": : Cannot create branch at '/~nishimotz/nvdajp/releases/2012.1'
エラーになった。先に nvdajp/releases を作っておく必要があるのか、階層を深くすることができないのか。。
>bzr push lp:~nishimotz/nvdajp/releases_2012.1