projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Allow diff and index commands to be interrupted
[git.git]
/
git-fetch.sh
diff --git
a/git-fetch.sh
b/git-fetch.sh
index
73e57bd
..
b4325d9
100755
(executable)
--- a/
git-fetch.sh
+++ b/
git-fetch.sh
@@
-17,12
+17,20
@@
append=
force=
verbose=
update_head_ok=
force=
verbose=
update_head_ok=
+exec=
+upload_pack=
while case "$#" in 0) break ;; esac
do
case "$1" in
-a|--a|--ap|--app|--appe|--appen|--append)
append=t
;;
while case "$#" in 0) break ;; esac
do
case "$1" in
-a|--a|--ap|--app|--appe|--appen|--append)
append=t
;;
+ --upl|--uplo|--uploa|--upload|--upload-|--upload-p|\
+ --upload-pa|--upload-pac|--upload-pack)
+ shift
+ exec="--exec=$1"
+ upload_pack="-u $1"
+ ;;
-f|--f|--fo|--for|--forc|--force)
force=t
;;
-f|--f|--fo|--for|--forc|--force)
force=t
;;
@@
-40,6
+48,9
@@
do
-v|--verbose)
verbose=Yes
;;
-v|--verbose)
verbose=Yes
;;
+ -k|--k|--ke|--kee|--keep)
+ keep=--keep
+ ;;
-*)
usage
;;
-*)
usage
;;
@@
-193,7
+204,7
@@
reflist=$(get_remote_refs_for_fetch "$@")
if test "$tags"
then
taglist=$(IFS=" " &&
if test "$tags"
then
taglist=$(IFS=" " &&
- git-ls-remote --tags "$remote" |
+ git-ls-remote
$upload_pack
--tags "$remote" |
while read sha1 name
do
case "$name" in
while read sha1 name
do
case "$name" in
@@
-309,7
+320,7
@@
fetch_main () {
( : subshell because we muck with IFS
IFS=" $LF"
(
( : subshell because we muck with IFS
IFS=" $LF"
(
- git-fetch-pack "$remote" $rref || echo failed "$remote"
+ git-fetch-pack
$exec $keep
"$remote" $rref || echo failed "$remote"
) |
while read sha1 remote_name
do
) |
while read sha1 remote_name
do
@@
-358,7
+369,7
@@
fetch_main "$reflist"
case "$no_tags$tags" in
'')
taglist=$(IFS=" " &&
case "$no_tags$tags" in
'')
taglist=$(IFS=" " &&
- git-ls-remote --tags "$remote" |
+ git-ls-remote
$upload_pack
--tags "$remote" |
sed -ne 's|^\([0-9a-f]*\)[ ]\(refs/tags/.*\)^{}$|\1 \2|p' |
while read sha1 name
do
sed -ne 's|^\([0-9a-f]*\)[ ]\(refs/tags/.*\)^{}$|\1 \2|p' |
while read sha1 name
do