ユーザリポジトリをMercurialでバックアップする [lang:ja]
.
mbedのユーザリポジトリ(プライベート公開したものも含む)を Mercurial でローカル環境にバックアップするスクリプトを作成しました。
https://gist.github.com/toyowata/bd3a4d069f5d67c1f78e/download
このスクリプトは、Mercurial を使用します。インストールされていない場合は、以下のようにして Mercurial をインストールして下さい。
$ sudo pip install mercurial
このスクリプトを実行するには、自分のmbedアカウントの cookie (sessionid_developer) を使用します。 sessionid_developer を表示するには、使用しているブラウザの開発者ツールなどを使用します。
例えば、Chromeの場合は:
[Google Chromeの設定] - [その他のツール] - [デベロッパーツール] で、開発者用のウィンドウが右側または下部に表示されます。その中の Resoures タブをクリックし、[Coockies] - [developer.mbed.org] を表示します。 リストの Name 一覧から、sessionid_developer を探し、Value で表示された文字列が sessionid_developer になります。
sessionid_developer が分かったところで、実行してみましょう。このスクリプトは、以下のように実行します。
$ python ./clone_mbed_user_repo.py <username> <password> <sessionid_developer>
たとえば、私のリポジトリをバックアップする場合は、以下のように指定します。
$ python ./clone_mbed_user_repo.py MACRUM password xxxxxxxxxxxxxxx
<sessionid_developer> を省略した場合は、public の属性で公開したリポジトリのみがバックアップされます。 また、同様にして他のユーザページの public リポジトリを取得することも出来ます。この場合には、password には任意の文字列を指定して下さい。
$ python ./clone_mbed_user_repo.py nxpfan kuma
Warning
- sessionid_developer は、永続的な物ではありません。一定の期間(数週間毎)で値が変化するので注意して下さい。
- mbed-src のように大量のファイルを含むリポジトリの clone には、時間がかかります。
Information
複数ページの取得方法は、tedd_okanoさんのコードを使用させて頂きました。ありがとうございます。
以上です。
Please log in to post comments.