<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/fetch-pack.c, branch v1.2.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.2.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.2.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2006-02-11T06:28:30Z</updated>
<entry>
<title>Make "git clone" less of a deathly quiet experience</title>
<updated>2006-02-11T06:28:30Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2006-02-11T04:31:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5ee2ad654bc7d19ec4f08e11dc4fed8b97a59222'/>
<id>urn:sha1:5ee2ad654bc7d19ec4f08e11dc4fed8b97a59222</id>
<content type='text'>
It used to be that "git-unpack-objects" would give nice percentages, but
now that we don't unpack the initial clone pack any more, it doesn't. And
I'd love to do that nice percentage view in the pack objects downloader
too, but the thing doesn't even read the pack header, much less know how
much it's going to get, so I was lazy and didn't.

Instead, it at least prints out how much data it's gotten, and what the
packing speed is. Which makes the user realize that it's actually doing
something useful instead of sitting there silently (and if the recipient
knows how large the final result is, he can at least make a guess about
when it migt be done).

So with this patch, I get something like this on my DSL line:

	[torvalds@g5 ~]$ time git clone master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 clone-test
	Packing 188543 objects
	  48.398MB  (154 kB/s)

where even the speed approximation seems to be roughtly correct (even
though my algorithm is a truly stupid one, and only really gives "speed in
the last half second or so").

Anyway, _something_ like this is definitely needed. It could certainly be
better (if it showed the same kind of thing that git-unpack-objects did,
that would be much nicer, but would require parsing the object stream as
it comes in). But this is  big step forward, I think.

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git-fetch-pack: really do not ask for funny refs</title>
<updated>2006-01-20T02:29:43Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2006-01-18T23:24:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e921fb82cf6fb4a5f138ec9d27bc37c658336a8c'/>
<id>urn:sha1:e921fb82cf6fb4a5f138ec9d27bc37c658336a8c</id>
<content type='text'>
If git-fetch-pack was called with out any refspec, it would ask the server
for funny refs. That cannot work, since the funny refs are not marked
as OUR_REF by upload-pack, which just exits with an error.

Signed-off-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>clone-pack: remove unused and undocumented --keep flag</title>
<updated>2005-12-18T09:55:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-18T09:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2247efb40b304f158b9ab41455bd711366a44f57'/>
<id>urn:sha1:2247efb40b304f158b9ab41455bd711366a44f57</id>
<content type='text'>
While we are at it, give fully spelled --keep to fetch-pack.
Also give --quiet in addition to -q to fetch-pack as well.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>fetch-pack: -k option to keep downloaded pack.</title>
<updated>2005-12-18T07:11:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-15T06:17:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ad8972150887a8ed3dd4869fc9318cc2e48dd69f'/>
<id>urn:sha1:ad8972150887a8ed3dd4869fc9318cc2e48dd69f</id>
<content type='text'>
Split out the functions that deal with the socketpair after
finishing git protocol handshake to receive the packed data into
a separate file, and use it in fetch-pack to keep/explode the
received pack data.  We earlier had something like that on
clone-pack side once, but the list discussion resulted in the
decision that it makes sense to always keep the pack for
clone-pack, so unpacking option is not enabled on the clone-pack
side, but we later still could do so easily if we wanted to with
this change.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Make networking commands to work from a subdirectory.</title>
<updated>2005-11-29T07:13:02Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-11-26T08:47:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5a3277133d200151fe526e56e036c933d343958a'/>
<id>urn:sha1:5a3277133d200151fe526e56e036c933d343958a</id>
<content type='text'>
These are whole-tree operations and there is not much point
making them operable from within a subdirectory, but it is easy
to do so, and using setup_git_directory() upfront helps git://
proxy specification picked up from the correct place.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git-fetch: fail if specified refspec does not match remote.</title>
<updated>2005-11-06T08:26:21Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-11-06T08:09:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9e5d2b40967059dd5f35d02fba323751ef22ac4e'/>
<id>urn:sha1:9e5d2b40967059dd5f35d02fba323751ef22ac4e</id>
<content type='text'>
'git-fetch remote no-such-ref' succeeded without fetching any
ref from the remote.  Detect such case and report an error.

Note that this makes 'git-fetch remote master master' to fail,
because the remote branch 'master' matches the first refspec,
and the second refspec is left unmatched, which is detected by
the error checking logic.  This is somewhat unintuitive, but
giving the same refspec more than once to git-fetch is useless
in any case so it should not be much of a problem.  I'd accept a
patch to change this if somebody cares enough, though.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Be careful when dereferencing tags.</title>
<updated>2005-11-03T00:50:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-11-02T23:19:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9534f40bc42dd826cc26c8c8c84f6a8a5fc569f6'/>
<id>urn:sha1:9534f40bc42dd826cc26c8c8c84f6a8a5fc569f6</id>
<content type='text'>
One caller of deref_tag() was not careful enough to make sure
what deref_tag() returned was not NULL (i.e. we found a tag
object that points at an object we do not have).  Fix it, and
warn about refs that point at such an incomplete tag where
needed.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git-fetch-pack: Support multi_ack extension</title>
<updated>2005-10-29T05:57:01Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2005-10-28T02:50:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c4c86f07d01bc4a05126b129f644e70dd9e244d0'/>
<id>urn:sha1:c4c86f07d01bc4a05126b129f644e70dd9e244d0</id>
<content type='text'>
The client side support for multi_ack.

Signed-off-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Make maximal use of the remote refs</title>
<updated>2005-10-29T05:56:58Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2005-10-28T02:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1baaae5e1f9ac09aafe11b5aa4daa69bae68173b'/>
<id>urn:sha1:1baaae5e1f9ac09aafe11b5aa4daa69bae68173b</id>
<content type='text'>
When git-fetch-pack gets the remote refs, it does not need to filter them
right away, but it can see which refs are common (taking advantage of the
patch which makes git-fetch-pack not use git-rev-list).

This means that we ask get_remote_heads() to return all remote refs,
including the funny refs, and filtering them with a separate function later.

Signed-off-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Subject: [PATCH] git-fetch-pack: Do not use git-rev-list</title>
<updated>2005-10-29T05:56:58Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2005-10-28T02:46:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=23d61f8343282643c830e1c446962b213dbcc09a'/>
<id>urn:sha1:23d61f8343282643c830e1c446962b213dbcc09a</id>
<content type='text'>
The code used to call git-rev-list to enumerate the local revisions.
A disadvantage of that method was that git-rev-list, lacking a
control apart from the command line, would happily enumerate
ancestors of acknowledged common commits, which was just taking
unnecessary bandwidth.

Therefore, do not use git-rev-list on the fetching side, but rather
construct the list on the go. Send the revisions starting from the
local heads, ignoring the revisions known to be common.

Signed-off-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
</feed>
