ユーザリポジトリを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 になります。

/media/uploads/MACRUM/cookie.png

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.