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
5050 ser::trusted_header_field(b"type", self.target_kind.to_bytes(), &mut out)?;
5151 ser::header_field(b"tag", validated_name(self.name.as_ref())?, &mut out)?;
5252 ser::trusted_header_field_signature(b"tagger", &self.signature, &mut out)?;
53+
5354 if !self.message.is_empty() {
5455 out.write_all(NL)?;
5556 out.write_all(&self.message)?;
5657 }
58+ if let Some(ref message) = self.pgp_signature {
59+ out.write_all(NL)?;
60+ out.write_all(&message)?;
61+ }
5762 Ok(())
5863 }
5964 }
git-object/tests/owned/mod.rs+6−1
@@ -118,7 +118,12 @@ mod tag { · 117 unmodified lines
118118
119119 #[test]
120120 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+ ] {
122127 let input = fixture_bytes(input);
123128 let tag: owned::Tag = borrowed::Tag::from_bytes(&input).unwrap().into();
124129 let mut output = Vec::new();