threads / patch / 15378

patchExpose the raw timezone offset from PersonIdent

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

## tl;dr

3 messages between Sep 5, 2008 and Sep 6, 2008. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Shawn O. Pearce· Sep 5, 2008, 01:37 UTC · lore

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 <spearce@spearce.org>
---
 .../src/org/spearce/jgit/lib/PersonIdent.java      |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
Show changes to org.spearce.jgit/src/org/spearce/jgit/lib/PersonIdent.java +8 −0
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
Robin Rosenberg· Sep 6, 2008, 15:05 UTC · re: Shawn O. Pearce · lore

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

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
Shawn O. Pearce· Sep 6, 2008, 19:27 UTC · re: Robin Rosenberg · lore

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

Robin Rosenberg <robin.rosenberg.lists@dewire.com> wrote:
Show 7 quoted lines
> 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.

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.

← back to recent threads