From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ping Yin Subject: [PATCH v4 3/5] git-submodule summary: limit summary size Date: Tue, 11 Mar 2008 01:54:15 +0800 Message-ID: <1205171657-16216-3-git-send-email-pkufranky@gmail.com> References: <1205171657-16216-1-git-send-email-pkufranky@gmail.com> <1205171657-16216-2-git-send-email-pkufranky@gmail.com> Cc: git@vger.kernel.org, Ping Yin To: gitster@pobox.com X-From: git-owner@vger.kernel.org Mon Mar 10 18:55:26 2008 Return-path: Envelope-to: gcvg-git-2@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by lo.gmane.org with esmtp (Exim 4.50) id 1JYmDH-0001Ri-VJ for gcvg-git-2@gmane.org; Mon, 10 Mar 2008 18:55:04 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751468AbYCJRyV (ORCPT ); Mon, 10 Mar 2008 13:54:21 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751353AbYCJRyV (ORCPT ); Mon, 10 Mar 2008 13:54:21 -0400 Received: from mail.qikoo.org ([60.28.205.235]:42284 "EHLO mail.qikoo.org" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751175AbYCJRyU (ORCPT ); Mon, 10 Mar 2008 13:54:20 -0400 Received: by mail.qikoo.org (Postfix, from userid 1029) id 8BCEE470AF; Tue, 11 Mar 2008 01:54:17 +0800 (CST) X-Mailer: git-send-email 1.5.4.3.347.g5314c In-Reply-To: <1205171657-16216-2-git-send-email-pkufranky@gmail.com> Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: This patch teaches git-submodule an option '--summary-limit|-n ' to limit number of commits in total for the summary of each submodule in the modified case (only a single commit is shown in other cases). Number 0 will disable summary and minus number means unlimted (the default). Signed-off-by: Ping Yin --- git-submodule.sh | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index c9afa06..e52e261 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -4,7 +4,9 @@ # # Copyright (c) 2007 Lars Hjemli -USAGE='[--quiet] [--cached] [add [-b branch]|status|init|update|summary []] [--] [...]' +USAGE="[--quiet] [--cached] \ +[add [-b branch]|status|init|update|summary [-n|--summary-limit ] []] \ +[--] [...]" OPTIONS_SPEC= . git-sh-setup require_work_tree @@ -339,6 +341,8 @@ set_name_rev () { # $@ = [commit (default 'HEAD'),] requested paths (default all) # cmd_summary() { + summary_limit=-1 + # parse $args after "submodule ... summary". while test $# -ne 0 do @@ -346,6 +350,15 @@ cmd_summary() { --cached) cached="$1" ;; + -n|--summary-limit) + if summary_limit=$(($2 + 0)) 2>/dev/null && test "$summary_limit" = "$2" + then + : + else + usage + fi + shift + ;; --) shift break @@ -360,6 +373,8 @@ cmd_summary() { shift done + test $summary_limit = 0 && return + if rev=$(git rev-parse --verify "$1^0" 2>/dev/null) then head=$rev @@ -462,8 +477,10 @@ cmd_summary() { else if test $mod_src = 160000 -a $mod_dst = 160000 then + limit= + test $summary_limit -gt 0 && limit="-$summary_limit" GIT_DIR="$name/.git" \ - git log --pretty='format: %m %s' \ + git log $limit --pretty='format: %m %s' \ --left-right --first-parent $sha1_src...$sha1_dst elif test $mod_dst = 160000 then -- 1.5.4.3.347.g5314c