Boost logo

Boost :

Subject: Re: [boost] [git] Bumping git version requirement to 1.7.10
From: Vladimir Prus (ghost_at_[hidden])
Date: 2013-12-31 03:15:36


On 30.12.2013 23:34, Rene Rivera wrote:
> On Mon, Dec 30, 2013 at 1:26 PM, Vladimir Prus <ghost_at_[hidden]> wrote:
>
>> On 30.12.2013 23:22, Eric Niebler wrote:
>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> On 12/30/2013 06:47 AM, Beman Dawes wrote:
>>>
>>>> The regression scripts are using the clone --single-branch option,
>>>> which became available at git 1.7.10, so we are planning to bump
>>>> the version requirement.
>>>>
>>>
>>> Unless I'm mistaken, the most recent Ubuntu LTS release is still on
>>> 1.7.9.5. I think this change would inconvenience a significant segment
>>> of users.
>>>
>>
>> And it seems one can accomplish the same effect with earlier versions:
>>
>> http://stackoverflow.com/questions/1911109/git-clone-a-
>> specific-branch
>>
>>
> Hm.. It's not clear from the docs that they are equivalent. "-b" checks
> out the given branch. While "--single-branch" clones only the data for the
> branch.

I have referring to this:

        git init
        git remote add -t refspec remotename host:/dir.git
        git fetch

Here's a specific example:

        $ git init .
        $ git remote add --no-tags -t develop origin git_at_[hidden]:boostorg/build.git
        $ git fetch
        remote: Compressing objects: 100% (13708/13708), done.
        remote: Total 52255 (delta 37252), reused 52250 (delta 37248)
        Receiving objects: 100% (52255/52255), 27.04 MiB | 2.44 MiB/s, done.
        Resolving deltas: 100% (37252/37252), done.

On the other hand, it does not reduce much of download size, compares to full clone:

        remote: Counting objects: 55789, done.
        remote: Compressing objects: 100% (15291/15291), done.
        remote: Total 55789 (delta 38985), reused 55742 (delta 38939)
        Receiving objects: 100% (55789/55789), 28.62 MiB | 691 KiB/s, done.
        Resolving deltas: 100% (38985/38985), done.

Presumably because there are merge commits on 'develop' having commits from both
master and develop as parent.

Maybe, if you really want to reduce download speed, you need --depth option? Like so:

        $ git init .
        $ git remote add --no-tags -t develop origin git_at_[hidden]:boostorg/build.git
        $ git fetch --depth=1
        remote: Counting objects: 967, done.
        remote: Compressing objects: 100% (882/882), done.
        remote: Total 967 (delta 72), reused 806 (delta 57)
        Receiving objects: 100% (967/967), 2.10 MiB | 567 KiB/s, done.
        Resolving deltas: 100% (72/72), done.

Note that using just --depth=1 without --no-tags and -t to remote add fetches 7MiB, so the above
is probably the smallest you can get.

HTH,
Volodya


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk