# git-repack not removing files from $GIT_DIR/objects/[00-ff]

6 messages from 2006-07-17 to 2006-07-17. Participants: Post, Mark K, Shawn Pearce, Jeff King.
Thread: https://gitlist.dev/t/4906

## Post, Mark K, 2006-07-17 00:44

Subject: git-repack not removing files from $GIT_DIR/objects/[00-ff]
Message-ID: <5A14AF34CFF8AD44A44891F7C9FF410507E43005@usahm236.amer.corp.eds.com>
URL: https://gitlist.dev/e/5A14AF34CFF8AD44A44891F7C9FF410507E43005%40usahm236.amer.corp.eds.com

```
I'm having a problem that just started occurring with git-repack not
removing the files from $GIT_DIR/objects/*, and therefore not removing
the directories, since they're not empty.  The command I'm using (as the
git user) is this:
GIT_DIR=/home/git/pub/scm/linux-2.6.git git-repack -a -d -l

This used to work, but then suddenly stopped working.  I ran an strace
-f -F with this same command, and I don't see any attempt being made to
unlink the files in $GIT_DIR/objects/*/, but I do see the rmdir commands
failing because the directories are not empty.  All of the files in
those directories are owned by git:git.

I tried upgrading to git 1.4.1, but the same thing happens.  The gzipped
strace output is almost 5MB in size, certainly not appropriate to attach
here.  I can make it available from the system's web server if anyone
wants to look at it.

Please let me know if there's any other information needed.


Mark Post

```

## Shawn Pearce, 2006-07-17 01:21

Subject: Re: git-repack not removing files from $GIT_DIR/objects/[00-ff]
Message-ID: <20060717012154.GA27389@spearce.org>
URL: https://gitlist.dev/e/20060717012154.GA27389%40spearce.org
In-Reply-To: <5A14AF34CFF8AD44A44891F7C9FF410507E43005@usahm236.amer.corp.eds.com>

```
"Post, Mark K" <mark.post@eds.com> wrote:
> I'm having a problem that just started occurring with git-repack not
> removing the files from $GIT_DIR/objects/*, and therefore not removing
> the directories, since they're not empty.  The command I'm using (as the
> git user) is this:
> GIT_DIR=/home/git/pub/scm/linux-2.6.git git-repack -a -d -l
> 
> This used to work, but then suddenly stopped working.  I ran an strace
> -f -F with this same command, and I don't see any attempt being made to
> unlink the files in $GIT_DIR/objects/*/, but I do see the rmdir commands
> failing because the directories are not empty.  All of the files in
> those directories are owned by git:git.

Try running `git-prune-packed` after git-repack.  git-repack doesn't
delete the loose objects.

I don't remember git-repack ever doing it either.

-- 
Shawn.

```

## Post, Mark K, 2006-07-17 01:47

Subject: RE: git-repack not removing files from $GIT_DIR/objects/[00-ff]
Message-ID: <5A14AF34CFF8AD44A44891F7C9FF410507E43006@usahm236.amer.corp.eds.com>
URL: https://gitlist.dev/e/5A14AF34CFF8AD44A44891F7C9FF410507E43006%40usahm236.amer.corp.eds.com
In-Reply-To: <20060717012154.GA27389@spearce.org>

```
Thanks for the suggestion, but it didn't help.  One reason is that this
is a bare repository.  When I ran the command, it aborted with "fatal:
Not a git repository."  Most likely because bare repositories don't have
a .git directory in them.


Mark Post 

-----Original Message-----
From: spearce@spearce.org [mailto:spearce@spearce.org] 
Sent: Sunday, July 16, 2006 9:22 PM
To: Post, Mark K
Cc: git@vger.kernel.org
Subject: Re: git-repack not removing files from $GIT_DIR/objects/[00-ff]

"Post, Mark K" <mark.post@eds.com> wrote:
> I'm having a problem that just started occurring with git-repack not
> removing the files from $GIT_DIR/objects/*, and therefore not removing
> the directories, since they're not empty.  The command I'm using (as
the
> git user) is this:
> GIT_DIR=/home/git/pub/scm/linux-2.6.git git-repack -a -d -l
> 
> This used to work, but then suddenly stopped working.  I ran an strace
> -f -F with this same command, and I don't see any attempt being made
to
> unlink the files in $GIT_DIR/objects/*/, but I do see the rmdir
commands
> failing because the directories are not empty.  All of the files in
> those directories are owned by git:git.

Try running `git-prune-packed` after git-repack.  git-repack doesn't
delete the loose objects.

I don't remember git-repack ever doing it either.

-- 
Shawn.

```

## Shawn Pearce, 2006-07-17 01:51

Subject: Re: git-repack not removing files from $GIT_DIR/objects/[00-ff]
Message-ID: <20060717015149.GB27389@spearce.org>
URL: https://gitlist.dev/e/20060717015149.GB27389%40spearce.org
In-Reply-To: <5A14AF34CFF8AD44A44891F7C9FF410507E43006@usahm236.amer.corp.eds.com>

```
So try:

  GIT_DIR=/home/git/pub/scm/linux-2.6.git git-prune-packed

On a bare repository you should always set the GIT_DIR environment
variable to the directory of the repository before running the
command.

"Post, Mark K" <mark.post@eds.com> wrote:
> Thanks for the suggestion, but it didn't help.  One reason is that this
> is a bare repository.  When I ran the command, it aborted with "fatal:
> Not a git repository."  Most likely because bare repositories don't have
> a .git directory in them.
> 
> 
> Mark Post 
> 
> -----Original Message-----
> From: spearce@spearce.org [mailto:spearce@spearce.org] 
> Sent: Sunday, July 16, 2006 9:22 PM
> To: Post, Mark K
> Cc: git@vger.kernel.org
> Subject: Re: git-repack not removing files from $GIT_DIR/objects/[00-ff]
> 
> "Post, Mark K" <mark.post@eds.com> wrote:
> > I'm having a problem that just started occurring with git-repack not
> > removing the files from $GIT_DIR/objects/*, and therefore not removing
> > the directories, since they're not empty.  The command I'm using (as
> the
> > git user) is this:
> > GIT_DIR=/home/git/pub/scm/linux-2.6.git git-repack -a -d -l
> > 
> > This used to work, but then suddenly stopped working.  I ran an strace
> > -f -F with this same command, and I don't see any attempt being made
> to
> > unlink the files in $GIT_DIR/objects/*/, but I do see the rmdir
> commands
> > failing because the directories are not empty.  All of the files in
> > those directories are owned by git:git.
> 
> Try running `git-prune-packed` after git-repack.  git-repack doesn't
> delete the loose objects.
> 
> I don't remember git-repack ever doing it either.

-- 
Shawn.

```

## Post, Mark K, 2006-07-17 02:48

Subject: RE: git-repack not removing files from $GIT_DIR/objects/[00-ff]
Message-ID: <5A14AF34CFF8AD44A44891F7C9FF410507E43009@usahm236.amer.corp.eds.com>
URL: https://gitlist.dev/e/5A14AF34CFF8AD44A44891F7C9FF410507E43009%40usahm236.amer.corp.eds.com
In-Reply-To: <20060717015149.GB27389@spearce.org>

```
That doesn't generate any error messages, but it also doesn't clean up
the files in the object directory.


Mark Post 

-----Original Message-----
From: spearce@spearce.org [mailto:spearce@spearce.org] 
Sent: Sunday, July 16, 2006 9:52 PM
To: Post, Mark K
Cc: git@vger.kernel.org
Subject: Re: git-repack not removing files from $GIT_DIR/objects/[00-ff]

So try:

  GIT_DIR=/home/git/pub/scm/linux-2.6.git git-prune-packed

On a bare repository you should always set the GIT_DIR environment
variable to the directory of the repository before running the
command.

"Post, Mark K" <mark.post@eds.com> wrote:
> Thanks for the suggestion, but it didn't help.  One reason is that
this
> is a bare repository.  When I ran the command, it aborted with "fatal:
> Not a git repository."  Most likely because bare repositories don't
have
> a .git directory in them.
> 
> 
> Mark Post 
> 
> -----Original Message-----
> From: spearce@spearce.org [mailto:spearce@spearce.org] 
> Sent: Sunday, July 16, 2006 9:22 PM
> To: Post, Mark K
> Cc: git@vger.kernel.org
> Subject: Re: git-repack not removing files from
$GIT_DIR/objects/[00-ff]
> 
> "Post, Mark K" <mark.post@eds.com> wrote:
> > I'm having a problem that just started occurring with git-repack not
> > removing the files from $GIT_DIR/objects/*, and therefore not
removing
> > the directories, since they're not empty.  The command I'm using (as
> the
> > git user) is this:
> > GIT_DIR=/home/git/pub/scm/linux-2.6.git git-repack -a -d -l
> > 
> > This used to work, but then suddenly stopped working.  I ran an
strace
> > -f -F with this same command, and I don't see any attempt being made
> to
> > unlink the files in $GIT_DIR/objects/*/, but I do see the rmdir
> commands
> > failing because the directories are not empty.  All of the files in
> > those directories are owned by git:git.
> 
> Try running `git-prune-packed` after git-repack.  git-repack doesn't
> delete the loose objects.
> 
> I don't remember git-repack ever doing it either.

-- 
Shawn.

```

## Jeff King, 2006-07-17 03:26

Subject: Re: git-repack not removing files from $GIT_DIR/objects/[00-ff]
Message-ID: <20060717032623.GA32406@coredump.intra.peff.net>
URL: https://gitlist.dev/e/20060717032623.GA32406%40coredump.intra.peff.net
In-Reply-To: <5A14AF34CFF8AD44A44891F7C9FF410507E43005@usahm236.amer.corp.eds.com>

```
On Sun, Jul 16, 2006 at 08:44:52PM -0400, Post, Mark K wrote:

> I'm having a problem that just started occurring with git-repack not
> removing the files from $GIT_DIR/objects/*, and therefore not removing
> the directories, since they're not empty.  The command I'm using (as the
> git user) is this:
> GIT_DIR=/home/git/pub/scm/linux-2.6.git git-repack -a -d -l

git-prune-packed (which, contrary to what Shawn said, is run by
git-repack -d) will only remove objects which are redundant because of
their presence in packs. It will not remove objects which are not
reachable (which is normal if you have, for example, done a rebase in
this repository). Check out git-prune and git-fsck-objects.

-Peff

```
