[JGIT PATCH] Expose the raw timezone offset from PersonIdent

Subsystems: the rest

STALE3708d

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

[JGIT PATCH] Expose the raw timezone offset from PersonIdent

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:45:17

Applications may wish to have this value, much as they
can get the raw seconds-since-epoch and reformat it
for their own uses.

Signed-off-by: Shawn O. Pearce <redacted>
---
 .../src/org/spearce/jgit/lib/PersonIdent.java      |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/PersonIdent.java b/org.spearce.jgit/src/org/spearce/jgit/lib/PersonIdent.java
index 5e524d3..bc5479a 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/lib/PersonIdent.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/PersonIdent.java
@@ -260,6 +260,14 @@ public TimeZone getTimeZone() {
 		return TimeZone.getTimeZone(ids[0]);
 	}
 
+	/**
+	 * @return this person's preferred time zone as minutes east of UTC. If the
+	 *         timezone is to the west of UTC it is negative.
+	 */
+	public int getTimeZoneOffset() {
+		return tzOffset;
+	}
+
 	public int hashCode() {
 		return getEmailAddress().hashCode() ^ (int) when;
 	}
-- 
1.6.0.1.319.g9f32b

Re: [JGIT PATCH] Expose the raw timezone offset from PersonIdent

From: Robin Rosenberg <hidden>
Date: 2016-06-15 22:45:19

fredagen den 5 september 2008 03.37.19 skrev Shawn O. Pearce:
Applications may wish to have this value, much as they
can get the raw seconds-since-epoch and reformat it
for their own uses.
Necessary (performance) or just nice? We already provide the
timezone in java.util format.

-- robin

Re: [JGIT PATCH] Expose the raw timezone offset from PersonIdent

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:45:19

Robin Rosenberg [off-list ref] wrote:
fredagen den 5 september 2008 03.37.19 skrev Shawn O. Pearce:
quoted
Applications may wish to have this value, much as they
can get the raw seconds-since-epoch and reformat it
for their own uses.
Necessary (performance) or just nice? We already provide the
timezone in java.util format.
It isn't necessary from a performance perspective, but is required
to read the commit data exactly, but in parsed form.

What I'm doing at the application level is taking a RevCommit and
converting it into a different data structure (more specifically
a Google Protocol Buffer) that has all of the parts broken out.
It looks like this:

  message GitPerson {
    required string name = 1;
    required string email = 2;
    required int32 when = 3;
    required int32 tz = 4;
  }
  
  message GitCommit {
    required string id = 1;
    repeated string parent_id = 2;
    required GitPerson author = 3;
    optional GitPerson committer = 4;
    optional string message = 5;
  }

I'm later processing the GitPerson in Python and need to use the tz
to offset when to format a time for display.  If the author has a
"funny" offset in their commit our existing getTimeZone() method
can return null, which means I have to then lie and send 0 to the
Python code.  I'd rather send the exact offset.

-- 
Shawn.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help