2016-02-17 66 views
0

只是爲了澄清,這是關於Android Repo使用`repo forall`列出過期分行

我希望能夠將我的工作目錄與使用repo forall的任意遠程分支進行比較,以查看是否需要從該分支中​​提取任何更改。

這是迄今爲止我已經得到最接近:

repo forall -p -c "git rev-list HEAD..origin/branchname --count" 

該命令將打印提交工作副本的背後是起源/ BRANCHNAME每個Git項目的數量。我想讓它更好:

  • 忽略已經是最新的分支。有時候遠程分支包含一個空的合併提交,或者用上面的命令報告一個非零數字,但是該分支實際上並不包含任何新的代碼。
  • 爲最新的分行打印沒有輸出。我真的只關心那些不是最新的分支。我不需要看到一堆0。如果我可以讓git命令不打印輸出,repo forall將不會打印輸出。

回答

1

試試這個:

repo forall -p -c "if [[ `git diff HEAD origin/branchname` ]]; then git rev-list HEAD..origin/branchname --count; fi" 
+0

的命令似乎做正是我想要的,但我不能讓它與回購FORALL工作:'bash下/首頁/ mkasberg /斌/回購:參數列表太長了' – mkasberg

+0

也許'-quiet'選項爲git-diff會幫助... – mkasberg

+0

修正它:''repo forall -p -c「git diff --quiet HEAD origin/branchname || git rev-list HEAD ..origin/branchname --count「' – mkasberg