git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: git@vger.kernel.org
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: Re: 'git gc' always run, on old kernel repo?
Date: Thu, 28 Feb 2008 15:13:31 -0500	[thread overview]
Message-ID: <47C715EB.3060303@garzik.org> (raw)
In-Reply-To: <47C71233.4050705@garzik.org>

Jeff Garzik wrote:
>> [jgarzik@pretzel netdev-2.6]$ git-am --signoff --utf8 /g/tmp/mbox 
>> Applying Add support for HT1100 SATA controller - sent from evolution
>> Auto packing your repository for optimum performance. You may also
>> run "git gc" manually. See "git help gc" for more information.
>> Counting objects: 1, done.
>> Writing objects: 100% (1/1), done.
>> Total 1 (delta 0), reused 0 (delta 0)
>> warning: There are too many unreachable loose objects; run 'git prune' 
>> to remove them.
> 
> IMO there is a broken hueristic in there somewhere...  I regularly run 
> 'git gc' on my repos...


Follow-up...   this is already becoming a PITA.

I am going through and rebasing multiple repos in the same repository... 
and it keeps running 'git gc' on each branch!  grrrr.

Step 1:
pull "../linux-2.6" into master branch of local repo.  this repo was 
created with "--reference".  It _might_ be reasonable to expect 'git gc' 
to be run:

> [jgarzik@pretzel libata-dev]$ git pull ../linux-2.6/
> Updating bfa274e..7704a8b
> Fast forward
> Auto packing your repository for optimum performance. You may also
> run "git gc" manually. See "git help gc" for more information.
> Counting objects: 462, done.
> Compressing objects: 100% (333/333), done.
> Writing objects: 100% (462/462), done.
> Total 462 (delta 345), reused 176 (delta 129)
> warning: There are too many unreachable loose objects; run 'git prune' to remove them.


Step 2:
In the same repo, rebase a branch (contains a single changeset), 
immediately following step #1:

> [jgarzik@pretzel libata-dev]$ git branch
>   ALL
>   NEXT
> * master
>   mv-ahci-pata
>   new-eh
>   sii-lbt
> [jgarzik@pretzel libata-dev]$ git-checkout sii-lbt && git-rebase master
> Switched to branch "sii-lbt"
> First, rewinding head to replay your work on top of it...
> HEAD is now at 7704a8b... Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
> Applying [libata] sata_sil: Turn on Large Block Transfer (LBT) feature
> Auto packing your repository for optimum performance. You may also
> run "git gc" manually. See "git help gc" for more information.
> Counting objects: 4, done.
> Compressing objects: 100% (4/4), done.
> Writing objects: 100% (4/4), done.
> Total 4 (delta 0), reused 0 (delta 0)
> warning: There are too many unreachable loose objects; run 'git prune' to remove them.


Step 3:
Ditto, a second rebase in the same repo, immediately following step #2:

> [jgarzik@pretzel libata-dev]$ git-checkout new-eh && git-rebase master
> Switched to branch "new-eh"
> First, rewinding head to replay your work on top of it...
> HEAD is now at 7704a8b... Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
> Applying [libata #new-eh] sata_sx4: convert to new EH
> Auto packing your repository for optimum performance. You may also
> run "git gc" manually. See "git help gc" for more information.
> Counting objects: 4, done.
> Compressing objects: 100% (4/4), done.
> Writing objects: 100% (4/4), done.
> Total 4 (delta 0), reused 0 (delta 0)
> warning: There are too many unreachable loose objects; run 'git prune' to remove them.


Step 4:
Ditto, a third rebase in the same repo, immediately following step #3:

> [jgarzik@pretzel libata-dev]$ git-checkout mv-ahci-pata && git-rebase master
> Switched to branch "mv-ahci-pata"
> First, rewinding head to replay your work on top of it...
> HEAD is now at 7704a8b... Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
> Applying [libata #mv-ahci-pata] ahci: add rough draft Marvell PATA support
> Auto packing your repository for optimum performance. You may also
> run "git gc" manually. See "git help gc" for more information.
> Counting objects: 5, done.
> Compressing objects: 100% (5/5), done.
> Writing objects: 100% (5/5), done.
> Total 5 (delta 0), reused 0 (delta 0)
> warning: There are too many unreachable loose objects; run 'git prune' to remove them.


Will the 'git gc' never end???

	Jeff




  reply	other threads:[~2008-02-28 20:14 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-28 19:57 'git gc' always run, on old kernel repo? Jeff Garzik
2008-02-28 20:13 ` Jeff Garzik [this message]
2008-02-28 20:32   ` Asheesh Laroia
2008-02-28 20:34     ` Asheesh Laroia
2008-02-28 20:36   ` Nicolas Pitre
2008-02-28 20:45     ` Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47C715EB.3060303@garzik.org \
    --to=jeff@garzik.org \
    --cc=git@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).