From: Reece Dunn Date: Wed, 29 Jul 2009 13:30:07 GMT Subject: Re: [PATCH 0/3 v2] Improve your performance with our patch Message-ID: <3f4fd2640907290630s37285944y8a364ce958367b@mail.gmail.com> In-Reply-To: <4A704A62.2060402@dawes.za.net> 2009/7/29 Rogan Dawes : > 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 > : > > 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