# Thinning a repository

3 messages from 2014-11-30 to 2014-11-30. Participants: Yuri D'Elia, Fredrik Gustafsson.
Thread: https://gitlist.dev/t/38077

## Yuri D'Elia, 2014-11-30 12:18

Subject: Thinning a repository
Message-ID: <m5f1uq$na7$1@ger.gmane.org>
URL: https://gitlist.dev/e/m5f1uq%24na7%241%40ger.gmane.org

```
Hi everyone,

Is there a quick way to reproduce the effect of a shallow clone on a
local repository that doesn't involve filter-branch and/or re-clone?

My motivation is to reduce the local size of repositories I'm only
following, by trimming the history without prejudice to a [N] set of
last commits. It feels stupid that the quickest way I'm aware of right
now to achieve this is to "git clone --depth N ..." again. filter-branch
is ridiculously slow, as it iterates through history.

I've tried using graft points, but the combination of:

echo [sha] > .git/info/grafts
git reflog expire --expire=0 --all
git repack -Ad

doesn't really save any space and/or reduce the object count as I would
expect. It means there's probably still reachable?

I'd really love to have a 'git thin [depth]' subcommand to perform the
above however. I don't really want to have to iterate through refs just
to check if they are still reachable within [n] commits just to delete them.

Thanks for any pointer.

```

## Fredrik Gustafsson, 2014-11-30 12:34

Subject: Re: Thinning a repository
Message-ID: <20141130123400.GG31751@paksenarrion.iveqy.com>
URL: https://gitlist.dev/e/20141130123400.GG31751%40paksenarrion.iveqy.com
In-Reply-To: <m5f1uq$na7$1@ger.gmane.org>

```
On Sun, Nov 30, 2014 at 01:18:34PM +0100, Yuri D'Elia wrote:
> Is there a quick way to reproduce the effect of a shallow clone on a
> local repository that doesn't involve filter-branch and/or re-clone?

I'm curious, why is it a bad thing to do a re-clone? If you clone your
local repo it would be really fast.

-- 
Med vänlig hälsning
Fredrik Gustafsson

tel: 0733-608274
e-post: iveqy@iveqy.com

```

## Yuri D'Elia, 2014-11-30 12:35

Subject: Re: Thinning a repository
Message-ID: <m5f2up$554$1@ger.gmane.org>
URL: https://gitlist.dev/e/m5f2up%24554%241%40ger.gmane.org
In-Reply-To: <20141130123400.GG31751@paksenarrion.iveqy.com>

```
On 11/30/2014 01:34 PM, Fredrik Gustafsson wrote:
> On Sun, Nov 30, 2014 at 01:18:34PM +0100, Yuri D'Elia wrote:
>> Is there a quick way to reproduce the effect of a shallow clone on a
>> local repository that doesn't involve filter-branch and/or re-clone?
> 
> I'm curious, why is it a bad thing to do a re-clone? If you clone your
> local repo it would be really fast.

I see no reason to involve the workspace.
I would also want to keep the current remote/origin as it is.

I expect a 'thin' command to be faster by not touching the workspace at all.

```
