[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47C715EB.3060303@garzik.org>
Date: Thu, 28 Feb 2008 15:13:31 -0500
From: Jeff Garzik <jeff@...zik.org>
To: git@...r.kernel.org
CC: LKML <linux-kernel@...r.kernel.org>
Subject: Re: 'git gc' always run, on old kernel repo?
Jeff Garzik wrote:
>> [jgarzik@...tzel 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@...tzel 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@...tzel libata-dev]$ git branch
> ALL
> NEXT
> * master
> mv-ahci-pata
> new-eh
> sii-lbt
> [jgarzik@...tzel 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@...tzel 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@...tzel 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists