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

Re: [PATCH] Make git prune remove temporary packs that look like write failures

From
DTDavid Tweed <david.tweed@gmail.com>
Date
Feb 6, 2008, 19:10 UTC
Message-ID
<e1dab3980802061110p2c1dad1ep8a46eeda93839bb9@mail.gmail.com>
In-Reply-To
<alpine.LFD.1.00.0802051357420.2732@xanadu.home>
On Feb 5, 2008 7:02 PM, Nicolas Pitre <nico@cam.org> wrote:
Show 14 quoted lines
> On Tue, 5 Feb 2008, David Steven Tweed wrote:
>
> > @@ -115,5 +139,6 @@ int cmd_prune(int argc, const char **argv, const char
> > *prefix)
> >
> >       sync();
> >       prune_packed_objects(show_only);
> > +     remove_temporary_files();
>
> Maybe you could implement the "show_only" mode for
> remove_temporary_files() as well?  Otherwise the -n option would not be
> respected.
>
> Also you should consider honoring the --expire option as well.

I guess the -n ought to be honoured. However, unless I'm missing something, the case of expiring objects is different. The primary reason is that objects can get orphaned by "semantic" decisions (delete this branch, rewind, etc) so they contain valid content that you might want to later rescue (using low-level command like git cat if necessary). In contrast, the only way to get a temporary pack when the repository is quiescent is resulting from a _write error_ and thus is a corrupt entity which it would take a great deal of work to extract any valid data from. (To be honest, I wouldn't be bothering to delete them if it weren't for the fact that they can be quite big files, and once you've got one from out-of-space you're more likely to get another in future because you've got even less space.) So it's not obvious that the same conditions should apply as to valid objects.

Does it really make sense to apply expire to these?
-- 
cheers, dave tweed__________________________
david.tweed@gmail.com
Rm 124, School of Systems Engineering, University of Reading.
"while having code so boring anyone can maintain it, use Python." --
attempted insult seen on slashdot
Previous: Brandon CaseyNext: Nicolas Pitre
Message 15 of 20 in “Make git prune remove temporary packs that look like write failures”
  1. Make git prune remove temporary packs that look like write failuresDavid Steven Tweed, Feb 5, 2008
  2. Nicolas PitreFeb 5, 2008
  3. prune: heed --expire for stale packs, add a testJohannes Schindelin, Feb 5, 2008
  4. Nicolas PitreFeb 5, 2008
  5. Junio C HamanoFeb 6, 2008
  6. Johannes SchindelinFeb 6, 2008
  7. Nicolas PitreFeb 6, 2008
  8. Junio C HamanoFeb 6, 2008
  9. Brandon CaseyFeb 6, 2008
  10. David TweedFeb 6, 2008
  11. Brandon CaseyFeb 6, 2008
  12. David TweedFeb 6, 2008
  13. Nicolas PitreFeb 6, 2008
  14. Brandon CaseyFeb 6, 2008
  15. David TweedFeb 6, 2008
  16. Nicolas PitreFeb 6, 2008
  17. David TweedFeb 6, 2008
  18. Nicolas PitreFeb 6, 2008
  19. David TweedFeb 6, 2008
  20. Junio C HamanoFeb 6, 2008

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.