write-yourself-a-git icon indicating copy to clipboard operation
write-yourself-a-git copied to clipboard

The commit exemple needs a space on an otherwise empty line, which Emacs deletes.

Open nguyenminh-phuc opened this issue 5 years ago • 3 comments

The current serialization code:

def kvlm_serialize(kvlm):
   ...
        for v in val:
            ret += k + b' ' + (v.replace(b'\n', b'\n ')) + b'\n'

The code replaces every new lines with newline+space. However I believe it will produce incorrect gpgsig values.

For example, there will be an additional space between the -----BEGIN PGP SIGNATURE-----\n and the token iQIzBAABCAAdFiEE... after serializing:

gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEExwXquOM8bWb4Q2zVGxM2FxoLkGQFAlsEjZQACgkQGxM2FxoL
 kGQdcBAAqPP+ln4nGDd2gETXjvOpOxLzIMEw4A9gU6CzWzm+oB8mEIKyaH0UFIPh
 rNUZ1j7/ZGFNeBDtT55LPdPIQw4KKlcf6kC8MPWP3qSu3xHqx12C5zyai2duFZUU
 wqOt9iCFCscFQYqKs3xsHI+ncQb+PGjVZA8+jPw7nrPIkeSXQV2aZb1E68wa2YIL
 3eYgTUKz34cB6tAq9YwHnZpyPx8UJCZGkshpJmgtZ3mCbtQaO17LoihnqPn4UOMr
 V75R/7FjSuPLS8NaZF4wfi52btXMSxO/u7GuoJkzJscP3p4qtwe6Rl9dc1XC8P7k
 NIbGZ5Yg5cEPcfmhgXFOhQZkD0yxcJqBUcoFpnp2vu5XJl2E5I/quIyVxUXi6O6c
 /obspcvace4wy8uO0bdVhc4nJ+Rla4InVSJaUaBeiHTW8kReSFYyMmDCzLjGIu1q
 doU61OM3Zv1ptsLu3gUE6GU27iWYj2RWN3e3HE4Sbd89IFwLXNdSuM0ifDLZk7AQ
 WBhRhipCCgZhkj9g2NEk7jRVslti1NdN5zoQLaJNqSwO1MtxTmJ15Ksk3QP6kfLB
 Q52UWybBzpaP9HEd4XnR+HuQ4k2K0ns2KgNImsNvIyFwbpMUyUWLMPimaV1DWUXo
 5SBjDB/V/W2JBFR+XKHFJeFwYhj7DD/ocsGr4ZMx/lgc8rjIBkI=
 =lgTX
 -----END PGP SIGNATURE-----

nguyenminh-phuc avatar Feb 21 '21 11:02 nguyenminh-phuc

Hey, thank you for your report! This looks like normal behavior to me. The code you've quoted shouldn't add any \n but only add a single space after each. To confirm, I cat-filed a (real) signed commit from a random git repo, and this was the output:

tree 84c0b5ef21ef3123cb7952b21d3ada5c71646673
parent 3337e00d1a8e1e3e24855120290c25b48f5b303c
author Thibault Polge <[email protected]> 1608545518 +0100
committer Thibault Polge <[email protected]> 1608545655 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEGvgU7mlxxP/uZ0dcQHjVcMIA8U0FAl/gdYcACgkQQHjVcMIA
 8U0IXhAAgcCdN4aYGUTYYNLwNFOrR9jjehPaDXdecOVDVTrYJa7qzd8cq7Z+nQ60
 tNAYHqiGIOR8qJQGl/Hp709UnlKqGP7QG/h5VlrgarkOekzDGlbMjpT5MYZJbUBD
 HJZIz0chJggKP6UFCSGk7Es2z4mr0ufpPlfK6OWYC0q/SPnhZNI4GCE+wtoDvyfi
 dlJZMgS4b6KlhU4kEFKNo8/bbVKfZ+eUiNeDbtwSvlm+z2F99UV+LAtb1t83cSa/
 F+KK+7LEAn7vW5FXv3OfRk6Id1rxEReEnYu/0kXqG1pt28Cmh3YR54sx1SLaoHO1
 iQPshKV6sgoG+z+BjVJq9uWPKx3e/VeIy5txnGdeqpOJb9XKs5od4sOvTEtMhYCE
 T/Y5BK3jO5w5F2L5Wjn8sQOEjKml6fE6Q8OOYQPYvczh9rhv/bu/Rb2WHz9KulTo
 e7eZpk6F2PMqnixVYSe6gahHLGVNwq5G6YtF7Iy+Z0ym1xA5oifZwEe87eX9sari
 BJCYuWD9zjv1mzDX6HjBGl8s0xVOW8HheQmvRUV3+Hl1nSZeNkOSHvURHAl0YPSI
 vLOaRqAO5tKgJjWErrdIfRlJubiZEM5Hggzm/XVuC26jNN38oSW4nywfuaDr7pgE
 5ixgnSNDrKwiDE7baajI2D/UkkJ+wFwu2h+JpsZYonAGgY+DxXI=
 =SdHd
 -----END PGP SIGNATURE-----

Update solaris to caeafc1, configure more themes

I may be missing something here, of course, but afaict there are no issues.

thblt avatar Feb 21 '21 15:02 thblt

I'd like to use the commit posted in the article for comparison:

tree 29ff16c9c14e2652b22f8b78bb08a5a07930c147
parent 206941306e8a8af65b66eaaaea388a7ae24d49a0
author Thibault Polge <[email protected]> 1527025023 +0200
committer Thibault Polge <[email protected]> 1527025044 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEExwXquOM8bWb4Q2zVGxM2FxoLkGQFAlsEjZQACgkQGxM2FxoL
 kGQdcBAAqPP+ln4nGDd2gETXjvOpOxLzIMEw4A9gU6CzWzm+oB8mEIKyaH0UFIPh
 rNUZ1j7/ZGFNeBDtT55LPdPIQw4KKlcf6kC8MPWP3qSu3xHqx12C5zyai2duFZUU
 wqOt9iCFCscFQYqKs3xsHI+ncQb+PGjVZA8+jPw7nrPIkeSXQV2aZb1E68wa2YIL
 3eYgTUKz34cB6tAq9YwHnZpyPx8UJCZGkshpJmgtZ3mCbtQaO17LoihnqPn4UOMr
 V75R/7FjSuPLS8NaZF4wfi52btXMSxO/u7GuoJkzJscP3p4qtwe6Rl9dc1XC8P7k
 NIbGZ5Yg5cEPcfmhgXFOhQZkD0yxcJqBUcoFpnp2vu5XJl2E5I/quIyVxUXi6O6c
 /obspcvace4wy8uO0bdVhc4nJ+Rla4InVSJaUaBeiHTW8kReSFYyMmDCzLjGIu1q
 doU61OM3Zv1ptsLu3gUE6GU27iWYj2RWN3e3HE4Sbd89IFwLXNdSuM0ifDLZk7AQ
 WBhRhipCCgZhkj9g2NEk7jRVslti1NdN5zoQLaJNqSwO1MtxTmJ15Ksk3QP6kfLB
 Q52UWybBzpaP9HEd4XnR+HuQ4k2K0ns2KgNImsNvIyFwbpMUyUWLMPimaV1DWUXo
 5SBjDB/V/W2JBFR+XKHFJeFwYhj7DD/ocsGr4ZMx/lgc8rjIBkI=
 =lgTX
 -----END PGP SIGNATURE-----

Create first draft

As you can see there is no additional space between the line gpgsig -----BEGIN PGP SIGNATURE-----\n and line iQIzBAABCAAdFiEExwXquOM8bWb4Q2zVGxM2FxoLkGQFAlsEjZQACgkQGxM2FxoL\n. I think there is a typo in the article.

nguyenminh-phuc avatar Feb 22 '21 03:02 nguyenminh-phuc

Ha, you're right, there's a missing space here. That's probably because my text editor is configured to remove all trailing space before saving. I believe I should just remove the whole gpgsig which isn't really useful here. Thanks again!

thblt avatar Feb 22 '21 18:02 thblt