Gitで自分でリポジトリ開始することって練習しかしたことないのでやってみた記録

普段は、誰かの作ったリポジトリをcloneしてローカルで少しいじって、git diffして結果をメールに投げるくらいしかやってない。
ちょっと変更を加える必要が出てきたkernelがあるので、リポジトリ管理にしてみることにした。
再履修にしても、いまさらだね(^^;。
というわけで、同じホスト内でやってみた。
同じHDDだし、同じパーティションだし、バックアップ的な意味はないけどね。

Git関連の最低限やっておく設定

名前とメールとカラー表示の設定。

$ git config --global user.name "kinneko"
$ git config --global user.email kinneko@gmail.com
$ git config --global colour.ui auto

マスタリポジトリの用意

からっぽのマスタリポジトリを用意。

$ mkdir -p GIT/AVV9000/kernel
$ cd GIT/AVV9000/kernel/
~/GIT/AVV9000/kernel$ git --bare init
Initialized empty Git repository in /home/kinneko/GIT/AVV9000/kernel/

作業リポジトリの用意

$ mkdir -p AVV9000/kernel 
$ cd AVV9000/kernel/
~/AVV9000/kernel$ git init 
Initialized empty Git repository in /home/kinneko/AVV9000/kernel/.git/
~/AVV9000/kernel$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

作業リポジトリにkernel sourceを展開

~/AVV9000/kernel$ tar jxf ~/AVV/buildtest/BSPGB_kernel_20120601.tar.bz2
~/AVV9000/kernel$ ls
COPYING        MAINTAINERS     arch     firmware  ipc     net       sound
CREDITS        Makefile        block    fs        kernel  samples   tools
Documentation  README          crypto   include   lib     scripts   usr
Kbuild         REPORTING-BUGS  drivers  init      mm      security  virt

ファイルをリポジトリ管理下に追加。

~/AVV9000/kernel$ git add .
~/AVV9000/kernel$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#	new file:   COPYING
#	new file:   CREDITS
(snip)
~/AVV9000/kernel$ export LANG=ja_JP.UTF8
~/AVV9000/kernel$ git commit

コンソールから、日本語でcommit -mしようとしたけどうまくいかん。
それでcommitだけ実行。
うへ、nano立ち上がりましたわ。ひどす。vimにしてくれ。
ファイル追加した履歴がでかすぎてかなわん。編集してられない。
保存せずに終了した。

Aborting commit due to empty commit message.

あらま。

Gitに外部エディタを指定する

環境変数のEDITORやGIT_EDITORを見ることもしてくれるようだけど、毎回設定していたりしないので、gitに設定。

$ git config --global core.editor 'vim -c "set fenc=utf-8"'

コミットする

~/AVV9000/kernel$ git commit -m "import from BSPGB_kernel_20120601.tar.bz2"
[master (root-commit) c3a5d4f] import from BSPGB_kernel_20120601.tar.bz2
 33687 files changed, 13661946 insertions(+), 0 deletions(-)
 create mode 100644 COPYING
 create mode 100644 CREDITS
(snip)

~/AVV9000/kernel$ git log
commit 5d73fee5bbf26293903fae7c884bd5570a861983
Author: kinneko <kinneko@gmail.com>
Date:   Wed Jul 18 10:25:39 2012 +0900

    import from BSPGB_kernel_20120601.tar.bz2

直前のコミットメッセージを書き換える

ちょっとあんまりなので、書き換え。

~/AVV9000/kernel$ git commit --amend
[master d5fc43d] import from BSPGB_kernel_20120601.tar.bz2 avv BSP1.2-20120612のkernel BSPGB_kernel_20120601.tar.bz2を展開
 33687 files changed, 13661946 insertions(+), 0 deletions(-)
 create mode 100644 COPYING
 create mode 100644 CREDITS
(snip)

~/AVV9000/kernel$ git log
commit d5fc43de294c8fe856e7230924c6a2371749b821
Author: kinneko <kinneko@gmail.com>
Date:   Wed Jul 18 10:25:39 2012 +0900

    import from BSPGB_kernel_20120601.tar.bz2
    avv BSP1.2-20120612のkernel BSPGB_kernel_20120601.tar.bz2を展開

マスタポジトリとの連結と同期

~/AVV9000/kernel$ git remote add origin /home/kinneko/GIT/AVV9000/kernel/
~/AVV9000/kernel$ git push origin master
Counting objects: 35356, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (34858/34858), done.
Writing objects: 100% (35356/35356), 97.57 MiB | 7.84 MiB/s, done.
Total 35356 (delta 3203), reused 0 (delta 0)
To /home/kinneko/GIT/AVV9000/kernel/
 * [new branch]      master -> master

作業用ローカルブランチの作成

~/AVV9000/kernel$ git branch exp
~/AVV9000/kernel$ git branch -a
  exp
* master
  remotes/origin/master

ブランチはできたが、現在地はmasterのまま。
expに移動する。

~/AVV9000/kernel$ git checkout exp
Switched to branch 'exp'
kinneko@BuildSV:~/AVV9000/kernel$ git branch -a
* exp
  master
  remotes/origin/master

expブランチに変更を加える

作ってあったパッチをあてる。

~/AVV9000/kernel$ patch -p2 < ~/AVV9000/patches/008-kernel_fb_mode_1080i.patch 
patching file arch/arm/mach-avv/include/mach/fbcommon.h

確認。

~/AVV9000/kernel$ git diff
diff --git a/arch/arm/mach-avv/include/mach/fbcommon.h b/arch/arm/mach-avv/inc
index 63fb1b2..00f22e7 100755
--- a/arch/arm/mach-avv/include/mach/fbcommon.h
+++ b/arch/arm/mach-avv/include/mach/fbcommon.h
@@ -255,7 +255,7 @@ enum {
 #define AVV_FB_OUTPUT_DEF_HDMI_1080I   2
 #define AVV_FB_OUTPUT_DEF_HDMI_1080P30 3
 #define AVV_FB_OUTPUT_DEF_HDMI_1080P   4
-#define AVV_FB_OUTPUT_DEF_DEFAULT  AVV_FB_OUTPUT_DEF_HDMI_1080P30
-#define AVV_FB_OUTPUT_MODE_DEFAULT AVV_FB_OUTPUT_MODE_HDMI_1080P30
+#define AVV_FB_OUTPUT_DEF_DEFAULT  AVV_FB_OUTPUT_DEF_HDMI_1080I
+#define AVV_FB_OUTPUT_MODE_DEFAULT AVV_FB_OUTPUT_MODE_HDMI_1080I
 
 #endif /* _FBCOMMON_H_ */

ビルドテスト。
実機テスト。
問題なし。
コミットする。

~/AVV9000/kernel$ git commit -a -m "set mode of fb to 1080i"
[exp 06d44ee] set mode of fb to 1080i
 1 files changed, 2 insertions(+), 2 deletions(-)

コミットしたので、diffはなくなった。

~/AVV9000/kernel$ git diff

ログを確認。

~/AVV9000/kernel$ git log
commit 06d44eea470561d574ead1fbfa11c505ca1c05f7
Author: kinneko <kinneko@gmail.com>
Date:   Wed Jul 18 10:46:36 2012 +0900

    set mode of fb to 1080i

commit d5fc43de294c8fe856e7230924c6a2371749b821
Author: kinneko <kinneko@gmail.com>
Date:   Wed Jul 18 10:25:39 2012 +0900

    import from BSPGB_kernel_20120601.tar.bz2
    avv BSP1.2-20120612のkernel BSPGB_kernel_20120601.tar.bz2を展開

expに行った変更をmasterにマージする

masterに移動して、expをマージ。

~/AVV9000/kernel$ git checkout master
Switched to branch 'master'
kinneko@BuildSV:~/AVV9000/kernel$ git branch
  exp
* master

パッチの内容はまだ反映されていない。

~/AVV9000/kernel$ git log
commit d5fc43de294c8fe856e7230924c6a2371749b821
Author: kinneko <kinneko@gmail.com>
Date:   Wed Jul 18 10:25:39 2012 +0900

    import from BSPGB_kernel_20120601.tar.bz2
    avv BSP1.2-20120612のkernel BSPGB_kernel_20120601.tar.bz2を展開

マージする。

~/AVV9000/kernel$ git merge exp
Updating d5fc43d..06d44ee
Fast-forward
Auto packing the repository for optimum performance. You may also
run "git gc" manually. See "git help gc" for more information.
Counting objects: 35366, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (34867/34867), done.
Writing objects: 100% (35366/35366), done.
Total 35366 (delta 3210), reused 0 (delta 0)
 arch/arm/mach-rhsp/include/mach/fbcommon.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

ログにも出てきた。

~/AVV9000/kernel$ git log
commit 06d44eea470561d574ead1fbfa11c505ca1c05f7
Author: kinneko <kinneko@gmail.com>
Date:   Wed Jul 18 10:46:36 2012 +0900

    set mode of fb to 1080i

commit d5fc43de294c8fe856e7230924c6a2371749b821
Author: kinneko <kinneko@gmail.com>
Date:   Wed Jul 18 10:25:39 2012 +0900

    import from BSPGB_kernel_20120601.tar.bz2
    avv BSP1.2-20120612のkernel BSPGB_kernel_20120601.tar.bz2を展開

普通はすぐにはやらないけど、作業ブランチを削除しておく。

~/AVV9000/kernel$ git branch
  exp
* master
/AVV9000/kernel$ git branch -d exp
Deleted branch exp (was 06d44ee).
~/AVV9000/kernel$ git branch
* master

ローカルリポジトリの変更をマスタリポジトリに反映する

~/AVV9000/kernel$ git push origin master
Counting objects: 15, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (8/8), 6.56 KiB, done.
Total 8 (delta 1), reused 8 (delta 1)
Unpacking objects: 100% (8/8), done.
To /home/kinneko/GIT/AVV9000/kernel/
   d5fc43d..06d44ee  master -> master

ローカルリポジトリを削除して、新しく作ったディレクトリにマスタからクローン

~/AVV9000/kernel$ cd ..
~/AVV9000$ rm -rf kernel
~/AVV9000$ git clone /home/kinneko/GIT/AVV9000/kernel/
Cloning into kernel...
done.

~/AVV9000$ ls
kernel
~/AVV9000$ cd kernel/
~/AVV9000/kernel$ ls
COPYING        MAINTAINERS     arch     firmware  ipc     net       sound
CREDITS        Makefile        block    fs        kernel  samples   tools
Documentation  README          crypto   include   lib     scripts   usr
Kbuild         REPORTING-BUGS  drivers  init      mm      security  virt

再現できているか確認。

~/AVV9000/kernel$ git branch
* master
~/AVV9000/kernel$ git log
commit 06d44eea470561d574ead1fbfa11c505ca1c05f7
Author: kinneko <kinneko@gmail.com>
Date:   Wed Jul 18 10:46:36 2012 +0900

    set mode of fb to 1080i

commit d5fc43de294c8fe856e7230924c6a2371749b821
Author: kinneko <kinneko@gmail.com>
Date:   Wed Jul 18 10:25:39 2012 +0900

    import from BSPGB_kernel_20120601.tar.bz2
    avv BSP1.2-20120612のkernel BSPGB_kernel_20120601.tar.bz2を展開

問題なし。


というわけで、基本の再履修終わり。
エディタのとこ以外は躓かなかったか。

Tポイント、医薬品の購入履歴を取得 販促活動に利用

http://www.asahi.com/national/update/0717/NGY201207160032.html

 4千万人以上が利用する日本最大の共通ポイントサービス「Tポイント」が、ドラッグストアで会員が買った医薬品の商品名をデータとして取得し、会員に十分な説明をしないまま販促活動などに使っていることがわかった。医薬品の購買履歴には、本人が他人に明らかにしたくない情報が含まれることが多い。日本薬剤師会などは「育毛剤を買った人にかつらの広告を送ったり、関節の痛みを和らげる薬を買った人に健康食品を勧めたりしないか」と懸念。厚生労働省も問題視している。

twitterでは、レンタルした18歳に、学生向けのダイレクトメール来たという話も。
Tマークはあったそうだけど。

MS、ARMベースのWindows RTにオフィス無料バンドル

http://atlasrnc.jp/arcjp/10840
なぜ"Office Home and Student2013"?
Microsoft Office Home and Student 2013 to be bundled on all Windows RT tablets
http://www.engadget.com/2012/07/16/microsoft-office-bundled-with-windows-rt/

富士フイルム、モトローラ・モビリティを携帯端末による特許侵害で提訴

http://japan.cnet.com/news/business/35019277/

訴状に挙げられた4件の特許は以下の通り。

米国特許第6144763号:キャプチャされたカラー画像のモノクロ変換に関する特許
米国特許第6915119号:電話回線による端末間の相互通信方法に関する特許
米国特許第7327886号:デジタル撮影における顔認識に関する特許
米国特許第5734427号:イメージセンサでキャプチャされた高解像度画像を低解像度のファインダに表示させるプロセスに関する特許

Googleと対決?

Amazon、Kindle Fire向けのゲームプラットフォーム「GameCircle」を発表

http://internet.watch.impress.co.jp/docs/news/20120712_546387.html
http://phx.corporate-ir.net/phoenix.zhtml?c=97664&p=irol-newsArticle&ID=1713694&highlight=
http://www.amazonappstoredev.com/2012/07/announcing-amazon-gamecircle-a-new-gaming-experience-for-kindle-fire.html
http://amazon.com/gamecircle-games

イギリスではランダムなデータを所有しているとムショ送りになる

http://cpplover.blogspot.jp/2012/07/blog-post_13.html

イギリスには、Regulation of Investigatory Powers Act 2000という法律がある。これは、暗号文の容疑がかけられたものを復号化する鍵を提供できない場合、懲役刑が課せられるというものである。懲役年数は、テロと児童ポルノ容疑の場合5年、それ以外の場合2年である。

savedefconfig

$ LANG=C ARCH=arm make savedefconfig
make[1]: *** No rule to make target `savedefconfig'.  Stop.
make: *** [savedefconfig] Error 2

が〜ん。
そもそも、そんなターゲット名ないのか、サポートしているのは最近のkernelなのか?
これかな?
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7cf3d73b4360e91b14326632ab1aeda4cb26308d