Skip to content

Commit 5c8b0a4

Browse files
committed
change!: Time::time -> Time::seconds_since_unix_epoch (#301)
And `Time::offset` to `Time::offset_in_seconds`.
1 parent a4de008 commit 5c8b0a4

File tree

6 files changed

+40
-32
lines changed

6 files changed

+40
-32
lines changed

git-actor/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ pub enum Sign {
5656
#[derive(PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone, Copy)]
5757
#[cfg_attr(feature = "serde1", derive(serde::Serialize, serde::Deserialize))]
5858
pub struct Time {
59-
/// time in seconds from epoch.
60-
pub time: u32,
59+
/// time in seconds since epoch.
60+
pub seconds_since_unix_epoch: u32,
6161
/// time offset in seconds, may be negative to match the `sign` field.
62-
pub offset: i32,
62+
pub offset_in_seconds: i32,
6363
/// the sign of `offset`, used to encode `-0000` which would otherwise loose sign information.
6464
pub sign: Sign,
6565
}

git-actor/src/signature/decode.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@ pub fn decode<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>(
5656
SignatureRef {
5757
name: name.as_bstr(),
5858
email: email.as_bstr(),
59-
time: Time { time, offset, sign },
59+
time: Time {
60+
seconds_since_unix_epoch: time,
61+
offset_in_seconds: offset,
62+
sign,
63+
},
6064
},
6165
))
6266
}
@@ -84,7 +88,11 @@ mod tests {
8488
SignatureRef {
8589
name: name.as_bytes().as_bstr(),
8690
email: email.as_bytes().as_bstr(),
87-
time: Time { time, offset, sign },
91+
time: Time {
92+
seconds_since_unix_epoch: time,
93+
offset_in_seconds: offset,
94+
sign,
95+
},
8896
}
8997
}
9098

git-actor/src/signature/mod.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ mod convert {
3737
name: Default::default(),
3838
email: Default::default(),
3939
time: Time {
40-
time: 0,
41-
offset: 0,
40+
seconds_since_unix_epoch: 0,
41+
offset_in_seconds: 0,
4242
sign: Sign::Plus,
4343
},
4444
}
@@ -145,11 +145,11 @@ mod init {
145145
name: name.into(),
146146
email: email.into(),
147147
time: Time {
148-
time: std::time::SystemTime::now()
148+
seconds_since_unix_epoch: std::time::SystemTime::now()
149149
.duration_since(std::time::UNIX_EPOCH)
150150
.expect("the system time doesn't run backwards that much")
151151
.as_secs() as u32,
152-
offset,
152+
offset_in_seconds: offset,
153153
sign: offset.into(),
154154
},
155155
})
@@ -164,11 +164,11 @@ mod init {
164164
name: name.into(),
165165
email: email.into(),
166166
time: Time {
167-
time: std::time::SystemTime::now()
167+
seconds_since_unix_epoch: std::time::SystemTime::now()
168168
.duration_since(std::time::UNIX_EPOCH)
169169
.expect("the system time doesn't run backwards that much")
170170
.as_secs() as u32,
171-
offset,
171+
offset_in_seconds: offset,
172172
sign: offset.into(),
173173
},
174174
}
@@ -183,8 +183,8 @@ mod init {
183183
name: name.into(),
184184
email: email.into(),
185185
time: Time {
186-
time: seconds_since_epoch(),
187-
offset: utc_offset,
186+
seconds_since_unix_epoch: seconds_since_epoch(),
187+
offset_in_seconds: utc_offset,
188188
sign: utc_offset.into(),
189189
},
190190
}

git-actor/src/time.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ impl Time {
1616
/// Serialize this instance to `out` in a format suitable for use in header fields of serialized git commits or tags.
1717
pub fn write_to(&self, mut out: impl io::Write) -> io::Result<()> {
1818
let mut itoa = itoa::Buffer::new();
19-
out.write_all(itoa.format(self.time).as_bytes())?;
19+
out.write_all(itoa.format(self.seconds_since_unix_epoch).as_bytes())?;
2020
out.write_all(SPACE)?;
2121
out.write_all(match self.sign {
2222
Sign::Plus => b"+",
@@ -26,7 +26,7 @@ impl Time {
2626
const ZERO: &[u8; 1] = b"0";
2727

2828
const SECONDS_PER_HOUR: i32 = 60 * 60;
29-
let offset = self.offset.abs();
29+
let offset = self.offset_in_seconds.abs();
3030
let hours = offset / SECONDS_PER_HOUR;
3131
assert!(hours < 25, "offset is more than a day: {}", hours);
3232
let minutes = (offset - (hours * SECONDS_PER_HOUR)) / 60;
@@ -45,23 +45,23 @@ impl Time {
4545
pub fn size(&self) -> usize {
4646
// TODO: this is not year 2038 safe…but we also can't parse larger numbers (or represent them) anyway. It's a trap nonetheless
4747
// that can be fixed by increasing the size to usize.
48-
(if self.time >= 1_000_000_000 {
48+
(if self.seconds_since_unix_epoch >= 1_000_000_000 {
4949
10
50-
} else if self.time >= 100_000_000 {
50+
} else if self.seconds_since_unix_epoch >= 100_000_000 {
5151
9
52-
} else if self.time >= 10_000_000 {
52+
} else if self.seconds_since_unix_epoch >= 10_000_000 {
5353
8
54-
} else if self.time >= 1_000_000 {
54+
} else if self.seconds_since_unix_epoch >= 1_000_000 {
5555
7
56-
} else if self.time >= 100_000 {
56+
} else if self.seconds_since_unix_epoch >= 100_000 {
5757
6
58-
} else if self.time >= 10_000 {
58+
} else if self.seconds_since_unix_epoch >= 10_000 {
5959
5
60-
} else if self.time >= 1_000 {
60+
} else if self.seconds_since_unix_epoch >= 1_000 {
6161
4
62-
} else if self.time >= 100 {
62+
} else if self.seconds_since_unix_epoch >= 100 {
6363
3
64-
} else if self.time >= 10 {
64+
} else if self.seconds_since_unix_epoch >= 10 {
6565
2
6666
} else {
6767
1

git-actor/tests/signature/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ mod write_to {
4343

4444
fn default_time() -> Time {
4545
Time {
46-
time: 0,
47-
offset: 0,
46+
seconds_since_unix_epoch: 0,
47+
offset_in_seconds: 0,
4848
sign: Sign::Plus,
4949
}
5050
}

git-actor/tests/time/mod.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,24 @@ fn write_to() -> Result<(), Box<dyn std::error::Error>> {
66
for (time, expected) in &[
77
(
88
Time {
9-
time: 500,
10-
offset: 9000,
9+
seconds_since_unix_epoch: 500,
10+
offset_in_seconds: 9000,
1111
sign: Sign::Plus,
1212
},
1313
"500 +0230",
1414
),
1515
(
1616
Time {
17-
time: 189009009,
18-
offset: 36000,
17+
seconds_since_unix_epoch: 189009009,
18+
offset_in_seconds: 36000,
1919
sign: Sign::Minus,
2020
},
2121
"189009009 -1000",
2222
),
2323
(
2424
Time {
25-
time: 0,
26-
offset: 0,
25+
seconds_since_unix_epoch: 0,
26+
offset_in_seconds: 0,
2727
sign: Sign::Minus,
2828
},
2929
"0 -0000",

0 commit comments

Comments
 (0)