2015/11/06

[mbed]publishしないと取って来れません(たぶん)

mbedを使うことになったので、まずはコンパイルのサイトをどう使うか調べていた。

久しぶりにサイトを見に行ったのだが、見栄えが変わってた。
今はbeta版らしい。
Getting Startedに行くと、こっちはmbed OSのことが少し書かれていた。
今のところ、mbed OSもbeta版らしい。
動かしてはいないが、比較的シンプルな構成で、スレッド単位で動作させるようなものっぽかった。
(main()にスレッドを作って動かすところがあったので。)
組込みの機器だと消費電力を気にすることが多いので、こういうOSがどこら辺までやってくれるのか興味があるところだ。

 

さて、今回はお仕事でmbedを使うので、ファイルが消えたりすると困る。
mbedのサイトではそういうことはほとんどないと思うが、それにかまけてもいられまい。
そういうわけで、ローカルにも取ってこようと思った。

調べると、mercurialで管理されていて、それで取ってこれるらしい。
SourceTreeもmercurialが使えるので、それで取ってこようとした。

 

Mercurialでバージョン管理を行う | mbed
リポジトリのURLを指定してcloneすればよいということなので、「Repository Toolbox」を探した。
が・・・自分の作ったプログラムにはそういうのが出てきてない。
よく読むと「commitまたはpublishされている必要があります」とのこと。
確かに、まだコミットしていなかったので、サイトでコミットしようとした。

お試しで、SSLのライブラリをインポートして、ちょっと自分用に変更していたのだが、こういうダイアログが出てきた。
image

ぱ、パブリッシュですか・・・。
いくらお試しとはいえ、パブリッシュまではしたくない・・・。

twitterでちょろっと書いたら、経由して教えていただいた。
知り合いが少ないので、こういうのは非常にありがたい。
publishしなくても、commitだけ出来ますよ。
びくびくしながら「コミット」を押すと、コミットだけできた。
よかったよかった。
(このメッセージ文は、いずれ変更になるかも。)

 

では、これでリポジトリができたかと思ったら、変わらない。
コミットはされているけど、コミットされただけだ。
実はこれより前に、エクスポートでプロジェクトをzipで落としてきて、それをSourceTreeに登録するのを試していたのだが、そちらはリポジトリとしては見えてくれるのだけど、mbedのコンパイラサイトと連動している感じではなかった。

mbedのダッシュボードのサイトに行くと、こっちには「Code」というタブがあり、そこにリポジトリが見えているようだ。
そして、そこには作ったプログラムが載っていない。
それだけじゃなくて、以前パブリッシュしたRC730関連のリポジトリしか出ていなかった。

つまり、mbedのコンパイラサイトで見えているリポジトリはローカルのリポジトリで、外のリポジトリに上げるためにはパブリッシュしないといかん、ということだろう。
gitでいうところのpushが、mbedサイトではパブリッシュと呼んでいるということか。
なんとなく、ブラウザでネット上のリポジトリを見ていると、直接一番上のリポジトリを見ていると認識していたのだ。

 

今回は内部用なのでPrivateでパブリッシュすると、ダッシュボードのCodeにもリポジトリが出てきた。
Repository Toolboxも表示され、そこのhttps://~をSourceTreeでcloneすると、ちゃんと取って来れた。
ローカルで編集してコミットとプッシュすると、mbedのコンパイラサイトで「アップデート」が出るので、それを押すとプルに相当する動きをしてくれた。

変更されたプログラムは、ツリーではこういうアイコンになっている。
image

ここで、まだコンパイルサイトでコミットしていない変更があるときに「アップデート」をしようとすると、こういう警告が出てくる。

image

ここで「強制的にアップデート」とすると、サイトの変更は破棄してダウンロードする。
「コミット」をすると、コミットされる。
されるのだが、ここでマージは行われずにブランチが分かれるようだ。
「リビジョン」を見ると、こうなっていた。

image

上がアップデートした方、その下がさっきコミットした方だ。

この状態でパブリッシュすると、こういう警告が出てくる。

image

「マージした方がいいんじゃないの、ほれほれ」みたいなメッセージだ。
せっかくなので、試す。

さっきの「リビジョン」で、ブランチした方をクリックすると「マージ」ボタンが有効になる。
そしてマージボタンを押すと、こうなった。

image

trunkとも切り離されてしまった・・・。
ここでコミットすると、こうなった。

image

5--6(サイトで変更)--8(サイトでマージ、コミット後)となり、7(ローカルで変更)が枝になったのだな。

 

いままでは「パブリッシュしなければ大丈夫」で済ませていたけど、ローカルでも編集したいとなるともうちょっと動きがわからないといけなさそうだったので、今回はいろいろ試してみた。
失敗するのは小さいうちにやっとかないとねー。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。