aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--identity/identity.go2
-rw-r--r--identity/version.go6
2 files changed, 6 insertions, 2 deletions
diff --git a/identity/identity.go b/identity/identity.go
index b9d40967..809719e6 100644
--- a/identity/identity.go
+++ b/identity/identity.go
@@ -416,7 +416,7 @@ func (i *Identity) Validate() error {
return err
}
- if v.time < lastTime {
+ if v.commitHash != "" && v.time < lastTime {
return fmt.Errorf("non-chronological version (%d --> %d)", lastTime, v.time)
}
diff --git a/identity/version.go b/identity/version.go
index 6ffffd99..1259ae9c 100644
--- a/identity/version.go
+++ b/identity/version.go
@@ -100,9 +100,13 @@ func (v *Version) UnmarshalJSON(data []byte) error {
}
func (v *Version) Validate() error {
- if v.unixTime == 0 {
+ // time must be set after a commit
+ if v.commitHash != "" && v.unixTime == 0 {
return fmt.Errorf("unix time not set")
}
+ if v.commitHash != "" && v.time == 0 {
+ return fmt.Errorf("lamport time not set")
+ }
if text.Empty(v.name) && text.Empty(v.login) {
return fmt.Errorf("either name or login should be set")