Re: Wishlist for a bundle-only transport mode
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Nov 21, 2007, 17:07 UTC
- Message-ID
- <Pine.LNX.4.64.0711211702440.27959@racer.site>
- In-Reply-To
- <1195662180.28318.19.camel@hinata.boston.redhat.com>
Hi,
On Wed, 21 Nov 2007, Kristian H?gsberg wrote:
Show 20 quoted lines
> On Wed, 2007-11-21 at 15:59 +0000, Johannes Schindelin wrote: > > Hi, > > > > On Wed, 21 Nov 2007, Santi B?jar wrote: > > > > > 1) git-clone does not accept a bundle file, even if git-fetch does. I've > > > made a patch to use git-fetch in git-clone for this. > > > > This, along with rewriting git-clone as a very thin wrapper over git-init, > > -remote and -fetch, is a really low hanging fruit. > > > > Or maybe go the full nine yards and build it in. Should be a breeze now, > > given parse_options() and run_command(). > > I started doing this, which is pretty stupid as I'm pressed to find time > to finish up builtin-commit. Nevertheless, could you elaborate on the > plan here? How would you rewrite it to just use remote and fetch? I > just finished the boilerplate option parsing stuff (patch below) and > started reading the core of git-clone.sh, but if most of this can be > replaced I'd like to hear about it :)
After handling the options like --reference, and except for special handling of a local clone (not via file:// protocol), it should be as easy as
git remote add -f origin $url && case "$no_checkout" in t) ;; *) git checkout -f -b master remotes/origin/HEAD ;; esac
(Of course I'd use run_command() for this.)
I would avoid at all costs to reimplement the different methods for the different protocols.
Ciao, Dscho