History

tags can write signatures

Sebastian Thiel committed 6 years ago

Commit a48275e1 parent b590b772 files · +11 −1Browse files

Unified · Split

2 files
  1. git-object/src/owned/tag.rs +5 −0
  2. git-object/tests/owned/mod.rs +6 −1
git-object/src/owned/tag.rs+5−0
@@ -50,10 +50,15 @@ impl Tag { · 49 unmodified lines
50 ser::trusted_header_field(b"type", self.target_kind.to_bytes(), &mut out)?;50 ser::trusted_header_field(b"type", self.target_kind.to_bytes(), &mut out)?;
51 ser::header_field(b"tag", validated_name(self.name.as_ref())?, &mut out)?;51 ser::header_field(b"tag", validated_name(self.name.as_ref())?, &mut out)?;
52 ser::trusted_header_field_signature(b"tagger", &self.signature, &mut out)?;52 ser::trusted_header_field_signature(b"tagger", &self.signature, &mut out)?;
53
53 if !self.message.is_empty() {54 if !self.message.is_empty() {
54 out.write_all(NL)?;55 out.write_all(NL)?;
55 out.write_all(&self.message)?;56 out.write_all(&self.message)?;
56 }57 }
58 if let Some(ref message) = self.pgp_signature {
59 out.write_all(NL)?;
60 out.write_all(&message)?;
61 }
57 Ok(())62 Ok(())
58 }63 }
59}64}
git-object/tests/owned/mod.rs+6−1
@@ -118,7 +118,12 @@ mod tag { · 117 unmodified lines
118 118
119 #[test]119 #[test]
120 fn round_trip() {120 fn round_trip() {
121 for input in &["tag/empty.txt", "tag/whitespace.txt"] {121 for input in &[
122 "tag/empty.txt",
123 "tag/whitespace.txt",
124 "tag/with-newlines.txt",
125 "tag/signed.txt",
126 ] {
122 let input = fixture_bytes(input);127 let input = fixture_bytes(input);
123 let tag: owned::Tag = borrowed::Tag::from_bytes(&input).unwrap().into();128 let tag: owned::Tag = borrowed::Tag::from_bytes(&input).unwrap().into();
124 let mut output = Vec::new();129 let mut output = Vec::new();