From aab3a04d0c4ddbf97d589ba9048a539c6d7186e9 Mon Sep 17 00:00:00 2001 From: Michael Muré Date: Thu, 25 Jun 2020 23:18:17 +0200 Subject: bug: harmonize how time are used, fix some issues in command special formats This assume that the convertion from time.Time <--> Unix timestamp is lossless which seems to be. --- cache/bug_excerpt.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'cache/bug_excerpt.go') diff --git a/cache/bug_excerpt.go b/cache/bug_excerpt.go index 36c7dcfe..e9d5863f 100644 --- a/cache/bug_excerpt.go +++ b/cache/bug_excerpt.go @@ -3,6 +3,7 @@ package cache import ( "encoding/gob" "fmt" + "time" "github.com/MichaelMure/git-bug/bug" "github.com/MichaelMure/git-bug/entity" @@ -22,8 +23,8 @@ type BugExcerpt struct { CreateLamportTime lamport.Time EditLamportTime lamport.Time - CreateUnixTime int64 - EditUnixTime int64 + createUnixTime int64 + editUnixTime int64 Status bug.Status Labels []bug.Label @@ -79,8 +80,8 @@ func NewBugExcerpt(b bug.Interface, snap *bug.Snapshot) *BugExcerpt { Id: b.Id(), CreateLamportTime: b.CreateLamportTime(), EditLamportTime: b.EditLamportTime(), - CreateUnixTime: b.FirstOp().GetUnixTime(), - EditUnixTime: snap.LastEditUnix(), + createUnixTime: b.FirstOp().Time().Unix(), + editUnixTime: snap.EditTime().Unix(), Status: snap.Status, Labels: snap.Labels, Actors: actorsIds, @@ -105,6 +106,14 @@ func NewBugExcerpt(b bug.Interface, snap *bug.Snapshot) *BugExcerpt { return e } +func (b *BugExcerpt) CreateTime() time.Time { + return time.Unix(b.createUnixTime, 0) +} + +func (b *BugExcerpt) EditTime() time.Time { + return time.Unix(b.editUnixTime, 0) +} + /* * Sorting */ @@ -144,7 +153,7 @@ func (b BugsByCreationTime) Less(i, j int) bool { // by the first sorting using the logical clock. That means that if users // synchronize their bugs regularly, the timestamp will rarely be used, and // should still provide a kinda accurate sorting when needed. - return b[i].CreateUnixTime < b[j].CreateUnixTime + return b[i].createUnixTime < b[j].createUnixTime } func (b BugsByCreationTime) Swap(i, j int) { @@ -172,7 +181,7 @@ func (b BugsByEditTime) Less(i, j int) bool { // by the first sorting using the logical clock. That means that if users // synchronize their bugs regularly, the timestamp will rarely be used, and // should still provide a kinda accurate sorting when needed. - return b[i].EditUnixTime < b[j].EditUnixTime + return b[i].editUnixTime < b[j].editUnixTime } func (b BugsByEditTime) Swap(i, j int) { -- cgit