Skip to contentSkip to conversation

shallow clone failed git pull

PATCH In review Aneesh Kumar K.V 2 participants 4 messages Aug 11, 2016

lore
Share & tools
lore
#0 lore raw

I was using the pu branch i tried to update the git repository and i got this error.

alk 9e950efa20dc8037c27509666cba6999da9368e8
walk 3b6a792f6ace33584897d1af08630c9acc0ce221
* refs/heads/origin: fast forward to branch 'master' of http://repo.or.cz/r/linux-2.6
old..new: 3d42488..088406b
Auto-following refs/tags/v2.6.19-rc5
shallow clone with http not supported

This repository was not cloned with -depth. I only updated the git tools using the pu branch

#1 lore raw
Quoted 10 lines · Aneesh Kumar K.V

I was using the pu branch i tried to update the git repository and i got this error.

alk 9e950efa20dc8037c27509666cba6999da9368e8
walk 3b6a792f6ace33584897d1af08630c9acc0ce221
* refs/heads/origin: fast forward to branch 'master' of http://repo.or.cz/r/linux-2.6
old..new: 3d42488..088406b
Auto-following refs/tags/v2.6.19-rc5
shallow clone with http not supported

Quoted 2 lines

This repository was not cloned with -depth. I only updated the git tools using the pu branch

The attached patch gets it working. I am not sure whether the fix is the right one. I am a little bit confused regarding the $depth being incremented.

-aneesh

git-fetch.sh +4 -4
index 8b46e73..6459994 100755
@@ -21,7 +21,7 @@ update_head_ok=
 exec=
 upload_pack=
 keep=
-depth=
+depth=0
 while case "$#" in 0) break ;; esac
 do
 	case "$1" in
@@ -304,7 +304,7 @@ fetch_main () {
       # There are transports that can fetch only one head at a time...
       case "$remote" in
       http://* | https://* | ftp://*)
-	  test -n "$depth" && die "shallow clone with http not supported"
+	  [ x"$depth" != x0 ] && die "shallow clone with http not supported"
 	  proto=`expr "$remote" : '\([^:]*\):'`
 	  if [ -n "$GIT_SSL_NO_VERIFY" ]; then
 	      curl_extra_args="-k"
@@ -325,7 +325,7 @@ fetch_main () {
 	      print "$u";
 	  ' "$head")
 	    head=$(curl -nsfL $curl_extra_args $noepsv_opt "$remote/$remote_name_quoted")
-	    depth=$( expr \( $depth + 1 \) )
+	   # depth=$( expr \( $depth + 1 \) )
 	  done
 	  expr "z$head" : "z$_x40\$" >/dev/null ||
 	      die "Failed to fetch $remote_name from $remote"
@@ -333,7 +333,7 @@ fetch_main () {
 	  git-http-fetch -v -a "$head" "$remote/" || exit
 	  ;;
       rsync://*)
-	  test -n "$depth" && die "shallow clone with rsync not supported"
+	  [ x"$depth" != x0 ] && die "shallow clone with http not supported"
 	  TMP_HEAD="$GIT_DIR/TMP_HEAD"
 	  rsync -L -q "$remote/$remote_name" "$TMP_HEAD" || exit 1
 	  head=$(git-rev-parse --verify TMP_HEAD)
#2 lore raw

PATCH 1/1 FIX git pull failure with shallow clone changes

I was using the pu branch i tried to update the git repository and i got this error.

walk 9e950efa20dc8037c27509666cba6999da9368e8 walk 3b6a792f6ace33584897d1af08630c9acc0ce221
* refs/heads/origin: fast forward to branch 'master' of
http://repo.or.cz/r/linux-2.6
old..new: 3d42488..088406b
Auto-following refs/tags/v2.6.19-rc5
shallow clone with http not supported

This repository was not cloned with -depth. I only updated the git tools using the pu branch

---
 git-fetch.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
git-fetch.sh +3 -3
index 8b46e73..14ba4b2 100755
@@ -314,9 +314,9 @@ fetch_main () {
 	      noepsv_opt="--disable-epsv"
 	  fi
 	  max_depth=5
-	  depth=0
+	  cur_depth=0
 	  head="ref: $remote_name"
-	  while (expr "z$head" : "zref:" && expr $depth \< $max_depth) >/dev/null
+	  while (expr "z$head" : "zref:" && expr $cur_depth \< $max_depth) >/dev/null
 	  do
 	    remote_name_quoted=$(@@PERL@@ -e '
 	      my $u = $ARGV[0];
@@ -325,7 +325,7 @@ fetch_main () {
 	      print "$u";
 	  ' "$head")
 	    head=$(curl -nsfL $curl_extra_args $noepsv_opt "$remote/$remote_name_quoted")
-	    depth=$( expr \( $depth + 1 \) )
+	    cur_depth=$( expr \( $cur_depth + 1 \) )
 	  done
 	  expr "z$head" : "z$_x40\$" >/dev/null ||
 	      die "Failed to fetch $remote_name from $remote"
Signature · 1 line
1.4.4.rc1.g368c-dirty