Fwd: Remote hung up during `git fetch`

2012-11-22 Thread Yichao Yu
Hi everyone,

I sent this email yesterday to the git mailing list but I cannot find
it in any archive so I decide to send it again.
Does anyone know what has happened to the mailing list? I haven't
receive any email from several kernel related busy mailing lists for
several hours

Yichao Yu

-- Forwarded message --
From: Yichao Yu yyc1...@gmail.com
Date: Wed, Nov 21, 2012 at 11:18 PM
Subject: Remote hung up during `git fetch`
To: git@vger.kernel.org


Hi everyone,

I want to build packages for snap shoot of different branches from
different remote git repositories in the same local directory (so that
I don't need to recompile everything everytime.) and I am using a
combination of `git clone/checkout/reset/fetch` to do that. However,
during git-fetch, the remote sometimes stop responding or simply reset
the connection. This happens occasionally at least for both ssh and
git protocol (not sure about http/https) on github, bitbucket and also
kernel.org so I think it is probably not due to a weird behavior of a
certain host. Does anyone know the reason or is there anything I have
done wrong? And is there a better way to set the local tree to a
certain branch at a certain url? THX

My git version is ArchLinux package 1.8.0-1. (timezone
America/New_York in case the time stamp somehow matters)

Here is a script that always triggers the issue (at least now) and
it's output. (No I am not trying to merge git and the kernel... These
are just random public repos on kernel.org that can trigger the issue.
Although I am pulling from two repos from different project here, the
same thing can also happen on other hosts when the two repos are
actually the same project)

Yichao Yu

--

#!/bin/bash

repo_name=git
# remote1='git://github.com/torvalds/linux.git'
remote1='git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git'
branch1='master'
# remote2='git://github.com/git/git.git'
remote2='git://git.kernel.org/pub/scm/git/git.git'
branch2='next'

git clone --depth 1 --single-branch --branch $branch1 $remote1 $repo_name
cd $repo_name
git fetch -vvv $remote2 # $branch2:$branch2

---

Cloning into 'git'...
remote: Counting objects: 43215, done.
remote: Compressing objects: 100% (41422/41422), done.
remote: Total 43215 (delta 3079), reused 22032 (delta 1247)
Receiving objects: 100% (43215/43215), 119.06 MiB | 1.60 MiB/s, done.
Resolving deltas: 100% (3079/3079), done.
Checking out files: 100% (40905/40905), done.
fatal: destination path 'git' already exists and is not an empty directory.
Server supports multi_ack_detailed
Server supports side-band-64k
Server supports ofs-delta
want 2d242fb3fc19fc9ba046accdd9210be8b9913f64 (HEAD)
have ef6c5be658f6a70c1256fbd18e18ee0dc24c3386
have db9d8c60266a5010e905829e10cd722519e14777
done
fatal: The remote end hung up unexpectedly
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Remote hung up during `git fetch`

2012-11-22 Thread Shawn Pearce
On Thu, Nov 22, 2012 at 10:39 AM, Yichao Yu yyc1...@gmail.com wrote:
 I sent this email yesterday to the git mailing list but I cannot find
 it in any archive so I decide to send it again.

If it was HTML formatted it would have been silently dropped by the list.

 Does anyone know what has happened to the mailing list? I haven't
 receive any email from several kernel related busy mailing lists for
 several hours

US holiday today? The list traffic tends to be down during holidays.

 I want to build packages for snap shoot of different branches from
 different remote git repositories in the same local directory (so that
 I don't need to recompile everything everytime.) and I am using a
 combination of `git clone/checkout/reset/fetch` to do that. However,
 during git-fetch, the remote sometimes stop responding or simply reset
 the connection. This happens occasionally at least for both ssh and
 git protocol (not sure about http/https) on github, bitbucket and also
 kernel.org so I think it is probably not due to a weird behavior of a
 certain host. Does anyone know the reason or is there anything I have
 done wrong? And is there a better way to set the local tree to a
 certain branch at a certain url? THX

If the remote server is really busy it might be OOM'ing the server
process which would disconnect the client. Or maybe its your ISP
sending a rogue RST packet to kill the connection because they don't
like traffic that leaves their network and costs them money on a
peering agreement. Or... ?

 #!/bin/bash

 repo_name=git
 # remote1='git://github.com/torvalds/linux.git'
 remote1='git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git'
 branch1='master'
 # remote2='git://github.com/git/git.git'
 remote2='git://git.kernel.org/pub/scm/git/git.git'
 branch2='next'

 git clone --depth 1 --single-branch --branch $branch1 $remote1 
 $repo_name
 cd $repo_name
 git fetch -vvv $remote2 # $branch2:$branch2

 ---

 Cloning into 'git'...
 remote: Counting objects: 43215, done.
 remote: Compressing objects: 100% (41422/41422), done.
 remote: Total 43215 (delta 3079), reused 22032 (delta 1247)
 Receiving objects: 100% (43215/43215), 119.06 MiB | 1.60 MiB/s, done.
 Resolving deltas: 100% (3079/3079), done.
 Checking out files: 100% (40905/40905), done.
 fatal: destination path 'git' already exists and is not an empty directory.

Why does this error come up? It looks like git already exists locally.
Git should have aborted much earlier in clone when the directory
exists.

 Server supports multi_ack_detailed
 Server supports side-band-64k
 Server supports ofs-delta
 want 2d242fb3fc19fc9ba046accdd9210be8b9913f64 (HEAD)
 have ef6c5be658f6a70c1256fbd18e18ee0dc24c3386
 have db9d8c60266a5010e905829e10cd722519e14777
 done
 fatal: The remote end hung up unexpectedly

This looks like its from the fetch command. Since the server doesn't
report any errors to the client, its hard to say why the server just
gave up right there. I wonder if this is related to the fact that you
did a shallow clone initially. The shallow clone may have confused the
server when fetch ran because it only sent 2 have lines and gave up.

Try exporting GIT_TRACE_PACKET=1 and seeing if you can get more
detailed information from the protocol on the client side.

FYI, https://kernel.googlesource.com/ mirrors git://git.kernel.org/ so
you can also try pulling from that server (e.g.
https://kernel.googlesource.com/pub/scm/git/git.git).
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Remote hung up during `git fetch`

2012-11-22 Thread Yichao Yu
On Thu, Nov 22, 2012 at 2:52 PM, Shawn Pearce spea...@spearce.org wrote:
 On Thu, Nov 22, 2012 at 11:44 AM, Yichao Yu yyc1...@gmail.com wrote:
 US holiday today? The list traffic tends to be down during holidays.
 This silent? 0 email from the kernel mailing list for 10+ hours?..
 anyway nvm...

 Check your spam filters? I am having no trouble getting email for the
 Git list. Traffic is down, but there have been several messages within
 the past 4 hours. E.g. this thread among them.

My spam filter is fine (they are not in spam...)... probably gmail
just failed to send to / receive from vger.kernel.org for the last
several hours (or sth similar...)


 packet:fetch want 2d242fb3fc19fc9ba046accdd9210be8b9913f64
 multi_ack_detailed side-band-64k thin-pack ofs-delta
 packet:fetch shallow 65546ab097b023886a60df4cbc931d4cc362b98e
 packet:fetch shallow b80d60e1c3854460a1f01d4110da5ae98f30f9b2
 packet:fetch 

 I think this is the problem. Your client told the sever it has the
 Linux kernel shallow cloned, but its talking to a repository that
 hosts git.git. The remote server doesn't know these two SHA-1s
 mentioned on the shallow line, as they are from the Linux kernel
 repository, so the server just hung up on you.
I C. So in my real case it is probably because the different server I
am pulling from are on different branches (for a shallow clone, it
may look the same with commits from different projects?...)


 Basically this is an unsupported use case. A shallow repository can
 only fetch from the place it cloned from. Anything else working is
 pure luck. It _may_ be able to fetch from a clone of that same
 repository at another server, if the clone has at least all of the
 commits the client already has. If the remote clone is missing commits
 (as in this case where it has none!) then it doesn't work.

So is there a way to ask for a certain commit from a certain server
and update local files that has changed accordingly? For the server,
it shouldn't be much different from another shallow clone (although it
would be better if locally existing objects are not transferred.). But
I am wondering what client side command/script do I need to use.


THX.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Remote hung up during `git fetch`

2012-11-22 Thread Yichao Yu
Hi everyone,

I want to build packages for snap shoot of different branches from
different remote git repositories in the same local directory (so that
I don't need to recompile everything everytime.) and I am using a
combination of `git clone/checkout/reset/fetch` to do that. However,
during git-fetch, the remote sometimes stop responding or simply reset
the connection. This happens occasionally at least for both ssh and
git protocol (not sure about http/https) on github, bitbucket and also
kernel.org so I think it is probably not due to a weird behavior of a
certain host. Does anyone know the reason or is there anything I have
done wrong? And is there a better way to set the local tree to a
certain branch at a certain url? THX

My git version is ArchLinux package 1.8.0-1. (timezone
America/New_York in case the time stamp somehow matters)

Here is a script that always triggers the issue (at least now) and
it's output. (No I am not trying to merge git and the kernel... These
are just random public repos on kernel.org that can trigger the issue.
Although I am pulling from two repos from different project here, the
same thing can also happen on other hosts when the two repos are
actually the same project)

Yichao Yu

--

#!/bin/bash

repo_name=git
# remote1='git://github.com/torvalds/linux.git'
remote1='git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git'
branch1='master'
# remote2='git://github.com/git/git.git'
remote2='git://git.kernel.org/pub/scm/git/git.git'
branch2='next'

git clone --depth 1 --single-branch --branch $branch1 $remote1 $repo_name
cd $repo_name
git fetch -vvv $remote2 # $branch2:$branch2

---

Cloning into 'git'...
remote: Counting objects: 43215, done.
remote: Compressing objects: 100% (41422/41422), done.
remote: Total 43215 (delta 3079), reused 22032 (delta 1247)
Receiving objects: 100% (43215/43215), 119.06 MiB | 1.60 MiB/s, done.
Resolving deltas: 100% (3079/3079), done.
Checking out files: 100% (40905/40905), done.
fatal: destination path 'git' already exists and is not an empty directory.
Server supports multi_ack_detailed
Server supports side-band-64k
Server supports ofs-delta
want 2d242fb3fc19fc9ba046accdd9210be8b9913f64 (HEAD)
have ef6c5be658f6a70c1256fbd18e18ee0dc24c3386
have db9d8c60266a5010e905829e10cd722519e14777
done
fatal: The remote end hung up unexpectedly
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Remote hung up during `git fetch`

2012-11-22 Thread Andrew Ardill
On 23 November 2012 05:39, Yichao Yu yyc1...@gmail.com wrote:
 Hi everyone,

 I sent this email yesterday to the git mailing list but I cannot find
 it in any archive so I decide to send it again.
 Does anyone know what has happened to the mailing list? I haven't
 receive any email from several kernel related busy mailing lists for
 several hours

 Yichao Yu

Your original message just came through to me (I'm on GMail) so
obviously there was a delay somewhere in routing your message/s. Looks
like it was delayed by around 18 hours somewhere...
Looking at your delayed message more closely I can see that there was
a big delay just before vger.kernel.org got it.

From: Yichao Yu yyc1...@gmail.com
Date: Wed, 21 Nov 2012 23:18:34 -0500
Received: by 10.64.15.165 with HTTP; Wed, 21 Nov 2012 20:18:34 -0800 (PST)
Received: by 10.50.12.165 with SMTP id
z5mr1895031igb.17.1353557934382; Wed,  21 Nov 2012 20:18:54 -0800
(PST)
Received: by mail-ie0-f174.google.com with SMTP id k11so2625936iea.19
for git@vger.kernel.org; Thu, 22 Nov 2012 15:00:04 -0800 (PST)

Not sure if anyone else saw issues, but it is likely an issue with
your service provider (either gmail or gmail's SMTP routers). My other
gmail traffic has been fine over the period. Maybe somebody else knows
what happened :)

Regards,

Andrew Ardill
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html