git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Spam: Re: git branch performance problem?

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
Oct 10, 2007, 22:55 UTC
Message-ID
<470D585D.1030808@nrlssc.navy.mil>
In-Reply-To
<8c5c35580710101445h232f9a67jd0c326b3b97ae3dd@mail.gmail.com>
Lars Hjemli wrote:
Show 10 quoted lines
> On 10/10/07, J. Bruce Fields <bfields@fieldses.org> wrote:
>> On Wed, Oct 10, 2007 at 06:30:02PM -0300, Han-Wen Nienhuys wrote:
>>> could it be that GC does not handle cyclic alternates correctly?
>> Does it handle alternates at all?  If you run git-gc on a repository
>> which other repositories get objects from, then my impression was that
>> bad things happen.
>>
> 
> AFAIK 'git gc' is safe, while 'git gc --prune' will remove loose
> (unreferenced) objects.

No, this is not the case, unless something has changed very recently in git-gc or git-repack. Even git-gc with no arguments is unsafe if the repository being gc'ed is listed in another's alternates.

git-gc calls repack with -a and -d. which causes a new pack to be created which only contains the objects required by the local repository. The other packs are then deleted. Objects contained in those packs and required by a "sharing" repository (one using the alternates mechanism) will be deleted if the local repository no longer references them.

Maybe git-gc should make use of repack's new -A option by default and only use -a (and not -A) when --prune is specified...

-brandon
Previous: Johannes SchindelinNext: Mike Ralphson
Message 12 of 25 in “git branch performance problem?”
  1. Han-Wen NienhuysOct 10, 2007
  2. Lars HjemliOct 10, 2007
  3. Han-Wen NienhuysOct 10, 2007
  4. Han-Wen NienhuysOct 10, 2007
  5. Han-Wen NienhuysOct 10, 2007
  6. J. Bruce FieldsOct 10, 2007
  7. Lars HjemliOct 10, 2007
  8. Han-Wen NienhuysOct 10, 2007
  9. J. Bruce FieldsOct 10, 2007
  10. Han-Wen NienhuysOct 10, 2007
  11. Johannes SchindelinOct 10, 2007
  12. Brandon CaseyOct 10, 2007
  13. Mike RalphsonOct 11, 2007
  14. Johannes SchindelinOct 11, 2007
  15. Linus TorvaldsOct 10, 2007
  16. Han-Wen NienhuysOct 11, 2007
  17. Alex RiesenOct 11, 2007
  18. Johannes SchindelinOct 11, 2007
  19. Han-Wen NienhuysOct 11, 2007
  20. Linus TorvaldsOct 11, 2007
  21. Salikh ZakirovOct 12, 2007
  22. Lars HjemliOct 10, 2007
  23. git-branch: only traverse the requested refsLars Hjemli, Oct 10, 2007
  24. Johannes SchindelinOct 10, 2007
  25. Lars HjemliOct 10, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.