MAPI
<diff.txtVPNを構成しなくても実現する方法があります。Outlookとメールボックスサーバ間のMAPI/RPCプロトコル通信をHTTP/HTTPSでカプセルして、クライアントアクセスサーバを仲介役とする“Outlook Anywhere”機能
>
diff_android-5.1.0_r1_android-5.1.1_r1.txt
diff_android-5.1.0_r1_android-5.1.1_r1_stat.txt
log_android-5.1.0_r1_android-5.1.1_r1.txt
diff_android-5.1.0_r1_android-5.1.1_r1_stat.txt
log_android-5.1.0_r1_android-5.1.1_r1.txt
diff_android-5.1.0_r1_android-5.1.1_r1.txt
diff.txt
cygwin64でrepoを使うとき、エラー:error: repo is not installed. Use "repo init" to install it here.
cygwin64を久しぶりに使った。
$repo error: repo is not installed. Use "repo init" to install it here.
どうして、エラーになるのか、わかりませんでした。
PATHは、.bash_profileで~/binに通してあります。
PATHも通っているし。
23 # Set PATH so it includes user's private bin if it exists 24 if [ -d "${HOME}/bin" ] ; then 25 PATH="${HOME}/bin:${PATH}" 26 fi
whichでも、repoのコマンド位置が正常に引ける。
$ which repo /home/m_fujii/bin/repo
エラーになる原因は、repoにコマンド引数(initやhelp,-h)がないことでした。
"repo -help"はエラーになりました。
$ repo help usage: repo COMMAND [ARGS] repo is not yet installed. Use "repo init" to install it here. The most commonly used repo commands are: init Install repo in the current working directory help Display detailed help on a command For access to the full online help, install repo ("repo init").
675 def _NotInstalled(): 676 _print('error: repo is not installed. Use "repo init" to install it here.', <===出ているメッセージ 677 file=sys.stderr) 678 sys.exit(1)
731 if not repo_main: 732 if opt.help: 733 _Usage() 734 if cmd == 'help': 735 _Help(args) 736 if not cmd: <=== 引数がないと、ここに入るようです。 737 _NotInstalled() <=== ここ 738 if cmd == 'init': 739 if my_git: 740 _SetDefaultsTo(my_git) 741
opt.helpの値
628 def _ParseArguments(args): 629 cmd = None 630 opt = _Options() 631 arg = [] 632 633 for i in range(len(args)): 634 a = args[i] 635 if a == '-h' or a == '--help': 636 opt.help = True <=== 637 638 elif not a.startswith('-'): 639 cmd = a 640 arg = args[i + 1:] 641 break 642 return cmd, opt, arg
AOSP Android 差分
前準備
$ mkdir android $ cd android $ repo init -u https://android.googlesource.com/platform/manifest -b android-5.1..1_r1 $ repo sync
ファイル差分すべてを取得
$ repo forall -p -c git diff android-5.1.0_r1..android-5.1.1_r1 > diff_android-5.1.0_r1_android-5.1.1_r1.txt
diff_android-5.1.0_r1_android-5.1.1_r1.txt
変更されたファイルの一覧と変更行数を取得
$ repo forall -p -c git diff --stat android-5.1.0_r1..android-5.1.1_r1 > diff_android-5.1.0_r1_android-5.1.1_r1_stat.txt
diff_android-5.1.0_r1_android-5.1.1_r1_stat.txt
ディレクトリ毎の変更量(%)を取得
$ repo forall -p -c git diff --dirstat android-5.1.0_r1..android-5.1.1_r1 > diff
TAG間のlog(コミットタイトル)を取得
$ repo forall -p -c git log --oneline --no-merges android-5.1.0_r1..android-5.1.1_r1 > log_android-5.1.0_r1_android-5.1.1_r1.txt
log_android-5.1.0_r1_android-5.1.1_r1.txt
baroqueworksdevさんの日記をもとに、5.1.0と5.1.1に改造
AOSPのTag間のdiffとlogを取得する
githubでの比較
https://github.com/android/platform_frameworks_base/compare/android-5.1.0_r1...android-5.1.1_r1