From: Linus Torvalds Date: Thu, 29 Sep 2005 21:14:36 GMT Subject: Re: [howto] Kernel hacker's guide to git, updated Message-ID: In-Reply-To: <20050929201127.GB31516@redhat.com> On Thu, 29 Sep 2005, Dave Jones wrote: > > Ah. I didn't know this. Thanks. > Hmm, it'd be nice to have a shorthand 'not have to type the url, pull everything'. > Something like 'git pull all'. Something like this? Except it's called "git fetch --all", and it's obviously totally untested. Linus -- diff --git a/git-fetch.sh b/git-fetch.sh --- a/git-fetch.sh +++ b/git-fetch.sh @@ -5,6 +5,8 @@ _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]' _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40" +all= +tags= append= force= update_head_ok= @@ -17,6 +19,12 @@ do -f|--f|--fo|--for|--forc|--force) force=t ;; + --tags) + tags=t + ;; + --all) + all=t + ;; -u|--u|--up|--upd|--upda|--updat|--update|--update-|--update-h|\ --update-he|--update-hea|--update-head|--update-head-|\ --update-head-o|--update-head-ok) @@ -158,7 +166,16 @@ case "$update_head_ok" in ;; esac -for ref in $(get_remote_refs_for_fetch "$@") +taglist= +if [ "$tags$all" ]; then + pattern='/refs\/tags/' + if [ "$all" ]; then + pattern='/refs/' + fi + taglist=$(git-ls-remote "$remote" | awk "$pattern"' { print $2":"$2 }') +fi + +for ref in $(get_remote_refs_for_fetch "$@" $taglist) do refs="$refs $ref"