blob: 2ae31fd1287064c798b1aad7c250a15081adc5f9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
package bug
import (
"github.com/MichaelMure/git-bug/entity"
"github.com/MichaelMure/git-bug/repository"
"github.com/MichaelMure/git-bug/util/lamport"
)
type Interface interface {
// Id returns the Bug identifier
Id() entity.Id
// Validate checks if the Bug data is valid
Validate() error
// Append an operation into the staging area, to be committed later
Append(op Operation)
// Operations returns the ordered operations
Operations() []Operation
// NeedCommit indicates that the in-memory state changed and need to be commit in the repository
NeedCommit() bool
// Commit writes the staging area in Git and move the operations to the packs
Commit(repo repository.ClockedRepo) error
// FirstOp lookup for the very first operation of the bug.
// For a valid Bug, this operation should be a CreateOp
FirstOp() Operation
// LastOp lookup for the very last operation of the bug.
// For a valid Bug, should never be nil
LastOp() Operation
// Compile a bug in an easily usable snapshot
Compile() *Snapshot
// CreateLamportTime return the Lamport time of creation
CreateLamportTime() lamport.Time
// EditLamportTime return the Lamport time of the last edit
EditLamportTime() lamport.Time
}
|