* approxidate woes
@ 2018-11-15 13:45 Andreas Krey
2018-11-15 14:48 ` Jeff King
0 siblings, 1 reply; 3+ messages in thread
From: Andreas Krey @ 2018-11-15 13:45 UTC (permalink / raw)
To: git
Hi everybody,
I've now located why our backup repo shrinks every month:
git gc --prune=2d
doesn't do what I expected, and differs a lot from --prune=48h.
The latter actually means 'older than two days', while the
former is 'since the second day of this month, same time as now'.
Even '2d ago' does not help - '2 days ago' does.
Mildly irritating, and worse, hard to find in the documentation.
I failed at the latter and fell back to the sources, finding
'./bin-wrappers/test-date approxidate' for trying.
Where would I look?
- Andreas
--
"Totally trivial. Famous last words."
From: Linus Torvalds <torvalds@*.org>
Date: Fri, 22 Jan 2010 07:29:21 -0800
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: approxidate woes
2018-11-15 13:45 approxidate woes Andreas Krey
@ 2018-11-15 14:48 ` Jeff King
2018-11-15 14:54 ` Jeff King
0 siblings, 1 reply; 3+ messages in thread
From: Jeff King @ 2018-11-15 14:48 UTC (permalink / raw)
To: Andreas Krey; +Cc: git
On Thu, Nov 15, 2018 at 02:45:28PM +0100, Andreas Krey wrote:
> I've now located why our backup repo shrinks every month:
>
> git gc --prune=2d
>
> doesn't do what I expected, and differs a lot from --prune=48h.
Yeah, it understands "2 days", but not "d" as a unit.
I don't think "48h" does what you expect either:
$ t/helper/test-date approxidate now
now -> 2018-11-15 14:43:32 +0000
$ t/helper/test-date approxidate 48h
48h -> 2018-11-15 14:43:34 +0000
$ t/helper/test-date approxidate 48.hours
48.hours -> 2018-11-13 14:43:38 +0000
It might be reasonable to teach approxidate these obvious shorthands
(one tricky one is "m"; normally I'd say "minute", but in Git timescales
"month" is more likely).
> Mildly irritating, and worse, hard to find in the documentation.
> I failed at the latter and fell back to the sources, finding
> './bin-wrappers/test-date approxidate' for trying.
>
> Where would I look?
I don't think approxidate is really documented at all. It started as
Linus's idea of "handle what people would probably say", and the fixes
over the years have mostly been "eh, that's crazy, let's do better with
this input".
You'd have to reverse engineer it a bit from the source, unfortunately.
-Peff
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: approxidate woes
2018-11-15 14:48 ` Jeff King
@ 2018-11-15 14:54 ` Jeff King
0 siblings, 0 replies; 3+ messages in thread
From: Jeff King @ 2018-11-15 14:54 UTC (permalink / raw)
To: Andreas Krey; +Cc: git
On Thu, Nov 15, 2018 at 09:48:54AM -0500, Jeff King wrote:
> I don't think "48h" does what you expect either:
>
> $ t/helper/test-date approxidate now
> now -> 2018-11-15 14:43:32 +0000
>
> $ t/helper/test-date approxidate 48h
> 48h -> 2018-11-15 14:43:34 +0000
>
> $ t/helper/test-date approxidate 48.hours
> 48.hours -> 2018-11-13 14:43:38 +0000
Whoops, those should all be:
t/helper/test-tool date approxidate ...
in recent versions of Git (I was bisecting something earlier, and has a
crufty test-date left over from an old version!).
Adding new unit aliases would be something like:
diff --git a/date.c b/date.c
index 9bc15df6f9..eb477d1601 100644
--- a/date.c
+++ b/date.c
@@ -1016,6 +1016,7 @@ static const struct typelen {
{ "minutes", 60 },
{ "hours", 60*60 },
{ "days", 24*60*60 },
+ { "d", 24*60*60 },
{ "weeks", 7*24*60*60 },
{ NULL }
};
but I suspect we need to tighten up the string matching a bit. I think
that would allow "2 dogs" to be parsed as "days".
-Peff
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-11-15 14:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-15 13:45 approxidate woes Andreas Krey
2018-11-15 14:48 ` Jeff King
2018-11-15 14:54 ` Jeff King
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).