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

Re: [PATCH] prune: --expire=time

From
Junio C Hamano <junkio@cox.net>
Date
Jan 19, 2007, 19:18 UTC
Message-ID
<7vfya6hll3.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20070119104935.GA5189@moooo.ath.cx>
Matthias Lederhofer <matled@gmx.net> writes:
Show 9 quoted lines
> Shawn O. Pearce <spearce@spearce.org> wrote:
>
>> Junio C Hamano <junkio@cox.net> wrote:
>> > If this is something we would want, it might make sense if we
>> > allowed "prune --expire='1.day'" syntax ;-).
>> 
>> Yes, I agree.
>
> Here is the new version.
Thanks.
> Things I'm not sure about, any further comments/discussion?
> - default value for gc.pruneexpire
> - special value(s) for gc.pruneexpire/--expire which mean 'do not
>   check for the age', currently it is 'off'

No single timeout value can be the right timeout for everybody, so a big debate is not useful here. I think 1 day as you and Shawn did makes sense.

	git prune --expire=off

felt a bit confusing to me at the first glance. Does it turn off the expiration mechanism, retaining all cruft, or turns off the mechanism to give grace period for recent objects? The answer is obviosuly the latter as "retain all cruft" is meaningless, but still it somehow feels funny. It might be easier to explain if it was:

	git prune --expire=now
Maybe an alternative:
	git prune --retain=1.day
	git prune --retain=off
perhaps?  I dunno.

We seem to use "unsigned long" as a stand-in type for time_t in the rest of the code. I'd feel better if prune_expire was also "unsigned long". We probably should talk about making them all time_t at some point but not right now.

I was tempted to say that we might want to teach approxidate "now" (add one entry to struct special in date.c), but I do not think it is useful for this application (you want prune_expire set to zero not the time we run time(NULL)), and I do not think of any other application that wants "now".

Previous: Nicolas PitreNext: Matthias Lederhofer
Message 10 of 30 in “prune-packed: new option --min-age=N”
  1. prune-packed: new option --min-age=NMatthias Lederhofer, Jan 18, 2007
  2. Shawn O. PearceJan 18, 2007
  3. Matthias LederhoferJan 18, 2007
  4. Shawn O. PearceJan 18, 2007
  5. [RFC] prune: --expire=secondsMatthias Lederhofer, Jan 18, 2007
  6. Junio C HamanoJan 18, 2007
  7. Shawn O. PearceJan 19, 2007
  8. prune: --expire=timeMatthias Lederhofer, Jan 19, 2007
  9. Nicolas PitreJan 19, 2007
  10. Junio C HamanoJan 19, 2007
  11. Matthias LederhoferJan 20, 2007
  12. Junio C HamanoJan 21, 2007
  13. Shawn O. PearceJan 21, 2007
  14. Matthias LederhoferJan 21, 2007
  15. Junio C HamanoJan 21, 2007
  16. Jeff KingJan 21, 2007
  17. Steven GrimmJan 22, 2007
  18. Jeff KingJan 22, 2007
  19. Junio C HamanoJan 22, 2007
  20. Linus TorvaldsJan 22, 2007
  21. Junio C HamanoJan 22, 2007
  22. Linus TorvaldsJan 22, 2007
  23. Junio C HamanoJan 22, 2007
  24. Linus TorvaldsJan 22, 2007
  25. Shawn O. PearceJan 22, 2007
  26. Junio C HamanoJan 22, 2007
  27. Jakub NarebskiJan 22, 2007
  28. v1.5.0.txt: update description of git-gcJeff King, Jan 22, 2007
  29. Junio C HamanoJan 22, 2007
  30. Simon 'corecode' SchubertJan 20, 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.