Open andrey-utkin opened 2 years ago
@andrey-utkin Our release process is described in the docs/develop/release-workflow.adoc
. Basically, all PRs target master, and then on release all needed commits are checrry-picked from the master to the release/0.x
branch. That gives flexibility to include only required commits to the dot release, reorder them, and so on. Say, we did release v0.16.0, then add bunch of commits to the master, and then need to release critical update via v0.16.1 which should not include all the other changes.
However, we are always open for the discussion on improving the process and sharing the experience on subject :)
Thanks for explaining the reasoning behind it.
So we're doing a "v0.x
stable branch", and supposedly at the point of v1.0 we'd branch it off master?
That should work.
What troubles me then is that in our case the divergence is almost 5 years old, and there are many slight differences in many source files and tests, and most concerningly, the great suite of CI checks runs all the time on master (due to pull request work), not on release branch, so we have fewer opportunities to spot flakiness in releases. We don't run daily CI on release branch, do we?
I accept that I might be overly cautious.
So we're doing a "v0.x stable branch", and supposedly at the point of v1.0 we'd branch it off master?
Correct, for major releases we'll do another branch so we could be able to merge critical issues to the previous versions.
We don't run daily CI on release branch, do we?
Actually, we do - commits to the release branch are made via the PR to the corresponding branch (see this one for example: https://github.com/rnpgp/rnp/pull/1742 ). This is controlled via the following lines in Github Workflows:
on:
push:
branches:
- master
- 'release/**'
I mean, full CI doesn't run and get reviewed on current releases every day, or nearly as often as on master.
I mean, full CI doesn't run and get reviewed on current releases every day, or nearly as often as on master.
Ah, got it. But what sort of flakiness may happen in such case (except updates to the dependencies/CI runners) ?
But what sort of flakiness may happen in such case (except updates to the dependencies/CI runners) ?
My point is, you transfer (backport) select changes, and transfer your expectations about the effects onto a slightly different codebase. It's my entire point is that we let master and a fresh release be not equivalent but to be descendants of long-diverged ancestry lines.
These transferred expectations may work, but sometimes they may break.
This is a known failure mode of backporting. I can't find links now, but there's been a documented case when Debian package maintainer received an upstream (Grafana?) advisory, backported a codebase patch but disregarded a dependency update, because version updates are against backporting procedure. But the dependency update was crucial in making the patch work as intended. And then appropriate testing didn't happen to ensure the backport actually mitigates the issue.
The moral lesson is, you never know if you've done it well in all possible senses if you went your own way rather than replicated stuff exactly.
Thanks for the detailed explanation. So, adding/configuring some CI runners on the release branch every few days sounds like a solution? Or do you have a better idea? cc @ronaldtse
Regular CI runners on the release branch would be great, and indeed would address some of the concerns. The concern which remains is, the test suite itself is slightly different between master and the release branches, isn't it? Ultimately the premise that the separate releases lineage is somehow better for shipping is not justified IMHO. (If it's better for shipping, then why developers are not working on top of it day to day? What are testable requirements which release branch satisfies but master doesn't?)
Ok, I created an issue #1800 for this.
The concern which remains is, the test suite itself is slightly different between master and the release branches, isn't it?
Usually any PR also includes tests for the new functionality, so things which are picked to the release branch also includes tests for those.
There's still a lot of difference in src/tests/
:
https://github.com/rnpgp/rnp/compare/v0.16.0...ba9bd83b76edddce4a02036465036e7f52d960ee?diff=unified#files_bucket
It's too much for me to trust that they are functionally equivalent.
git diff --stat v0.16.0...ba9bd83b76edddce4a02036465036e7f52d960ee -- src/tests
src/tests/CMakeLists.txt | 256 +-
src/tests/cipher.cpp | 947 +-
src/tests/cipher_cxx.cpp | 259 +
src/tests/cli.cpp | 841 ++
src/tests/cli_common.py | 168 +-
src/tests/cli_perf.py | 100 +-
src/tests/cli_tests.py | 2568 +++-
src/tests/data/.gitattributes | 19 +
.../GnuPG_dsa_elgamal_1024_1024-sec.gpg | 50 +-
.../GnuPG_dsa_elgamal_1024_1024.gpg | Bin 977 -> 965 bytes
.../GnuPG_dsa_elgamal_1024_2048-sec.gpg | 61 +-
.../GnuPG_dsa_elgamal_1024_2048.gpg | Bin 1233 -> 1221 bytes
.../GnuPG_dsa_elgamal_1234_1234-sec.gpg | 58 +-
.../GnuPG_dsa_elgamal_1234_1234.gpg | Bin 1169 -> 1157 bytes
.../GnuPG_dsa_elgamal_2048_2048-sec.gpg | 80 +-
.../GnuPG_dsa_elgamal_2048_2048.gpg | Bin 1677 -> 1665 bytes
.../GnuPG_dsa_elgamal_2112_2112-sec.gpg | 82 +-
.../GnuPG_dsa_elgamal_2112_2112.gpg | Bin 1717 -> 1705 bytes
.../GnuPG_dsa_elgamal_3072_3072-sec.gpg | 107 +-
.../GnuPG_dsa_elgamal_3072_3072.gpg | Bin 2317 -> 2305 bytes
.../cli_EncryptSign/GnuPG_rsa_1024_1024-sec.gpg | 65 +-
.../data/cli_EncryptSign/GnuPG_rsa_1024_1024.gpg | Bin 734 -> 722 bytes
.../cli_EncryptSign/GnuPG_rsa_2048_2048-sec.gpg | 113 +-
.../data/cli_EncryptSign/GnuPG_rsa_2048_2048.gpg | Bin 1250 -> 1238 bytes
.../cli_EncryptSign/GnuPG_rsa_3072_3072-sec.gpg | 161 +-
.../data/cli_EncryptSign/GnuPG_rsa_3072_3072.gpg | Bin 1762 -> 1750 bytes
.../cli_EncryptSign/GnuPG_rsa_4096_4096-sec.gpg | 209 +-
.../data/cli_EncryptSign/GnuPG_rsa_4096_4096.gpg | Bin 2274 -> 2262 bytes
src/tests/data/cli_EncryptSign/regenerate_keys | 27 +-
.../issue1188/armored_revocation_signature.pgp | 12 +
src/tests/data/keyrings/1/pubring.gpg.asc | 67 +
src/tests/data/keyrings/3/pubring.kbx | Bin 1435 -> 1435 bytes
src/tests/data/keyrings/6/pubring.gpg | Bin 0 -> 1201 bytes
src/tests/data/keyrings/6/secring.gpg | Bin 0 -> 2503 bytes
src/tests/data/test_cli/hello.txt | 2 +
.../A56DC8DB8355747A809037459B4258B8A743EAB5.key | Bin 0 -> 352 bytes
.../FC81AECE90BCE6E54D0D637D266109783AC8DAC0.key | Bin 0 -> 352 bytes
src/tests/data/test_cli_g10_defkey/g10/pubring.kbx | Bin 0 -> 13254 bytes
src/tests/data/test_cli_rnpkeys/g10_list_keys | 72 +
.../data/test_cli_rnpkeys/g10_list_keys_no_bp | 72 +
src/tests/data/test_cli_rnpkeys/g10_list_keys_sec | 66 +
.../data/test_cli_rnpkeys/g10_list_keys_sec_no_bp | 66 +
src/tests/data/test_cli_rnpkeys/getkey_00000000 | 1 +
.../data/test_cli_rnpkeys/getkey_2fcadf05ffa501bb | 12 +
.../test_cli_rnpkeys/getkey_2fcadf05ffa501bb_sec | 12 +
.../getkey_2fcadf05ffa501bb_sec_y2k38 | 12 +
.../test_cli_rnpkeys/getkey_2fcadf05ffa501bb_sig | 15 +
.../getkey_2fcadf05ffa501bb_sig_y2k38 | 15 +
.../test_cli_rnpkeys/getkey_2fcadf05ffa501bb_y2k38 | 12 +
src/tests/data/test_cli_rnpkeys/getkey_zzzzzzzz | 1 +
.../data/test_cli_rnpkeys/keyring_1_list_keys | 24 +
.../data/test_cli_rnpkeys/keyring_1_list_keys_sec | 24 +
.../test_cli_rnpkeys/keyring_1_list_keys_sec_y2k38 | 24 +
.../test_cli_rnpkeys/keyring_1_list_keys_y2k38 | 24 +
.../data/test_cli_rnpkeys/keyring_1_list_sigs | 30 +
.../data/test_cli_rnpkeys/keyring_1_list_sigs_sec | 30 +
.../test_cli_rnpkeys/keyring_1_list_sigs_sec_y2k38 | 30 +
.../test_cli_rnpkeys/keyring_1_list_sigs_y2k38 | 30 +
.../data/test_cli_rnpkeys/keyring_2_list_keys | 6 +
.../data/test_cli_rnpkeys/keyring_2_list_sigs | 7 +
.../data/test_cli_rnpkeys/keyring_3_list_keys | 8 +
.../test_cli_rnpkeys/keyring_3_list_keys_y2k38 | 8 +
.../data/test_cli_rnpkeys/keyring_3_list_sigs | 9 +
.../test_cli_rnpkeys/keyring_3_list_sigs_y2k38 | 9 +
.../data/test_cli_rnpkeys/keyring_5_list_keys | 8 +
.../data/test_cli_rnpkeys/keyring_5_list_sigs | 9 +
.../pubring-malf-cert-permissive-import.txt | 29 +
.../pubring-malf-cert-permissive-import.txt_y2k38 | 29 +
.../test_cli_rnpkeys/test_stream_key_load_keys | 72 +
.../test_stream_key_load_keys_no_bp | 72 +
.../test_cli_rnpkeys/test_stream_key_load_keys_sec | 66 +
.../test_cli_rnpkeys/test_stream_key_load_sigs | 84 +
.../test_stream_key_load_sigs_no_bp | 84 +
.../test_cli_rnpkeys/test_stream_key_load_sigs_sec | 77 +
.../data/test_ffi_json/generate-pair-dsa-elg.json | 11 +
src/tests/data/test_ffi_json/generate-pair.json | 1 -
.../test_forged_keys/dsa-eg-pub-forged-key.pgp | Bin 0 -> 1881 bytes
.../dsa-eg-pub-forged-material.pgp | Bin 0 -> 1881 bytes
.../test_forged_keys/dsa-eg-pub-forged-subkey.pgp | Bin 0 -> 1881 bytes
src/tests/data/test_forged_keys/dsa-eg-pub.pgp | Bin 0 -> 1881 bytes
.../test_forged_keys/ecc-25519-pub-forged-key.pgp | Bin 0 -> 214 bytes
.../ecc-25519-pub-forged-material.pgp | Bin 0 -> 214 bytes
.../ecc-25519-pub-future-cert-malf-bind.pgp | Bin 0 -> 604 bytes
.../test_forged_keys/ecc-25519-pub-future-cert.pgp | Bin 0 -> 604 bytes
src/tests/data/test_forged_keys/ecc-25519-pub.pgp | Bin 0 -> 214 bytes
.../test_forged_keys/ecc-p256-pub-expired-key.pgp | Bin 0 -> 460 bytes
.../ecc-p256-pub-expired-subkey.pgp | Bin 0 -> 460 bytes
.../test_forged_keys/ecc-p256-pub-forged-key.pgp | Bin 0 -> 454 bytes
.../ecc-p256-pub-forged-material.pgp | Bin 0 -> 454 bytes
.../ecc-p256-pub-forged-subkey.pgp | Bin 0 -> 454 bytes
.../test_forged_keys/ecc-p256-pub-no-binding.pgp | Bin 0 -> 332 bytes
.../ecc-p256-pub-no-cert-malf-binding.pgp | Bin 0 -> 304 bytes
.../ecc-p256-pub-no-certification.pgp | Bin 0 -> 304 bytes
src/tests/data/test_forged_keys/ecc-p256-pub.pgp | Bin 0 -> 454 bytes
.../test_forged_keys/ecc-p256-sec-expired-key.pgp | Bin 0 -> 626 bytes
.../ecc-p256-sec-expired-subkey.pgp | Bin 0 -> 626 bytes
src/tests/data/test_forged_keys/ecc-p256-sec.pgp | Bin 0 -> 620 bytes
.../test_forged_keys/rsa-rsa-pub-forged-key.pgp | Bin 0 -> 1719 bytes
.../rsa-rsa-pub-forged-material.pgp | Bin 0 -> 1719 bytes
.../test_forged_keys/rsa-rsa-pub-forged-subkey.pgp | Bin 0 -> 1719 bytes
.../test_forged_keys/rsa-rsa-pub-future-key.pgp | Bin 0 -> 1201 bytes
src/tests/data/test_forged_keys/rsa-rsa-pub.pgp | Bin 0 -> 1719 bytes
.../test_forged_keys/rsa-rsa-sec-future-key.pgp | Bin 0 -> 2594 bytes
src/tests/data/test_forged_keys/rsa-rsa-sec.pgp | Bin 0 -> 3753 bytes
...z-testcase-minimized-fuzz_dump-5757362284265472 | Bin 0 -> 93740 bytes
...imeout-7e498daecad7ee646371a466d4a317c59fe7db89 | Bin 0 -> 19194 bytes
.../crash_25f06f13b48d58a5faf6c36fae7fcbd958359199 | Bin 0 -> 1105 bytes
.../crash_37e8ed57ee47c1991b387fa0506f361f9cd9c663 | Bin 0 -> 1312 bytes
.../crash_e932261875271ccf497715de56adf7caf30ca8a7 | 3 +
.../leak_11307b70cc609c93fc3a49d37f3a31166df50f44 | Bin 0 -> 60 bytes
.../leak_371b211d7e9cf9857befcf06c7da74835e249ee7 | Bin 0 -> 83 bytes
...imeout_9c10372fe9ebdcdb0b6e275d05f8af4f4e3d6051 | Bin 0 -> 726 bytes
.../crash-7ff10f10a95b78461d6f3578f5f99e870c792b9f | Bin 0 -> 41 bytes
.../crash-8619144979e56d07ab4890bf564b90271ae9b1c9 | Bin 0 -> 56 bytes
.../leak-542d4e51506e3e9d34c9b243e608a964dabfdb21 | Bin 0 -> 540 bytes
.../leak-5ee77f7ae99d7815d069afe037c42f4887193215 | Bin 0 -> 81 bytes
.../crash_4ec166859e821aee27350dcde3e9c06b07a677f7 | 1 +
.../crash_c9cabce6f8d7b36fde0306c86ce81c4f554cbd2a | 1 +
.../crash-5526a2e13255018c857ce493c28ce7108b8b2987 | Bin 0 -> 32 bytes
.../crash-b894a2f79f7d38a16ae0ee8d74972336aa3f5798 | Bin 0 -> 150 bytes
.../leak-52c65c00b53997178f4cd9defa0343573ea8dda6 | Bin 0 -> 361 bytes
.../leak-b02cd1c6b70c10a8a673a34ba3770b39468b7ddf | Bin 0 -> 481 bytes
...imeout-821848a7b6b667fc41e5ff130415b3efd22ed118 | Bin 0 -> 47498 bytes
...imeout-25b8c9d824c8eb492c827689795748298a2b0a46 | Bin 0 -> 12874 bytes
...imeout-c2aff538c73b447bca689005e9762840b5a022d0 | Bin 0 -> 39966 bytes
...minimized-fuzz_verify_detached-5092660526972928 | Bin 0 -> 263676 bytes
...mory-23094cb781b2cf6d1749ebac8bd0576e51440498-z | Bin 0 -> 466 bytes
...memory-dea88a4aa4ab5fec1291446db702ee893d5559cf | Bin 0 -> 742567 bytes
.../test_key_edge_cases/alice-2-keys-same-grip.pgp | Bin 0 -> 858 bytes
.../test_key_edge_cases/alice-2-subs-same-grip.pgp | Bin 0 -> 640 bytes
.../alice-3-uids-primary-boris.pgp | Bin 0 -> 930 bytes
.../alice-3-uids-primary-expiring.pgp | Bin 0 -> 948 bytes
.../data/test_key_edge_cases/alice-3-uids.pgp | Bin 0 -> 927 bytes
.../test_key_edge_cases/alice-rev-no-reason.pgp | Bin 0 -> 337 bytes
.../test_key_edge_cases/alice-s2k-101-1-subs.pgp | Bin 0 -> 925 bytes
.../alice-s2k-101-2-card-len.pgp | Bin 0 -> 942 bytes
.../test_key_edge_cases/alice-s2k-101-2-card.pgp | Bin 0 -> 942 bytes
.../data/test_key_edge_cases/alice-s2k-101-3.pgp | Bin 0 -> 925 bytes
.../test_key_edge_cases/alice-s2k-101-unknown.pgp | Bin 0 -> 925 bytes
.../test_key_edge_cases/alice-sig-misc-values.pgp | Bin 0 -> 1051 bytes
.../alice-sub-rev-no-reason.pgp | Bin 0 -> 1096 bytes
.../data/test_key_edge_cases/alice-sub-sig-fp.pgp | Bin 0 -> 512 bytes
.../test_key_edge_cases/alice-sub-sig-keyid.pgp | Bin 0 -> 489 bytes
.../alice-wrong-mpi-bit-count.pgp | Bin 0 -> 218 bytes
.../key-25519-non-tweaked-sec-prot.asc | 14 +
.../key-25519-non-tweaked-sec.asc | 13 +
.../test_key_edge_cases/key-25519-non-tweaked.asc | 11 +
.../test_key_edge_cases/key-25519-tweaked-sec.asc | 13 +
.../key-25519-tweaked-wrong-crc.asc | 13 +
.../test_key_edge_cases/key-binding-hash-alg.asc | 14 +
.../key-create-expiry-32bit.asc | 12 +
.../key-critical-notations-sec.pgp | Bin 0 -> 633 bytes
.../test_key_edge_cases/key-critical-notations.pgp | Bin 0 -> 467 bytes
.../test_key_edge_cases/key-eddsa-small-x-pub.asc | 11 +
.../test_key_edge_cases/key-eddsa-small-x-sec.asc | 14 +
.../data/test_key_edge_cases/key-eg-4096-pub.pgp | Bin 0 -> 2138 bytes
.../data/test_key_edge_cases/key-eg-4096-sec.pgp | Bin 0 -> 2330 bytes
.../key-eg-small-subgroup-pub.pgp | Bin 0 -> 1870 bytes
.../key-eg-small-subgroup-sec-enc.pgp | Bin 0 -> 2260 bytes
.../key-eg-small-subgroup-sec.pgp | Bin 0 -> 2168 bytes
.../data/test_key_edge_cases/key-empty-packets.pgp | Bin 0 -> 6 bytes
.../data/test_key_edge_cases/key-empty-packets.txt | 1 +
.../data/test_key_edge_cases/key-empty-uid-raw.txt | 91 +
.../data/test_key_edge_cases/key-empty-uid.json | 170 +
.../data/test_key_edge_cases/key-empty-uid.pgp | Bin 0 -> 201 bytes
.../data/test_key_edge_cases/key-empty-uid.txt | 43 +
.../key-expired-cert-direct.pgp | Bin 0 -> 781 bytes
.../data/test_key_edge_cases/key-malf-sig.json | 45 +
.../data/test_key_edge_cases/key-malf-sig.pgp | Bin 0 -> 201 bytes
.../data/test_key_edge_cases/key-malf-sig.txt | 15 +
.../key-primary-uid-conflict-pub.pgp | Bin 0 -> 548 bytes
.../key-primary-uid-conflict-sec.pgp | Bin 0 -> 714 bytes
.../data/test_key_edge_cases/key-rsa-2001-pub.asc | 26 +
.../data/test_key_edge_cases/key-rsa-2001-sec.asc | 50 +
src/tests/data/test_key_edge_cases/key-sec.asc | 11 +
.../data/test_key_edge_cases/key-sub-0-expiry.pgp | Bin 0 -> 408 bytes
.../test_key_edge_cases/key-sub-crit-note-pub.pgp | Bin 0 -> 479 bytes
.../test_key_edge_cases/key-sub-crit-note-sec.pgp | Bin 0 -> 645 bytes
.../test_key_edge_cases/key-subpacket-101-110.json | 250 +
.../test_key_edge_cases/key-subpacket-101-110.pgp | Bin 0 -> 246 bytes
.../test_key_edge_cases/key-subpacket-101-110.txt | 63 +
.../test_key_edge_cases/key-unhashed-subpkts.pgp | Bin 0 -> 2017 bytes
.../data/test_key_edge_cases/pubring-malf-cert.pgp | Bin 0 -> 3535 bytes
.../pubring-malf-key0-sub0-bind.pgp | Bin 0 -> 3535 bytes
.../test_key_edge_cases/pubring-malf-key0-sub0.pgp | Bin 0 -> 3535 bytes
.../data/test_key_edge_cases/pubring-malf-key0.pgp | Bin 0 -> 3535 bytes
.../data/test_key_edge_cases/secring-malf-key0.pgp | Bin 0 -> 4909 bytes
.../data/test_key_edge_cases/secring-malf-key1.pgp | Bin 0 -> 4909 bytes
src/tests/data/test_key_validity/CMakeLists.txt | 25 +
src/tests/data/test_key_validity/alice-cert.pgp | Bin 0 -> 146 bytes
.../test_key_validity/alice-expired-claus-cert.asc | 12 +
src/tests/data/test_key_validity/alice-pub.asc | 9 +
src/tests/data/test_key_validity/alice-rev.pgp | 8 +
.../data/test_key_validity/alice-revoker-sig.asc | 8 +
.../data/test_key_validity/alice-revoker-sig.pgp | Bin 0 -> 146 bytes
src/tests/data/test_key_validity/alice-revoker.pgp | Bin 0 -> 868 bytes
src/tests/data/test_key_validity/alice-sec.asc | 11 +
.../test_key_validity/alice-sign-sub-exp-pub.asc | 14 +
.../test_key_validity/alice-sign-sub-exp-sec.asc | 17 +
.../data/test_key_validity/alice-sign-sub-pub.pgp | Bin 0 -> 540 bytes
.../data/test_key_validity/alice-sign-sub-sec.pgp | Bin 0 -> 706 bytes
.../data/test_key_validity/alice-sigs-malf.pgp | Bin 0 -> 268 bytes
src/tests/data/test_key_validity/alice-sigs.asc | 16 +
src/tests/data/test_key_validity/alice-sigs.pgp | Bin 0 -> 268 bytes
src/tests/data/test_key_validity/alice-sub-pub.pgp | Bin 0 -> 429 bytes
src/tests/data/test_key_validity/alice-sub-sec.pgp | Bin 0 -> 595 bytes
src/tests/data/test_key_validity/basil-pub.asc | 10 +
src/tests/data/test_key_validity/basil-sec.asc | 11 +
src/tests/data/test_key_validity/case1/pubring.gpg | Bin 0 -> 337 bytes
.../data/test_key_validity/case10/pubring.gpg | Bin 0 -> 554 bytes
.../data/test_key_validity/case11/pubring.gpg | Bin 0 -> 701 bytes
.../data/test_key_validity/case12/pubring.gpg | Bin 0 -> 701 bytes
.../data/test_key_validity/case13/pubring.gpg | Bin 0 -> 701 bytes
.../data/test_key_validity/case14/pubring.gpg | Bin 0 -> 695 bytes
.../data/test_key_validity/case15/pubring.gpg | Bin 0 -> 525 bytes
src/tests/data/test_key_validity/case2/pubring.gpg | Bin 0 -> 705 bytes
src/tests/data/test_key_validity/case3/pubring.gpg | Bin 0 -> 559 bytes
src/tests/data/test_key_validity/case4/pubring.gpg | Bin 0 -> 429 bytes
.../data/test_key_validity/case5/CMakeLists.txt | 38 +
.../data/test_key_validity/case5/generate.cpp | 160 +
src/tests/data/test_key_validity/case5/pubring.gpg | Bin 0 -> 678 bytes
src/tests/data/test_key_validity/case6/pubring.gpg | Bin 0 -> 551 bytes
src/tests/data/test_key_validity/case7/pubring.gpg | Bin 0 -> 569 bytes
src/tests/data/test_key_validity/case8/message.txt | 3 +
.../data/test_key_validity/case8/message.txt.asc | 17 +
src/tests/data/test_key_validity/case8/primary.pgp | Bin 0 -> 53 bytes
src/tests/data/test_key_validity/case8/pubring.gpg | Bin 0 -> 375 bytes
.../data/test_key_validity/case8/subkey-no-sig.pgp | Bin 0 -> 81 bytes
src/tests/data/test_key_validity/case8/subkey.pgp | Bin 0 -> 322 bytes
src/tests/data/test_key_validity/case9/pubring.gpg | Bin 0 -> 581 bytes
src/tests/data/test_key_validity/cases.txt | 77 +
src/tests/data/test_key_validity/claus-pub.asc | 10 +
src/tests/data/test_key_validity/claus-sec.asc | 11 +
.../data/test_key_validity/encrypting-primary.pgp | 41 +
.../test_key_validity/rsa_key_small_sig-pub.asc | 26 +
.../test_key_validity/rsa_key_small_sig-sec.asc | 48 +
.../data/test_large_MPIs/message.enc.rsa16384.pgp | Bin 0 -> 2240 bytes
.../data/test_large_MPIs/message.enc.rsa16385.pgp | Bin 0 -> 2240 bytes
.../data/test_large_MPIs/rsa-priv-16384bits.pgp | Bin 0 -> 18673 bytes
.../data/test_large_MPIs/rsa-priv-16385bits.pgp | Bin 0 -> 18673 bytes
.../data/test_large_MPIs/rsa-pub-16384bits.pgp | Bin 0 -> 8411 bytes
.../data/test_large_MPIs/rsa-pub-16385bits.pgp | Bin 0 -> 8411 bytes
.../data/test_large_MPIs/rsa-pub-65535bits.pgp | Bin 0 -> 8208 bytes
.../rsa-pub-65535bits.pgp.16385sig.sig | Bin 0 -> 2108 bytes
.../data/test_large_MPIs/rsa-pub-65535bits.pgp.sig | Bin 0 -> 2108 bytes
src/tests/data/test_large_packet/4g.bzip2.gpg | Bin 0 -> 3349 bytes
src/tests/data/test_list_packets/ecc-p256-pub.asc | 14 +
src/tests/data/test_list_packets/list_all.txt | 152 +
src/tests/data/test_list_packets/list_grips.txt | 81 +
src/tests/data/test_list_packets/list_json.txt | 270 +
src/tests/data/test_list_packets/list_json_all.txt | 299 +
.../data/test_list_packets/list_json_grips.txt | 274 +
src/tests/data/test_list_packets/list_json_mpi.txt | 276 +
src/tests/data/test_list_packets/list_json_raw.txt | 289 +
src/tests/data/test_list_packets/list_mpi.txt | 77 +
src/tests/data/test_list_packets/list_raw.txt | 148 +
src/tests/data/test_list_packets/list_standard.txt | 77 +
src/tests/data/test_messages/data.enc.small-rsa | 10 +
.../data/test_messages/expired_signing_key-pub.asc | 12 +
.../data/test_messages/expired_signing_key-sec.asc | 13 +
.../data/test_messages/expired_signing_sub-pub.asc | 16 +
.../data/test_messages/expired_signing_sub-sec.asc | 18 +
src/tests/data/test_messages/future.pgp | Bin 0 -> 469 bytes
src/tests/data/test_messages/message-32k-crlf.txt | 738 ++
.../data/test_messages/message-32k-crlf.txt.gpg | Bin 0 -> 2847 bytes
.../data/test_messages/message-32k-crlf.txt.sig | Bin 0 -> 181 bytes
.../data/test_messages/message-trailing-cr.txt | 3 +
.../test_messages/message-trailing-cr.txt.sig-text | Bin 0 -> 181 bytes
src/tests/data/test_messages/message.4k-long-lines | 16 +
.../data/test_messages/message.4k-long-lines.asc | 27 +
.../test_messages/message.aead-last-zero-chunk.enc | Bin 0 -> 32426 bytes
.../test_messages/message.aead-last-zero-chunk.txt | 1243 ++
.../test_messages/message.compr-encr.31-rounds | 45 +
.../test_messages/message.compr-encr.32-rounds | 51 +
.../data/test_messages/message.compr.128-rounds | 320 +
src/tests/data/test_messages/message.enc-password | Bin 0 -> 12752 bytes
src/tests/data/test_messages/message.sig.asc.malf | 9 +
src/tests/data/test_messages/message.text-sig-crcr | 703 ++
.../data/test_messages/message.text-sig-crcr.sig | Bin 0 -> 130 bytes
src/tests/data/test_messages/message.txt | 3 +
.../data/test_messages/message.txt.cleartext-malf | 15 +
.../data/test_messages/message.txt.cleartext-nosig | 8 +
.../test_messages/message.txt.cleartext-signed | 15 +
src/tests/data/test_messages/message.txt.crlf | 3 +
src/tests/data/test_messages/message.txt.empty.sig | Bin 0 -> 227 bytes
.../data/test_messages/message.txt.enc-3key-2p | Bin 0 -> 826 bytes
.../data/test_messages/message.txt.enc-aead-eax | Bin 0 -> 468 bytes
.../test_messages/message.txt.enc-aead-eax-malf | Bin 0 -> 468 bytes
.../data/test_messages/message.txt.enc-aead-ocb | 1 +
.../test_messages/message.txt.enc-aead-ocb-malf | 1 +
.../data/test_messages/message.txt.enc-eg-bad | Bin 0 -> 699 bytes
.../data/test_messages/message.txt.enc-eg-bad2 | Bin 0 -> 699 bytes
.../data/test_messages/message.txt.enc-malf-1 | Bin 0 -> 325 bytes
.../data/test_messages/message.txt.enc-malf-2 | Bin 0 -> 326 bytes
.../data/test_messages/message.txt.enc-malf-3 | Bin 0 -> 326 bytes
.../data/test_messages/message.txt.enc-malf-4 | Bin 0 -> 327 bytes
.../data/test_messages/message.txt.enc-malf-5 | Bin 0 -> 325 bytes
src/tests/data/test_messages/message.txt.enc-mdc | Bin 0 -> 320 bytes
.../data/test_messages/message.txt.enc-no-mdc | Bin 0 -> 296 bytes
.../data/test_messages/message.txt.enc-sign-25519 | Bin 0 -> 406 bytes
.../data/test_messages/message.txt.enc-wrong-alg | Bin 0 -> 325 bytes
src/tests/data/test_messages/message.txt.encrypted | Bin 0 -> 325 bytes
src/tests/data/test_messages/message.txt.literal | 3 +
src/tests/data/test_messages/message.txt.marker | Bin 0 -> 523 bytes
.../data/test_messages/message.txt.marker.asc | 14 +
.../data/test_messages/message.txt.marker.malf | Bin 0 -> 525 bytes
src/tests/data/test_messages/message.txt.sig | Bin 0 -> 187 bytes
src/tests/data/test_messages/message.txt.sig-text | Bin 0 -> 181 bytes
src/tests/data/test_messages/message.txt.sig.malf | Bin 0 -> 187 bytes
.../test_messages/message.txt.sig.wrong-mpi-bitlen | Bin 0 -> 187 bytes
.../test_messages/message.txt.sign-small-eddsa-x | Bin 0 -> 160 bytes
src/tests/data/test_messages/message.txt.signed | Bin 0 -> 331 bytes
.../test_messages/message.txt.signed-encrypted | Bin 0 -> 518 bytes
.../test_messages/message.txt.signed-expired-key | Bin 0 -> 265 bytes
.../test_messages/message.txt.signed-expired-sub | Bin 0 -> 265 bytes
.../test_messages/message.txt.signed-md5-after | Bin 0 -> 467 bytes
.../test_messages/message.txt.signed-md5-before | Bin 0 -> 469 bytes
.../data/test_messages/message.txt.signed-no-z | Bin 0 -> 361 bytes
.../test_messages/message.txt.signed-no-z-malf | Bin 0 -> 361 bytes
.../test_messages/message.txt.signed-sha1-after | Bin 0 -> 330 bytes
.../test_messages/message.txt.signed-sha1-before | Bin 0 -> 332 bytes
.../test_messages/message.txt.signed-sym-none-z | 2 +
.../test_messages/message.txt.signed.crit-notation | Bin 0 -> 359 bytes
.../data/test_messages/message.txt.signed.invsig | Bin 0 -> 361 bytes
.../data/test_messages/message.txt.signed.malfsig | Bin 0 -> 361 bytes
.../data/test_messages/message.txt.signed.md5 | Bin 0 -> 330 bytes
.../data/test_messages/message.txt.signed.nosig | Bin 0 -> 174 bytes
.../data/test_messages/message.txt.signed.sha1 | Bin 0 -> 332 bytes
.../data/test_messages/message.txt.signed.unknown | Bin 0 -> 490 bytes
.../data/test_messages/message.wrong-armor.asc | 3 +
src/tests/data/test_messages/message.zlib-quine | Bin 0 -> 180 bytes
src/tests/data/test_messages/message_mdc_8k_1.pgp | Bin 0 -> 131265 bytes
src/tests/data/test_messages/message_mdc_8k_2.pgp | Bin 0 -> 131259 bytes
.../data/test_messages/message_mdc_8k_cut1.pgp | Bin 0 -> 131264 bytes
.../data/test_messages/message_mdc_8k_cut22.pgp | Bin 0 -> 131243 bytes
src/tests/data/test_messages/shattered-1.pdf | Bin 0 -> 422435 bytes
src/tests/data/test_messages/shattered-1.pdf.sig | Bin 0 -> 181 bytes
src/tests/data/test_messages/shattered-2.pdf | Bin 0 -> 422435 bytes
src/tests/data/test_messages/shattered-2.pdf.gpg | Bin 0 -> 381801 bytes
.../test_partial_length/message.txt.partial-1g | Bin 0 -> 1139 bytes
.../test_partial_length/message.txt.partial-256 | Bin 0 -> 724 bytes
.../test_partial_length/message.txt.partial-signed | Bin 0 -> 237 bytes
.../message.txt.partial-zero-last | Bin 0 -> 717 bytes
.../data/test_partial_length/pubring.gpg.partial | Bin 0 -> 3536 bytes
src/tests/data/test_repgp/encrypted_key.gpg | Bin 0 -> 2199 bytes
.../list_key_export_single.txt | 75 +
src/tests/data/test_stream_armor/1024_peek_buf.asc | 52 +
.../64k_whitespace_before_armored_message.asc | 52 +
.../blank_line_with_whitespace.asc | 52 +
.../test_stream_armor/duplicate_header_line.asc | 54 +
.../data/test_stream_armor/empty_header_line.asc | 53 +
.../extra_line_before_trailer.asc | 52 +
.../data/test_stream_armor/long_header_line.asc | 53 +
.../test_stream_armor/long_header_line_1024.asc | 53 +
.../test_stream_armor/long_header_line_64k.asc | 53 +
.../test_stream_armor/long_header_nameline_64k.asc | 53 +
.../data/test_stream_armor/message_64k_oneline.asc | 5 +
.../data/test_stream_armor/too_short_header.asc | 4 +
.../test_stream_armor/wrong_chars_base64_1.asc | 52 +
.../test_stream_armor/wrong_chars_base64_2.asc | 52 +
.../test_stream_armor/wrong_chars_base64_3.asc | 52 +
.../test_stream_armor/wrong_chars_base64_4.asc | 52 +
.../data/test_stream_armor/wrong_chars_crc.asc | 52 +
.../data/test_stream_armor/wrong_chars_header.asc | 52 +
.../data/test_stream_armor/wrong_header_line.asc | 54 +
src/tests/data/test_stream_key_load/dsa-eg-pub.asc | 48 +-
src/tests/data/test_stream_key_load/dsa-eg-sec.asc | 56 +-
.../test_stream_key_load/ecc-25519-photo-pub.asc | 44 +
.../data/test_stream_key_load/ecc-25519-pub.asc | 10 +-
.../data/test_stream_key_load/ecc-25519-sec.asc | 14 +-
.../data/test_stream_key_load/ecc-bp256-pub.asc | 18 +-
.../data/test_stream_key_load/ecc-bp256-sec.asc | 27 +-
.../data/test_stream_key_load/ecc-bp384-pub.asc | 24 +-
.../data/test_stream_key_load/ecc-bp384-sec.asc | 32 +-
.../data/test_stream_key_load/ecc-bp512-pub.asc | 27 +-
.../data/test_stream_key_load/ecc-bp512-sec.asc | 36 +-
.../data/test_stream_key_load/ecc-p256-pub.asc | 20 +-
.../test_stream_key_load/ecc-p256-revoked-key.asc | 17 +
.../test_stream_key_load/ecc-p256-revoked-sub.asc | 17 +
.../test_stream_key_load/ecc-p256-revoked-uid.asc | 20 +
.../data/test_stream_key_load/ecc-p256-sec.asc | 27 +-
.../data/test_stream_key_load/ecc-p256k1-pub.asc | 20 +-
.../data/test_stream_key_load/ecc-p256k1-sec.asc | 27 +-
.../data/test_stream_key_load/ecc-p384-pub.asc | 23 +-
.../data/test_stream_key_load/ecc-p384-sec.asc | 32 +-
.../data/test_stream_key_load/ecc-p521-pub.asc | 27 +-
.../data/test_stream_key_load/ecc-p521-sec.asc | 37 +-
.../data/test_stream_key_load/ecc-x25519-pub.asc | 13 +
.../data/test_stream_key_load/ecc-x25519-sec.asc | 16 +
.../2F25DB025DEBF3EA2715350209B985829B04F50A.key | 2 +
.../48FFED40D018747363BDEFFDD404D1F4870F8064.key | 1 +
.../498B89C485489BA16B40755C0EBA580166393074.key | Bin 0 -> 350 bytes
.../552286BEB2999F0A9E26A50385B90D9724001187.key | Bin 0 -> 1094 bytes
.../5A484F56AB4B8B6583B6365034999F6543FAE1AE.key | 2 +
.../636C983EDB558527BA82780B52CB5DAE011BE46B.key | 2 +
.../797A83FE041FFE06A7F4B1D32C6F4AE0F6D87ADF.key | 3 +
.../9133E4A7E8FC8515518DF444C3F2F247EEBBADEC.key | 3 +
.../940D97D75C306D737A59A98EAFF1272832CEDC0B.key | Bin 0 -> 332 bytes
.../A01BAA22A72F09A0FF0A1D4CBCE70844DD52DDD7.key | Bin 0 -> 357 bytes
.../A1338230AED1C9C125663518470B49056C9D1733.key | Bin 0 -> 401 bytes
.../A56DC8DB8355747A809037459B4258B8A743EAB5.key | Bin 0 -> 352 bytes
.../A5E4CD2CBBE44A16E4D6EC05C2E3C3A599DC763C.key | Bin 0 -> 1607 bytes
.../A77DC8173DA6BEE126F5BD6F5A14E01200B52FCE.key | Bin 0 -> 332 bytes
.../B6BD8B81F75AF914163D97DF8DE8F6FC64C283F8.key | 2 +
.../C1678B7DE5F144C93B89468D5F9764ACE182ED36.key | 3 +
.../CED7034A8EB5F4CE90DF99147EC33D86FCD3296C.key | Bin 0 -> 1069 bytes
.../D148210FAF36468055B83D0F5A6DEB83FBC8E864.key | Bin 0 -> 1607 bytes
.../D91B789603EC9138AA20342A2B6DC86C81B70F5D.key | Bin 0 -> 454 bytes
.../FC81AECE90BCE6E54D0D637D266109783AC8DAC0.key | Bin 0 -> 352 bytes
.../FD048B2CA1919CB241DC8A2C7FA3E742EF343DCA.key | Bin 0 -> 454 bytes
.../data/test_stream_key_load/g10/pubring.kbx | Bin 0 -> 11640 bytes
src/tests/data/test_stream_key_load/key0-sub01.pgp | Bin 0 -> 1702 bytes
src/tests/data/test_stream_key_load/key0-sub02.pgp | Bin 0 -> 2006 bytes
src/tests/data/test_stream_key_load/key0-sub1.pgp | Bin 0 -> 1398 bytes
.../data/test_stream_key_load/rsa-rsa-2-pub.asc | 30 +
.../data/test_stream_key_load/rsa-rsa-2-sec.asc | 59 +
.../data/test_stream_key_load/rsa-rsa-pub.asc | 59 +-
.../data/test_stream_key_load/rsa-rsa-sec.asc | 144 +-
src/tests/data/test_stream_key_merge/key-both.asc | 202 +
.../test_stream_key_merge/key-pub-just-key.pgp | Bin 0 -> 400 bytes
.../key-pub-just-subkey-1.pgp | Bin 0 -> 841 bytes
.../key-pub-just-subkey-2-no-sigs.pgp | Bin 0 -> 817 bytes
.../key-pub-just-subkey-2.pgp | Bin 0 -> 1377 bytes
.../key-pub-no-key-subkey-1.pgp | Bin 0 -> 841 bytes
.../key-pub-subkey-1-no-sigs.pgp | Bin 0 -> 800 bytes
.../test_stream_key_merge/key-pub-subkey-1.pgp | Bin 0 -> 1241 bytes
.../test_stream_key_merge/key-pub-subkey-2.pgp | Bin 0 -> 2259 bytes
.../key-pub-uid-1-no-sigs.pgp | Bin 0 -> 417 bytes
.../data/test_stream_key_merge/key-pub-uid-1.pgp | Bin 0 -> 882 bytes
.../data/test_stream_key_merge/key-pub-uid-2.pgp | Bin 0 -> 882 bytes
src/tests/data/test_stream_key_merge/key-pub.asc | 79 +
src/tests/data/test_stream_key_merge/key-pub.pgp | Bin 0 -> 3582 bytes
.../key-sec-just-subkey-1.pgp | Bin 0 -> 1858 bytes
.../key-sec-just-subkey-2-no-sigs.pgp | Bin 0 -> 900 bytes
.../key-sec-no-uid-no-sigs.pgp | Bin 0 -> 3734 bytes
.../key-sec-uid-1-subkey-1.pgp | Bin 0 -> 3757 bytes
src/tests/data/test_stream_key_merge/key-sec.asc | 123 +
src/tests/data/test_stream_key_merge/key-sec.pgp | Bin 0 -> 5699 bytes
.../data/test_stream_key_merge/pkt-key-pub.pgp | Bin 0 -> 400 bytes
.../data/test_stream_key_merge/pkt-key-sec.pgp | Bin 0 -> 1417 bytes
.../data/test_stream_key_merge/pkt-sub0-pub.pgp | Bin 0 -> 400 bytes
.../data/test_stream_key_merge/pkt-sub0-sec.pgp | Bin 0 -> 1417 bytes
.../data/test_stream_key_merge/pkt-sub0-sig.pgp | Bin 0 -> 441 bytes
.../data/test_stream_key_merge/pkt-sub1-pub.pgp | Bin 0 -> 817 bytes
.../data/test_stream_key_merge/pkt-sub1-sec.pgp | Bin 0 -> 900 bytes
.../data/test_stream_key_merge/pkt-sub1-sig.pgp | Bin 0 -> 560 bytes
.../data/test_stream_key_merge/pkt-uid0-sig.pgp | Bin 0 -> 465 bytes
src/tests/data/test_stream_key_merge/pkt-uid0.pgp | 1 +
.../data/test_stream_key_merge/pkt-uid1-sig.pgp | Bin 0 -> 465 bytes
src/tests/data/test_stream_key_merge/pkt-uid1.pgp | 1 +
src/tests/data/test_stream_signatures/pub.asc | 42 +-
.../test_stream_signatures/revoked-key-sig.gpg | Bin 0 -> 196 bytes
src/tests/data/test_stream_signatures/sec.asc | 128 +-
.../test_stream_signatures/signature-timestamp.asc | 12 +
.../data/test_stream_signatures/source.txt.sig.asc | 13 +
.../test_stream_signatures/source.txt.text.sig | Bin 0 -> 438 bytes
src/tests/data/test_stream_z/4gb.bzip2.asc | 762 ++
src/tests/data/test_uid_validity/key-expired.pgp | Bin 0 -> 1213 bytes
.../data/test_uid_validity/key-sig-expired.pgp | Bin 0 -> 156 bytes
.../data/test_uid_validity/key-sig-revocation.pgp | Bin 0 -> 145 bytes
.../data/test_uid_validity/key-uid-expired-sig.pgp | Bin 0 -> 397 bytes
.../test_uid_validity/key-uid-prim-expired-sig.pgp | Bin 0 -> 538 bytes
.../test_uid_validity/key-uids-pub-no-expire.pgp | Bin 0 -> 3923 bytes
src/tests/data/test_uid_validity/key-uids-pub.pgp | Bin 0 -> 3929 bytes
.../test_uid_validity/key-uids-revoked-valid.pgp | Bin 0 -> 8166 bytes
src/tests/data/test_uid_validity/key-uids-sec.pgp | Bin 0 -> 4089 bytes
.../test_uid_validity/key-uids-with-invalid.pgp | Bin 0 -> 3929 bytes
.../data/test_validate_key_material/dsa-eg-pub.pgp | Bin 0 -> 1881 bytes
.../data/test_validate_key_material/dsa-eg-sec.pgp | Bin 0 -> 1974 bytes
.../data/test_validate_key_material/dsa-pub.pgp | Bin 0 -> 817 bytes
.../data/test_validate_key_material/dsa-sec.pgp | Bin 0 -> 854 bytes
.../test_validate_key_material/ecdh-p256-sec.pgp | Bin 0 -> 125 bytes
.../test_validate_key_material/ecdsa-p256-sec.pgp | Bin 0 -> 121 bytes
.../test_validate_key_material/ed25519-sec.pgp | Bin 0 -> 90 bytes
.../data/test_validate_key_material/eg-pub.pgp | Bin 0 -> 784 bytes
.../eg-sec-small-group-enc.pgp | Bin 0 -> 1090 bytes
.../eg-sec-small-group.pgp | Bin 0 -> 1044 bytes
.../data/test_validate_key_material/eg-sec.pgp | Bin 0 -> 840 bytes
.../data/test_validate_key_material/readme.txt | 48 +
.../data/test_validate_key_material/rsa-pub.pgp | Bin 0 -> 400 bytes
.../data/test_validate_key_material/rsa-sec.pgp | Bin 0 -> 1371 bytes
.../data/test_validate_key_material/rsa-ssb.pgp | Bin 0 -> 1371 bytes
.../data/test_validate_key_material/rsa-sub.pgp | Bin 0 -> 400 bytes
.../data/test_validate_key_material/x25519-sec.pgp | Bin 0 -> 95 bytes
src/tests/exportkey.cpp | 54 +-
src/tests/ffi-enc.cpp | 969 ++
src/tests/ffi-key-prop.cpp | 281 +
src/tests/ffi-key-sig.cpp | 1498 +++
src/tests/ffi-uid.cpp | 379 +
src/tests/ffi.cpp | 11561 ++++++++++++++++---
src/tests/file-utils.cpp | 73 +
src/tests/fuzz_dump.cpp | 47 +
src/tests/fuzz_keyimport.cpp | 54 +
src/tests/fuzz_keyring.cpp | 51 +
src/tests/fuzz_keyring_g10.cpp | 42 +
src/tests/fuzz_keyring_kbx.cpp | 52 +
src/tests/fuzz_sigimport.cpp | 40 +
src/tests/fuzz_verify.cpp | 43 +
src/tests/fuzz_verify_detached.cpp | 47 +
src/tests/generatekey.cpp | 1685 +--
src/tests/gnupg.py | 36 +-
src/tests/issues/1030.cpp | 77 +
src/tests/issues/1115.cpp | 47 +
src/tests/issues/1171.cpp | 65 +
src/tests/issues/oss-fuzz-25489.cpp | 68 +
src/tests/kbx-nsigs-test.cpp | 137 +
src/tests/key-add-userid.cpp | 197 +-
src/tests/key-grip.cpp | 157 +
src/tests/key-prefs.cpp | 102 +
src/tests/key-protect.cpp | 358 +-
src/tests/key-store-search.cpp | 211 +-
src/tests/key-unlock.cpp | 266 +-
src/tests/key-validate.cpp | 766 ++
src/tests/large-mpi.cpp | 127 +
src/tests/large-packet.cpp | 54 +
src/tests/load-g10.cpp | 112 +-
src/tests/load-pgp.cpp | 955 +-
src/tests/log-switch.cpp | 91 +
src/tests/partial-length.cpp | 228 +
src/tests/pgp-parse.cpp | 201 -
src/tests/pipe.cpp | 105 +
src/tests/rng-randomness.cpp | 53 +
src/tests/rnp.py | 44 +-
src/tests/rnp_tests.cpp | 196 +-
src/tests/rnp_tests.h | 392 +-
src/tests/s2k-iterations.cpp | 103 +
src/tests/streams.cpp | 1834 ++-
src/tests/support.cpp | 955 +-
src/tests/support.h | 164 +-
src/tests/user-prefs.cpp | 137 +-
src/tests/utils-hex2bin.cpp | 68 +
src/tests/utils-list.cpp | 238 -
src/tests/utils-rnpcfg.cpp | 156 +-
533 files changed, 36777 insertions(+), 6248 deletions(-)
@andrey-utkin Sure, there were more then 30 PRs closed and merged into master since v0.16.0 release, including refactoring ones which changed tests code as well.
The above comparison is not master-now vs v0.16.0. It's between what seems to be close to "the same point in time".
commit ba9bd83b76edddce4a02036465036e7f52d960ee
Author: Nickolay Olshevsky <o.nickolay@gmail.com>
AuthorDate: Thu Jan 13 17:26:27 2022 +0200
Commit: Ronald Tse <ronald.tse@ribose.com>
CommitDate: Wed Jan 26 22:29:05 2022 +0800
Update changelog and other text files for the v0.16.0 release.
tag v0.16.0
Tagger: Nickolay Olshevsky <o.nickolay@gmail.com>
TaggerDate: Mon Jan 24 11:29:44 2022 +0200
commit f06439f77e50974e427023f77a459843e46ac682 (tag: v0.16.0, origin/release/0.x)
Author: Nickolay Olshevsky <o.nickolay@gmail.com>
AuthorDate: Thu Jan 13 17:26:27 2022 +0200
Commit: Nickolay Olshevsky <o.nickolay@gmail.com>
CommitDate: Mon Jan 24 11:29:10 2022 +0200
Update changelog and other text files for the v0.16.0 release.
Looks like git --diff
goes crazy here due to mistaligned commit history or so on.
Cloning fresh copies and resetting to corresponding tag/commit gives this output (cutting git stuff):
diff -rq v0.16.0 ba9bd83b76edddce4a02036465036e7f52d960ee
...
Files v0.16.0/src/tests/cli_tests.py and ba9bd83b76edddce4a02036465036e7f52d960ee/src/tests/cli_tests.py differ
Only in ba9bd83b76edddce4a02036465036e7f52d960ee/src/tests/data/test_messages: message.4k-long-lines
Only in ba9bd83b76edddce4a02036465036e7f52d960ee/src/tests/data/test_messages: message.4k-long-lines.asc
Only in ba9bd83b76edddce4a02036465036e7f52d960ee/src/tests/data/test_messages: message.aead-last-zero-chunk.enc
Only in ba9bd83b76edddce4a02036465036e7f52d960ee/src/tests/data/test_messages: message.aead-last-zero-chunk.txt
Only in ba9bd83b76edddce4a02036465036e7f52d960ee/src/tests/data/test_messages: message.enc-password
Only in ba9bd83b76edddce4a02036465036e7f52d960ee/src/tests/data/test_messages: message.text-sig-crcr
Only in ba9bd83b76edddce4a02036465036e7f52d960ee/src/tests/data/test_messages: message.text-sig-crcr.sig
Which pretty aligns with the commit history.
Description
I've just found a nice tool
git-big-picture
and run it overrnp
repo. It has revealed a surprising structure of tags and branches. Basically all the release tags, from the oldest one to the latest v0.16.0, are a chain, and that chain diverges frommaster
branch very early on. But there's no intersection of releases chain and master branch! I've never seen such a structure in practice - what happens normally is that release is stamped directly on master branch, or is branched off of master.Another way to look at this is to run
git show-branch origin/master v0.16.0
. It returns a listing 3369 lines long, the shared ancestor beingI can imagine it being intentional with some reasons behind it, or an overlooked tooling bug, but it does look very unconventional so it may be good to revisit this.
Steps to Reproduce
pip install git-big-picture
git-big-picture -b -t -v firefox -o rnp.svg
in a git workcopygit show-branch origin/master v0.16.0
Expected Behavior
master
branch from different points.master
andv0.16.0
being commit ba9bd83b76edddce4a02036465036e7f52d960eev0.16.0
being a pointer to commit ba9bd83b76edddce4a02036465036e7f52d960eeActual Behavior
See Description section.