aboutsummaryrefslogtreecommitdiff
path: root/git-fetch.sh
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@osdl.org>2005-11-18 08:31:55 -0800
committerJunio C Hamano <junkio@cox.net>2005-11-18 11:21:22 -0800
commit583122cd1b37d12d6f9fb487302ae07f1b446f03 (patch)
tree6bd0acb46996c80fda4b7a06801e8325d402a56b /git-fetch.sh
parent3afd169480f1970baeb54be639a496c71ff1e0a9 (diff)
downloadgit-583122cd1b37d12d6f9fb487302ae07f1b446f03.tar.gz
git-583122cd1b37d12d6f9fb487302ae07f1b446f03.tar.xz
Make "git fetch" less verbose by default
When doing something like git fetch --tags origin the excessively verbose output of git fetch makes the result totally unreadable. It's impossible to tell if it actually fetched anything new or not, since the screen will fill up with an endless supply of ... * committish: 9165ec17fde255a1770886189359897dbb541012 tag 'v0.99.7c' of master.kernel.org:/pub/scm/git/git * refs/tags/v0.99.7c: same as tag 'v0.99.7c' of master.kernel.org:/pub/scm/git/git ... and any new tags that got fetched will be totally hidden. So add a new "--verbose" flag to "git fetch" to enable this verbose mode, but make the default be quiet. NOTE! The quiet mode will still report about new or changed heads, so if you are really fetching a new head, you'll see something like this: [torvalds@g5 git]$ git fetch --tags parent Packing 6 objects Unpacking 6 objects 100% (6/6) done * refs/tags/v1.0rc2: storing tag 'v1.0rc2' of master.kernel.org:/pub/scm/git/git * refs/tags/v1.0rc3: storing tag 'v1.0rc3' of master.kernel.org:/pub/scm/git/git * refs/tags/v1.0rc1: storing tag 'v1.0rc1' of master.kernel.org:/pub/scm/git/git which actually tells you something useful that isn't hidden by all the useless crud that you already had. Extensively tested (hey, for me, this _is_ extensive) by doing a rm .git/refs/tags/v1.0rc* and re-fetching with both --verbose and without. NOTE! This means that if the fetch didn't actually fetch anything at all, git fetch will be totally quiet. I think that's much better than being so verbose that you can't even tell whether something was fetched or not, but some people might prefer to get a "nothing to fetch" message in that case. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-fetch.sh')
-rwxr-xr-xgit-fetch.sh14
1 files changed, 9 insertions, 5 deletions
diff --git a/git-fetch.sh b/git-fetch.sh
index 8564cbfd7..6586e773e 100755
--- a/git-fetch.sh
+++ b/git-fetch.sh
@@ -12,6 +12,7 @@ IFS="$LF"
tags=
append=
force=
+verbose=
update_head_ok=
while case "$#" in 0) break ;; esac
do
@@ -30,6 +31,9 @@ do
--update-head-o|--update-head-ok)
update_head_ok=t
;;
+ -v|--verbose)
+ verbose=Yes
+ ;;
*)
break
;;
@@ -91,12 +95,12 @@ append_fetch_head () {
then
headc_=$(git-rev-parse --verify "$head_^0") || exit
echo "$headc_ $not_for_merge_ $note_" >>"$GIT_DIR/FETCH_HEAD"
- echo >&2 "* committish: $head_"
- echo >&2 " $note_"
+ [ "$verbose" ] && echo >&2 "* committish: $head_"
+ [ "$verbose" ] && echo >&2 " $note_"
else
echo "$head_ not-for-merge $note_" >>"$GIT_DIR/FETCH_HEAD"
- echo >&2 "* non-commit: $head_"
- echo >&2 " $note_"
+ [ "$verbose" ] && echo >&2 "* non-commit: $head_"
+ [ "$verbose" ] && echo >&2 " $note_"
fi
if test "$local_name_" != ""
then
@@ -116,7 +120,7 @@ fast_forward_local () {
then
if now_=$(cat "$GIT_DIR/$1") && test "$now_" = "$2"
then
- echo >&2 "* $1: same as $3"
+ [ "$verbose" ] && echo >&2 "* $1: same as $3"
else
echo >&2 "* $1: updating with $3"
fi