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

Re: [PATCH] prune: honor --expire=never

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 27, 2010, 00:07 UTC
Message-ID
<7v4ol3ilri.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20100226215916.GF5116@facebook.com>
Adam Simpkins <simpkins@facebook.com> writes:
Show 16 quoted lines
> diff --git a/builtin-prune.c b/builtin-prune.c
> index 4675f60..ce43271 100644
> --- a/builtin-prune.c
> +++ b/builtin-prune.c
> @@ -7,6 +7,8 @@
>  #include "parse-options.h"
>  #include "dir.h"
>  
> +#define ALWAYS_EXPIRE ((unsigned int)-1)
> ...
> @@ -34,7 +36,7 @@ static int prune_tmp_object(const char *path, const char *filename)
>  static int prune_object(char *path, const char *filename, const unsigned char *sha1)
>  {
>  	const char *fullpath = mkpath("%s/%s", path, filename);
> -	if (expire) {
> +	if (expire != ALWAYS_EXPIRE) {

Wouldn't it be a lot simpler to initialize expire to "now" for the default case, and remove all these "if (expire)"? I think that is how the logic to expire reflog entries work, which I think is saner.

While you are at it, you might want to think about a way to unify what parse_opt_approxidate_cb() and parse_expire_cfg_value() do. The latter knows about "expire = false" but the former doesn't, which is a slight inconsistency.

Previous: Adam SimpkinsNext: Adam Simpkins
Message 2 of 6 in “prune: honor --expire=never”
  1. prune: honor --expire=neverAdam Simpkins, Feb 26, 2010
  2. Junio C HamanoFeb 27, 2010
  3. Adam SimpkinsFeb 27, 2010
  4. 1/3 prune: honor --expire=neverAdam Simpkins, Feb 27, 2010
  5. 2/3 reflog: honor gc.reflogexpire=neverAdam Simpkins, Feb 27, 2010
  6. 3/3 clean up parsing of expiration datesAdam Simpkins, Feb 27, 2010

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.