diff options
author | Michael Muré <batolettre@gmail.com> | 2018-07-14 22:18:40 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2018-07-14 22:18:40 +0200 |
commit | d973718567b0f7a7e775dbab2c557f0dda9afa29 (patch) | |
tree | 9cdaa94f72b62de0af65e77015587ad2093b3600 /bug | |
parent | da470993d13ce63087034db9b7e8ffbdf18e87a5 (diff) | |
download | git-bug-d973718567b0f7a7e775dbab2c557f0dda9afa29.tar.gz |
add time to comments
Diffstat (limited to 'bug')
-rw-r--r-- | bug/comment.go | 6 | ||||
-rw-r--r-- | bug/operations/add_comment.go | 12 | ||||
-rw-r--r-- | bug/operations/create.go | 4 | ||||
-rw-r--r-- | bug/operations/create_test.go | 4 |
4 files changed, 21 insertions, 5 deletions
diff --git a/bug/comment.go b/bug/comment.go index f7727709..2261f6de 100644 --- a/bug/comment.go +++ b/bug/comment.go @@ -1,6 +1,12 @@ package bug +import "time" + type Comment struct { Author Person Message string + + // Creation time of the comment. + // Should be used only for human display, never for ordering as we can't rely on it in a distributed system. + Time time.Time } diff --git a/bug/operations/add_comment.go b/bug/operations/add_comment.go index 2b83de83..1f9e3410 100644 --- a/bug/operations/add_comment.go +++ b/bug/operations/add_comment.go @@ -1,13 +1,17 @@ package operations -import "github.com/MichaelMure/git-bug/bug" +import ( + "github.com/MichaelMure/git-bug/bug" + "time" +) var _ bug.Operation = AddCommentOperation{} type AddCommentOperation struct { bug.OpBase - Message string `json:"m"` - Author bug.Person `json:"a"` + Message string + Author bug.Person + Time time.Time } func NewAddCommentOp(author bug.Person, message string) AddCommentOperation { @@ -15,6 +19,7 @@ func NewAddCommentOp(author bug.Person, message string) AddCommentOperation { OpBase: bug.OpBase{OperationType: bug.ADD_COMMENT}, Message: message, Author: author, + Time: time.Now(), } } @@ -22,6 +27,7 @@ func (op AddCommentOperation) Apply(snapshot bug.Snapshot) bug.Snapshot { comment := bug.Comment{ Message: op.Message, Author: op.Author, + Time: op.Time, } snapshot.Comments = append(snapshot.Comments, comment) diff --git a/bug/operations/create.go b/bug/operations/create.go index 49b648a2..81fc58f1 100644 --- a/bug/operations/create.go +++ b/bug/operations/create.go @@ -3,6 +3,7 @@ package operations import ( "github.com/MichaelMure/git-bug/bug" "reflect" + "time" ) // CreateOperation define the initial creation of a bug @@ -14,6 +15,7 @@ type CreateOperation struct { Title string Message string Author bug.Person + Time time.Time } func NewCreateOp(author bug.Person, title, message string) CreateOperation { @@ -22,6 +24,7 @@ func NewCreateOp(author bug.Person, title, message string) CreateOperation { Title: title, Message: message, Author: author, + Time: time.Now(), } } @@ -37,6 +40,7 @@ func (op CreateOperation) Apply(snapshot bug.Snapshot) bug.Snapshot { { Message: op.Message, Author: op.Author, + Time: op.Time, }, } return snapshot diff --git a/bug/operations/create_test.go b/bug/operations/create_test.go index 35e515ac..bd73fc1a 100644 --- a/bug/operations/create_test.go +++ b/bug/operations/create_test.go @@ -21,11 +21,11 @@ func TestCreate(t *testing.T) { expected := bug.Snapshot{ Title: "title", Comments: []bug.Comment{ - {Author: rene, Message: "message"}, + {Author: rene, Message: "message", Time: create.Time}, }, } if !reflect.DeepEqual(snapshot, expected) { - t.Fail() + t.Fatalf("%s different than %s", snapshot, expected) } } |