[PATCH] git pull cannot find remote refs.
When getting new data from an archive with 'git pull' I sometimes got the message
fatal: unexpected EOF Failed to find remote refs Already up-to-date.
Tracking it down, I found a gap between how git-ls-remote prints out the tags and git-fetch scans them with sed. Looking at the code of git-ls-remote the there is an tab character between the sha1 and the refname, while there is a space and a tab character in the regular expression for th sed command.
As a result the while where all is piped in cannot read the two values.
Signed-off-by: Stefan-W. Hahn <stefan.hahn@s-hahn.de>
---
I'm not sure if the solution is the best, because info sed say '\t' is not portable, so perhaps it will be better to correct it another way?
Comments?
git-fetch.sh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
92905634295ea29a59c773c634197cc029839883
Show changes to git-fetch.sh +1 −1
diff --git a/git-fetch.sh b/git-fetch.sh index 0346d4a..c7b38b2 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -375,7 +375,7 @@ case "$no_tags$tags" in # using local tracking branch. taglist=$(IFS=" " && git-ls-remote $upload_pack --tags "$remote" | - sed -ne 's|^\([0-9a-f]*\)[ ]\(refs/tags/.*\)^{}$|\1 \2|p' | + sed -ne 's|^\([0-9a-f]*\)[\t]\(refs/tags/.*\)^{}$|\1 \2|p' | while read sha1 name do test -f "$GIT_DIR/$name" && continue
-- 1.2.3.gc55f -- Stefan-W. Hahn It is easy to make things. / mailto:stefan.hahn@s-hahn.de / It is hard to make things simple.