# [PATCH 0/3 v2] Improve your performance with our patch

7 messages from 2009-07-28 to 2009-07-29. Participants: Daniel Barkalow, Michael J Gruber, Johannes Schindelin, Reece Dunn, Rogan Dawes.
Thread: https://gitlist.dev/t/20255

## Daniel Barkalow, 2009-07-28 06:08

Subject: [PATCH 0/3 v2] Improve your performance with our patch
Message-ID: <alpine.LNX.2.00.0907280131230.2147@iabervon.org>
URL: https://gitlist.dev/e/alpine.LNX.2.00.0907280131230.2147%40iabervon.org

```
Ever since I saw spam to the kernel mailing list with that subject, I've 
wanted to title a suitable patch series that. This series makes executing 
the git startup code a whole lot faster on distros where libcurl has all 
the possible features, by not linking the regular programs against it.

I have in the works a series to implement my foreign-scm series as an 
extension to this series, mainly adding handling for the ways that 
importing content is different from simply getting it from a remote 
repository.

Daniel Barkalow (2):
  Add support for external programs for handling native fetches
  Use an external program to implement fetching with curl

Linus Torvalds (1):
  git-http-fetch: not a builtin

 Documentation/git-shim.txt           |   37 +++++++++
 Makefile                             |   12 ++-
 git.c                                |    3 -
 builtin-http-fetch.c => http-fetch.c |    5 +-
 shim-curl.c                          |  132 +++++++++++++++++++++++++++++++
 transport-shim.c                     |  142 ++++++++++++++++++++++++++++++++++
 transport.c                          |  136 +--------------------------------
 transport.h                          |    3 +
 8 files changed, 328 insertions(+), 142 deletions(-)
 create mode 100644 Documentation/git-shim.txt
 rename builtin-http-fetch.c => http-fetch.c (95%)
 create mode 100644 shim-curl.c
 create mode 100644 transport-shim.c

```

## Michael J Gruber, 2009-07-28 07:48

Subject: Re: [PATCH 0/3 v2] Improve your performance with our patch
Message-ID: <4A6EAD50.4060906@drmicha.warpmail.net>
URL: https://gitlist.dev/e/4A6EAD50.4060906%40drmicha.warpmail.net
In-Reply-To: <alpine.LNX.2.00.0907280131230.2147@iabervon.org>

```
Daniel Barkalow venit, vidit, dixit 28.07.2009 08:08:
> Ever since I saw spam to the kernel mailing list with that subject, I've 
> wanted to title a suitable patch series that. This series makes executing 

ROTFL :)

I'm glad it passed my spam filters... Do you offer free shipping and a
rebate if I order a year's supply?

Michael

```

## Johannes Schindelin, 2009-07-28 11:11

Subject: Re: [PATCH 0/3 v2] Improve your performance with our patch
Message-ID: <alpine.DEB.1.00.0907281307380.8306@pacific.mpi-cbg.de>
URL: https://gitlist.dev/e/alpine.DEB.1.00.0907281307380.8306%40pacific.mpi-cbg.de
In-Reply-To: <alpine.LNX.2.00.0907280131230.2147@iabervon.org>

```
Hi,

On Tue, 28 Jul 2009, Daniel Barkalow wrote:

>  Documentation/git-shim.txt           |   37 +++++++++

May I re-register my complaint about the naming?

I mean, yes, I could think of something even worse when it comes to the 
(ridiculously bad!) tradition of naming things "porcelain", "plumbing" and 
"potty", especially when it comes to "pushing objects" and 
then "pulling".

But now that we had a good laugh, it is time to get serious again, and 
give this child a _way_ better name.

I mean, you already had a good name for your foreign scm series.  Why did 
you give that up in favor of this lousy naming?

Ciao,
Dscho

```

## Reece Dunn, 2009-07-28 12:50

Subject: Re: [PATCH 0/3 v2] Improve your performance with our patch
Message-ID: <3f4fd2640907280550g22e922fue0bbeeed36fba497@mail.gmail.com>
URL: https://gitlist.dev/e/3f4fd2640907280550g22e922fue0bbeeed36fba497%40mail.gmail.com
In-Reply-To: <alpine.DEB.1.00.0907281307380.8306@pacific.mpi-cbg.de>

```
2009/7/28 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
> Hi,
>
> On Tue, 28 Jul 2009, Daniel Barkalow wrote:
>
>>  Documentation/git-shim.txt           |   37 +++++++++
>
> May I re-register my complaint about the naming?
>
> I mean, yes, I could think of something even worse when it comes to the
> (ridiculously bad!) tradition of naming things "porcelain", "plumbing" and
> "potty", especially when it comes to "pushing objects" and
> then "pulling".
>
> But now that we had a good laugh, it is time to get serious again, and
> give this child a _way_ better name.
>
> I mean, you already had a good name for your foreign scm series.  Why did
> you give that up in favor of this lousy naming?

How about git-http?

- Reece

```

## Johannes Schindelin, 2009-07-28 13:29

Subject: Re: [PATCH 0/3 v2] Improve your performance with our patch
Message-ID: <alpine.DEB.1.00.0907281528260.8306@pacific.mpi-cbg.de>
URL: https://gitlist.dev/e/alpine.DEB.1.00.0907281528260.8306%40pacific.mpi-cbg.de
In-Reply-To: <3f4fd2640907280550g22e922fue0bbeeed36fba497@mail.gmail.com>

```
Hi,

On Tue, 28 Jul 2009, Reece Dunn wrote:

> 2009/7/28 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
>
> > On Tue, 28 Jul 2009, Daniel Barkalow wrote:
> >
> >>  Documentation/git-shim.txt           |   37 +++++++++
> >
> > May I re-register my complaint about the naming?
> >
> > I mean, yes, I could think of something even worse when it comes to the
> > (ridiculously bad!) tradition of naming things "porcelain", "plumbing" and
> > "potty", especially when it comes to "pushing objects" and
> > then "pulling".
> >
> > But now that we had a good laugh, it is time to get serious again, and
> > give this child a _way_ better name.
> >
> > I mean, you already had a good name for your foreign scm series.  Why did
> > you give that up in favor of this lousy naming?
> 
> How about git-http?

If 'git-fetch' learns to search for a helper by the name of the protocol 
(as it should learn), this will obviously fail with svn://.

Ciao,
Dscho

```

## Rogan Dawes, 2009-07-29 13:10

Subject: Re: [PATCH 0/3 v2] Improve your performance with our patch
Message-ID: <4A704A62.2060402@dawes.za.net>
URL: https://gitlist.dev/e/4A704A62.2060402%40dawes.za.net
In-Reply-To: <alpine.DEB.1.00.0907281307380.8306@pacific.mpi-cbg.de>

```
Johannes Schindelin wrote:
> Hi,
> 
> On Tue, 28 Jul 2009, Daniel Barkalow wrote:
> 
>>  Documentation/git-shim.txt           |   37 +++++++++
> 
> May I re-register my complaint about the naming?
> 
> I mean, yes, I could think of something even worse when it comes to the 
> (ridiculously bad!) tradition of naming things "porcelain", "plumbing" and 
> "potty", especially when it comes to "pushing objects" and 
> then "pulling".

A Shim has nothing to do with plumbing or toilets. From
<http://en.wikipedia.org/wiki/Shim_%28engineering%29>:

In engineering, a shim is a thin and often tapered or wedged piece of
material, used to fill small gaps or spaces between objects. Shims are
typically used in order to support, adjust for better fit, or provide a
level surface.

I suspect that it is being used in the "adjust for better fit" sense in
this case.

Regards,

Rogan

```

## Reece Dunn, 2009-07-29 13:30

Subject: Re: [PATCH 0/3 v2] Improve your performance with our patch
Message-ID: <3f4fd2640907290630s37285944y8a364ce958367b@mail.gmail.com>
URL: https://gitlist.dev/e/3f4fd2640907290630s37285944y8a364ce958367b%40mail.gmail.com
In-Reply-To: <4A704A62.2060402@dawes.za.net>

```
2009/7/29 Rogan Dawes <lists@dawes.za.net>:
> Johannes Schindelin wrote:
>> Hi,
>>
>> On Tue, 28 Jul 2009, Daniel Barkalow wrote:
>>
>>>  Documentation/git-shim.txt           |   37 +++++++++
>>
>> May I re-register my complaint about the naming?
>>
>> I mean, yes, I could think of something even worse when it comes to the
>> (ridiculously bad!) tradition of naming things "porcelain", "plumbing" and
>> "potty", especially when it comes to "pushing objects" and
>> then "pulling".
>
> A Shim has nothing to do with plumbing or toilets. From
> <http://en.wikipedia.org/wiki/Shim_%28engineering%29>:
>
> In engineering, a shim is a thin and often tapered or wedged piece of
> material, used to fill small gaps or spaces between objects. Shims are
> typically used in order to support, adjust for better fit, or provide a
> level surface.
>
> I suspect that it is being used in the "adjust for better fit" sense in
> this case.

Yes, a shim is a layer that acts as a bridge from one thing to
another. In this case, it is a bridge between the transport code and
the transport mechanism. Using shim as an external name is confusing
-- a shim to what? The fast-import code and git-svn/hg/bzr/cvs/...
could be a shim (as it is acting as a bridge between other version
control systems).

Here, git-remote-* where * is the protocol name is a better naming
scheme as it tells you about what the logic is doing. The
documentation can be under git-remote.txt.

- Reece

```
