* [PATCH] cg-object-id: use git-rev-parse(1) for date parsing
@ 2005-12-07 21:40 Jonas Fonseca
0 siblings, 0 replies; 2+ messages in thread
From: Jonas Fonseca @ 2005-12-07 21:40 UTC (permalink / raw)
To: Petr Baudis, git
Using the --until switch, git-rev-parse(1) will first be given the ID. If it
cannot make sense of the ID fallback to using date(1).
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
The mixing of date parsing behaviours might be a little questionable,
but it's good to stay compatible with git.
commit 41447107236a7d23daa6ab0f40a0829935485bc8
tree 27863684c19e7f129304d2a1573c08f974126e2a
parent f0535e9952f1cace89d03649e8238aca69a6df44
author Jonas Fonseca <fonseca@diku.dk> Wed, 07 Dec 2005 22:16:50 +0100
committer Jonas Fonseca <fonseca@antimatter.localdomain> Wed, 07 Dec 2005 22:16:50 +0100
cg-object-id | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/cg-object-id b/cg-object-id
index ea04dca..baf096e 100755
--- a/cg-object-id
+++ b/cg-object-id
@@ -73,7 +73,14 @@ normalize_id()
fi
if [ "$id" != " " ] && [ ! "$valid" ]; then
- reqsecs=$(date --date="$id" +'%s' 2>/dev/null)
+ curtime=$(date +'%s' 2>/dev/null)
+ reqsecs=$(git-rev-parse --until="$id"); reqsecs=${reqsecs:10}
+
+ # git-rev-parse(1) will output the current time if the ID
+ # doesn't make sense. Workaround it so date(1) can have a try.
+ if [ "$curtime" -le "$reqsecs" ]; then
+ reqsecs=$(date --date="$id" +'%s' 2>/dev/null)
+ fi
if [ "$reqsecs" ]; then
id=$(git-rev-list --min-age=$reqsecs --max-count=1 HEAD)
--
Jonas Fonseca
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH] cg-object-id: use git-rev-parse(1) for date parsing
2005-12-11 18:19 ` Jonas Fonseca
@ 2005-12-11 18:31 ` Jonas Fonseca
0 siblings, 0 replies; 2+ messages in thread
From: Jonas Fonseca @ 2005-12-11 18:31 UTC (permalink / raw)
To: Petr Baudis, git
Using the --until switch, git-rev-parse(1) will first be given the ID.
If it cannot make sense of the ID fallback to using date(1).
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
diff --git a/cg-object-id b/cg-object-id
index 49d6d99..4e3a3e2 100755
--- a/cg-object-id
+++ b/cg-object-id
@@ -55,7 +55,14 @@ normalize_id()
# date does the wrong thing for empty and single-letter ids
if [ ${#id} -gt 1 ] && [ ! "$valid" ]; then
- reqsecs=$(date --date="$id" +'%s' 2>/dev/null)
+ cursecs=$(git-rev-parse --until=yksap); cursecs=${cursecs:10}
+ reqsecs=$(git-rev-parse --until="$id"); reqsecs=${reqsecs:10}
+
+ # git-rev-parse(1) will output the current time if the ID
+ # doesn't make sense. Workaround it so date(1) can have a try.
+ if [ "$cursecs" -le "$reqsecs" ]; then
+ reqsecs=$(date --date="$id" +'%s' 2>/dev/null)
+ fi
if [ "$reqsecs" ]; then
revid=$(git-rev-list --min-age=$reqsecs --max-count=1 HEAD)
--
Jonas Fonseca
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-12-11 18:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-07 21:40 [PATCH] cg-object-id: use git-rev-parse(1) for date parsing Jonas Fonseca
-- strict thread matches above, loose matches on Subject: below --
2005-12-07 21:39 [PATCH] Offload most of cg-object-id to git-rev-parse Jonas Fonseca
2005-12-11 18:19 ` Jonas Fonseca
2005-12-11 18:31 ` [PATCH] cg-object-id: use git-rev-parse(1) for date parsing Jonas Fonseca
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.