All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.